@Test
public void testConditionsTypes() {
MockQueryBuilder builder = new MockQueryBuilder();
SelectQuery<Person> query = new GenericSelectQuery<Person, Object>(builder, Person.class);
Person toSearch = query.target();
query.eq(toSearch.getMom().getName(), toSearch.getDad().getName());
query.contains(toSearch.getFriends(), toSearch.getDad());
query.in(toSearch.getMom(), toSearch.getDad().getFriends());
query.like(toSearch.getMom().getName(), toSearch.getDad().getName());
query.gt(toSearch.getMom().getName(), toSearch.getDad().getName());
query.gtEq(toSearch.getMom().getName(), toSearch.getDad().getName());
query.lt(toSearch.getMom().getName(), toSearch.getDad().getName());
query.ltEq(toSearch.getMom().getName(), toSearch.getDad().getName());
query.notEq(toSearch.getMom().getName(), toSearch.getDad().getName());
query.notIn(toSearch.getMom(), toSearch.getDad().getFriends());
query.notContains(toSearch.getMom().getFriends(), toSearch.getDad());
query.notLike(toSearch.getMom().getName(), toSearch.getDad().getName());
query.likeNc(toSearch.getMom().getName(), toSearch.getDad().getName());
query.notLikeNc(toSearch.getMom().getName(), toSearch.getDad().getName());
query.between(query.box(toSearch.getHome().getPrice()), query.box(toSearch.getMom().getHome().getPrice()),
query.box(toSearch.getDad().getHome().getPrice()));
builder.build();
assertEquals(15, builder.getConditionsString().size());
assertEquals("mom.name EQUALS dad.name", builder.getConditionsString().get(0));
assertEquals("friends CONTAINS dad", builder.getConditionsString().get(1));