Search in sources :

Example 71 with Person

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

the class ReactiveTest method testInsertOneToMany.

@Test
public void testInsertOneToMany() throws Exception {
    final Person person = randomPerson();
    data.insert(person).map(new Function<Person, Phone>() {

        @Override
        public Phone apply(Person person) {
            Phone phone1 = randomPhone();
            phone1.setOwner(person);
            return phone1;
        }
    }).flatMap(new Function<Phone, Single<?>>() {

        @Override
        public Single<?> apply(Phone phone) {
            return data.insert(phone);
        }
    }).blockingGet();
    assertTrue(person.getPhoneNumbers().toList().size() == 1);
}
Also used : Function(io.reactivex.functions.Function) Phone(io.requery.test.model.Phone) Person(io.requery.test.model.Person) Test(org.junit.Test)

Example 72 with Person

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

the class ReactiveTest method testQuerySelfObservable.

@Test
public void testQuerySelfObservable() throws Exception {
    final AtomicInteger count = new AtomicInteger();
    data.select(Person.class).get().observableResult().subscribe(new Consumer<Result<Person>>() {

        @Override
        public void accept(Result<Person> persons) {
            count.incrementAndGet();
        }
    });
    data.insert(randomPerson()).blockingGet();
    data.insert(randomPerson()).blockingGet();
    assertEquals(3, count.get());
}
Also used : AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Person(io.requery.test.model.Person) ReactiveResult(io.requery.reactivex.ReactiveResult) Result(io.requery.query.Result) Test(org.junit.Test)

Example 73 with Person

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

the class ReactiveTest method testQuerySelfObservableMap.

@Test
public void testQuerySelfObservableMap() throws Exception {
    final AtomicInteger count = new AtomicInteger();
    Disposable disposable = data.select(Person.class).limit(2).get().observableResult().flatMap(new Function<ReactiveResult<Person>, Observable<Person>>() {

        @Override
        public Observable<Person> apply(ReactiveResult<Person> persons) {
            return persons.observable();
        }
    }).subscribe(new Consumer<Person>() {

        @Override
        public void accept(Person persons) {
            count.incrementAndGet();
        }
    });
    data.insert(randomPerson()).blockingGet();
    data.insert(randomPerson()).blockingGet();
    assertEquals(3, count.get());
    disposable.dispose();
}
Also used : Disposable(io.reactivex.disposables.Disposable) Function(io.reactivex.functions.Function) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Person(io.requery.test.model.Person) ReactiveResult(io.requery.reactivex.ReactiveResult) Test(org.junit.Test)

Example 74 with Person

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

the class ReactiveTest method testDelete.

@Test
public void testDelete() throws Exception {
    Person person = randomPerson();
    data.insert(person).blockingGet();
    data.delete(person).blockingGet();
    Person cached = data.select(Person.class).where(Person.ID.equal(person.getId())).get().firstOrNull();
    assertNull(cached);
}
Also used : Person(io.requery.test.model.Person) Test(org.junit.Test)

Example 75 with Person

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

the class ReactiveTest method testInsert.

@Test
public void testInsert() throws Exception {
    Person person = randomPerson();
    final CountDownLatch latch = new CountDownLatch(1);
    data.insert(person).subscribe(new Consumer<Person>() {

        @Override
        public void accept(Person person) {
            assertTrue(person.getId() > 0);
            Person cached = data.select(Person.class).where(Person.ID.equal(person.getId())).get().first();
            assertSame(cached, person);
            latch.countDown();
        }
    });
    latch.await();
}
Also used : CountDownLatch(java.util.concurrent.CountDownLatch) Person(io.requery.test.model.Person) 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