use of io.requery.test.model.Group in project requery by requery.
the class FunctionalTest method testFindByCompositeKey.
@Test
public void testFindByCompositeKey() {
Group group = new Group();
group.setName("group");
group.setType(GroupType.PRIVATE);
Person person = randomPerson();
person.getGroups().add(group);
data.insert(person);
assertTrue(person.getId() > 0);
// create the composite key
Map<Attribute<Group_Person, Integer>, Integer> map = new LinkedHashMap<>();
map.put(Group_Person.GROUPS_ID, group.getId());
map.put(Group_Person.PERSON_ID, person.getId());
CompositeKey<Group_Person> compositeKey = new CompositeKey<>(map);
Group_Person joined = data.findByKey(Group_Person.class, compositeKey);
assertNotNull(joined);
}
use of io.requery.test.model.Group in project requery by requery.
the class FunctionalTest method testIterateInsertMany.
@Test
public void testIterateInsertMany() {
Person person = randomPerson();
assertTrue(person.getGroups().toList().isEmpty());
HashSet<Group> toAdd = new HashSet<>();
for (int i = 0; i < 10; i++) {
Group group = new Group();
group.setName("Group" + i);
person.getGroups().add(group);
toAdd.add(group);
}
int count = 0;
for (Group g : person.getGroups()) {
assertTrue(toAdd.contains(g));
count++;
}
assertEquals(10, count);
data.insert(person);
}
use of io.requery.test.model.Group in project requery by requery.
the class FunctionalTest method testQueryUnionJoinOnSameEntities.
@Test
public void testQueryUnionJoinOnSameEntities() {
Group group = new Group();
group.setName("Hello!");
data.insert(group);
Person person1 = randomPerson();
person1.setName("Carol");
person1.getGroups().add(group);
data.insert(person1);
Person person2 = randomPerson();
person2.getGroups().add(group);
person2.setName("Bob");
data.insert(person2);
List<Tuple> result = data.select(Person.NAME.as("personName"), Group.NAME.as("groupName")).where(Person.ID.eq(person1.getId())).union().select(Person.NAME.as("personName"), Group.NAME.as("groupName")).where(Person.ID.eq(person2.getId())).orderBy(Person.NAME.as("personName")).get().toList();
System.err.println(result.size());
System.err.println(result.size() == 2);
assertTrue(result.size() == 2);
assertTrue(result.get(0).get("personName").equals("Bob"));
assertTrue(result.get(0).get("groupName").equals("Hello!"));
assertTrue(result.get(1).get("personName").equals("Carol"));
assertTrue(result.get(1).get("groupName").equals("Hello!"));
}
use of io.requery.test.model.Group in project requery by requery.
the class FunctionalTest method testInsertIntoSelectQuery.
@Test
public void testInsertIntoSelectQuery() {
Group group = new Group();
group.setName("Bob");
group.setDescription("Bob's group");
data.insert(group);
int count = data.insert(Person.class, Person.NAME, Person.DESCRIPTION).query(data.select(Group.NAME, Group.DESCRIPTION)).get().first().count();
assertEquals(1, count);
Person p = data.select(Person.class).get().first();
assertEquals("Bob", p.getName());
assertEquals("Bob's group", p.getDescription());
}
use of io.requery.test.model.Group in project requery by requery.
the class FunctionalTest method testManyOrderBy.
@Test
public void testManyOrderBy() {
Group group = new Group();
group.setName("Group");
data.insert(group);
for (int i = 3; i >= 0; i--) {
Person person = randomPerson();
person.setName(new String(Character.toChars(65 + i)));
data.insert(person);
group.getOwners().add(person);
}
data.update(group);
data.refresh(group, Group.OWNERS);
List<Person> list = group.getOwners().toList();
assertEquals("A", list.get(0).getName());
assertEquals("B", list.get(1).getName());
assertEquals("C", list.get(2).getName());
}
Aggregations