@Test
/**
 * tests comparison of multiple properties
 *
 * <p>using 3 properties, compare two beans that have a different value for the second property
 * and the same values for the other two properties</p>
 */
public void testCompare_twoLevels() {

    List propertiesSIB = Arrays.asList(new String[] { "s", "i", "b" });
    BeanPropertyComparator bpc = new BeanPropertyComparator(propertiesSIB);
    A lesser = new A("Same", new Integer(-1), Boolean.valueOf(false));
    B greater = new B("Same", new Integer(1), Boolean.valueOf(false));
    int lessThan = bpc.compare(lesser, greater);
    Assert.assertTrue(lessThan < 0);
    int greaterThan = bpc.compare(greater, lesser);
    Assert.assertTrue(greaterThan > 0);
    int equal = bpc.compare(greater, greater);
    Assert.assertTrue(equal == 0);
}