Search in sources :

Example 1 with Group

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);
}
Also used : Group(io.requery.test.model.Group) Group_Person(io.requery.test.model.Group_Person) CompositeKey(io.requery.proxy.CompositeKey) Attribute(io.requery.meta.Attribute) Person(io.requery.test.model.Person) Group_Person(io.requery.test.model.Group_Person) LinkedHashMap(java.util.LinkedHashMap) Test(org.junit.Test)

Example 2 with Group

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);
}
Also used : Group(io.requery.test.model.Group) Person(io.requery.test.model.Person) Group_Person(io.requery.test.model.Group_Person) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 3 with Group

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!"));
}
Also used : Group(io.requery.test.model.Group) Person(io.requery.test.model.Person) Group_Person(io.requery.test.model.Group_Person) Tuple(io.requery.query.Tuple) Test(org.junit.Test)

Example 4 with Group

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());
}
Also used : Group(io.requery.test.model.Group) Person(io.requery.test.model.Person) Group_Person(io.requery.test.model.Group_Person) Test(org.junit.Test)

Example 5 with Group

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());
}
Also used : Group(io.requery.test.model.Group) Person(io.requery.test.model.Person) Group_Person(io.requery.test.model.Group_Person) Test(org.junit.Test)

Aggregations

Group (io.requery.test.model.Group)11 Test (org.junit.Test)11 Group_Person (io.requery.test.model.Group_Person)9 Person (io.requery.test.model.Person)9 Tuple (io.requery.query.Tuple)3 ArrayList (java.util.ArrayList)2 PersistenceException (io.requery.PersistenceException)1 RollbackException (io.requery.RollbackException)1 Transaction (io.requery.Transaction)1 Attribute (io.requery.meta.Attribute)1 CompositeKey (io.requery.proxy.CompositeKey)1 RowCountException (io.requery.sql.RowCountException)1 StatementExecutionException (io.requery.sql.StatementExecutionException)1 SQLException (java.sql.SQLException)1 HashSet (java.util.HashSet)1 LinkedHashMap (java.util.LinkedHashMap)1