Search in sources :

Example 81 with Person

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

the class FunctionalTest method testFindByKeyDeleteInverse.

@Test
public void testFindByKeyDeleteInverse() {
    Person person = randomPerson();
    Address address = randomAddress();
    person.setAddress(address);
    data.insert(person);
    data.delete(address);
    person = data.findByKey(Person.class, person.getId());
    assertNull(person);
    Address cached = data.findByKey(Address.class, address.getId());
    assertNull(cached);
}
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 82 with Person

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

the class FunctionalTest method testUpdateOneToOneCascade.

@Test
public void testUpdateOneToOneCascade() {
    Address address = randomAddress();
    Person person = randomPerson();
    data.insert(person);
    person.setAddress(address);
    data.update(person);
    assertSame(address.getPerson(), person);
}
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 83 with Person

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

the class FunctionalTest method testInsertOneToManyInverseThroughSet.

@Test
public void testInsertOneToManyInverseThroughSet() {
    Person person = randomPerson();
    data.insert(person);
    Phone phone1 = randomPhone();
    Phone phone2 = randomPhone();
    person.getPhoneNumbers().add(phone1);
    person.getPhoneNumbers().add(phone2);
    data.update(person);
    assertEquals(2, person.getPhoneNumbersSet().size());
    assertTrue(person.getPhoneNumbersSet().containsAll(Arrays.asList(phone1, phone2)));
}
Also used : Phone(io.requery.test.model.Phone) Person(io.requery.test.model.Person) Group_Person(io.requery.test.model.Group_Person) Test(org.junit.Test)

Example 84 with Person

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

the class FunctionalTest method testTransactionRollback.

@Test
public void testTransactionRollback() {
    ArrayList<Integer> ids = new ArrayList<>();
    try (Transaction transaction = data.transaction().begin()) {
        for (int i = 0; i < 10; i++) {
            Person person = randomPerson();
            data.insert(person);
            assertTrue(person.getId() > 0);
            ids.add(person.getId());
            if (i == 5) {
                throw new Exception("rollback...");
            }
        }
        transaction.commit();
    } catch (Exception ignored) {
    }
    for (Integer id : ids) {
        Person p = data.select(Person.class).where(Person.ID.equal(id)).get().firstOrNull();
        assertNull(p);
    }
}
Also used : Transaction(io.requery.Transaction) ArrayList(java.util.ArrayList) Person(io.requery.test.model.Person) Group_Person(io.requery.test.model.Group_Person) RollbackException(io.requery.RollbackException) SQLException(java.sql.SQLException) PersistenceException(io.requery.PersistenceException) Test(org.junit.Test)

Example 85 with Person

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

the class FunctionalTest method testQueryCoalesce.

@Test
public void testQueryCoalesce() {
    Person person = randomPerson();
    person.setName("Carol");
    person.setEmail(null);
    data.insert(person);
    person = randomPerson();
    person.setName("Bob");
    person.setEmail("test@test.com");
    person.setHomepage(null);
    data.insert(person);
    Result<Tuple> result = data.select(Coalesce.coalesce(Person.EMAIL, Person.NAME)).get();
    List<Tuple> list = result.toList();
    List<String> values = new ArrayList<>();
    for (Tuple tuple : list) {
        values.add(tuple.get(0).toString());
    }
    assertEquals(values.size(), 2);
    assertTrue(values.contains("Carol"));
    assertTrue(values.contains("test@test.com"));
}
Also used : ArrayList(java.util.ArrayList) Person(io.requery.test.model.Person) Group_Person(io.requery.test.model.Group_Person) Tuple(io.requery.query.Tuple) Test(org.junit.Test)

Aggregations

Person (io.requery.test.model.Person)120 Test (org.junit.Test)117 Group_Person (io.requery.test.model.Group_Person)75 Phone (io.requery.test.model.Phone)22 ArrayList (java.util.ArrayList)18 Tuple (io.requery.query.Tuple)12 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)10 Result (io.requery.query.Result)8 Address (io.requery.test.model.Address)8 Group (io.requery.test.model.Group)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 Calendar (java.util.Calendar)4 Subscription (rx.Subscription)4 Function (io.reactivex.functions.Function)3 PersistenceException (io.requery.PersistenceException)3