Search in sources :

Example 26 with Person

use of io.requery.test.model.Person in project requery by requery.

the class FunctionalTest method testRefreshMultiple.

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

Example 27 with Person

use of io.requery.test.model.Person in project requery by requery.

the class FunctionalTest method testInsertOneToOne.

@Test
public void testInsertOneToOne() {
    Address address = randomAddress();
    data.insert(address);
    assertTrue(address.getId() > 0);
    Person person = randomPerson();
    data.insert(person);
    person.setAddress(address);
    data.update(person);
    // fetch inverse
    assertSame(address.getPerson(), person);
    // unset
    person.setAddress(null);
}
Also used : Address(io.requery.test.model.Address) Person(io.requery.test.model.Person) Group_Person(io.requery.test.model.Group_Person) Test(org.junit.Test)

Example 28 with Person

use of io.requery.test.model.Person in project requery by requery.

the class FunctionalTest method testDeleteCascadeOneToOne.

@Test
public void testDeleteCascadeOneToOne() {
    Address address = randomAddress();
    data.insert(address);
    int id = address.getId();
    assertTrue(id > 0);
    Person person = randomPerson();
    person.setAddress(address);
    data.insert(person);
    data.delete(person);
    assertNull(address.getPerson());
    assertNull(data.findByKey(Address.class, id));
}
Also used : Address(io.requery.test.model.Address) Person(io.requery.test.model.Person) Group_Person(io.requery.test.model.Group_Person) Test(org.junit.Test)

Example 29 with Person

use of io.requery.test.model.Person 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 30 with Person

use of io.requery.test.model.Person in project requery by requery.

the class FunctionalTest method testQueryRawEntities.

@Test
public void testQueryRawEntities() {
    final int count = 5;
    List<Person> people = new ArrayList<>();
    for (int i = 0; i < count; i++) {
        Person person = randomPerson();
        data.insert(person);
        people.add(person);
    }
    List<Integer> resultIds = new ArrayList<>();
    try (Result<Person> result = data.raw(Person.class, "select * from Person")) {
        List<Person> list = result.toList();
        assertEquals(count, list.size());
        for (int i = 0; i < people.size(); i++) {
            Person person = list.get(i);
            String name = person.getName();
            assertEquals(people.get(i).getName(), name);
            assertEquals(people.get(i).getId(), person.getId());
            resultIds.add(person.getId());
        }
    }
    try (Result<Person> result = data.raw(Person.class, "select * from Person WHERE id IN ?", resultIds)) {
        List<Person> list = result.toList();
        List<Integer> ids = new ArrayList<>(list.size());
        for (Person tuple : list) {
            ids.add(tuple.getId());
        }
        assertEquals(resultIds, ids);
    }
    try (Result<Person> result = data.raw(Person.class, "select * from Person WHERE id = ?", people.get(0))) {
        assertEquals(result.first().getId(), people.get(0).getId());
    }
}
Also used : ArrayList(java.util.ArrayList) Person(io.requery.test.model.Person) Group_Person(io.requery.test.model.Group_Person) Test(org.junit.Test)

Aggregations

Person (io.requery.test.model.Person)127 Test (org.junit.Test)122 Group_Person (io.requery.test.model.Group_Person)80 Phone (io.requery.test.model.Phone)24 ArrayList (java.util.ArrayList)18 Tuple (io.requery.query.Tuple)13 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)10 Group (io.requery.test.model.Group)9 Result (io.requery.query.Result)8 Address (io.requery.test.model.Address)8 HashSet (java.util.HashSet)7 CountDownLatch (java.util.concurrent.CountDownLatch)6 ReactiveResult (io.requery.reactivex.ReactiveResult)5 RxResult (io.requery.rx.RxResult)5 SQLException (java.sql.SQLException)5 Disposable (io.reactivex.disposables.Disposable)4 Function (io.reactivex.functions.Function)4 Calendar (java.util.Calendar)4 Subscription (rx.Subscription)4 PersistenceException (io.requery.PersistenceException)3