@Test public void testQuerySelectWhereIn() { final String name = "Hello!"; Person person = randomPerson(); person.setName(name); data.insert(person); Group group = new Group(); group.setName("Hello!"); data.insert(group); person.getGroups().add(group); data.update(person); Return<Result<Tuple>> groupNames = data.select(Group.NAME).where(Group.NAME.equal(name)); Person p = data.select(Person.class).where(Person.NAME.in(groupNames)).get().first(); assertEquals(p.getName(), name); p = data.select(Person.class).where(Person.NAME.notIn(groupNames)).get().firstOrNull(); assertNull(p); p = data.select(Person.class) .where(Person.NAME.in(Arrays.asList("Hello!", "Other"))) .get() .first(); assertEquals(p.getName(), name); p = data.select(Person.class) .where(Person.NAME.in(Collections.singleton("Hello!"))) .get() .first(); assertEquals(p.getName(), name); assertTrue( data.select(Person.class) .where(Person.NAME.notIn(Collections.singleton("Hello!"))) .get() .toList() .isEmpty()); }
@Test public void testRefreshMultiple() { List<Person> people = new ArrayList<>(); for (int i = 0; i < 10; i++) { Person person = randomPerson(); people.add(person); data.insert(person); } int count = data.update(Person.class).set(Person.NAME, "fff").get().value(); assertEquals(10, count); data.refresh(people); data.refresh(people, Person.NAME); for (Person p : people) { assertEquals("fff", p.getName()); } }