Object[] data = new Object[]{girl, badBoy};
JoinHintResolver jhr = new JoinHintResolver();
Object[] result = jhr.join(data, "girl, boy");
assertEquals(2, result.length);
assertNull(badBoy.girl);
jhr = new JoinHintResolver();
result = jhr.join(data, "boy.girl, boy");
assertEquals(1, result.length);
badBoy = new BadBoy();
data = new Object[]{girl, badBoy, Integer.valueOf(7)};
jhr = new JoinHintResolver();
result = jhr.join(data, "boy.girl, boy, boy.girlId");
assertEquals(1, result.length);
badBoy = new BadBoy();
data = new Object[]{girl, badBoy, Integer.valueOf(7)};
jhr = new JoinHintResolver();
result = jhr.join(data, "boy.girl, boy, girlId");
assertEquals(2, result.length);