Search in sources :

Example 61 with Person

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

the class RxTest method testDelete.

@Test
public void testDelete() throws Exception {
    Person person = randomPerson();
    data.insert(person).flatMap(new Func1<Person, Single<Void>>() {

        @Override
        public Single<Void> call(Person person) {
            return data.delete(person);
        }
    }).toBlocking().value();
    Person cached = data.select(Person.class).where(Person.ID.equal(person.getId())).get().firstOrNull();
    assertNull(cached);
}
Also used : Single(rx.Single) Person(io.requery.test.model.Person) Test(org.junit.Test)

Example 62 with Person

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

the class RxTest method testQueryObservablePull.

@Test
public void testQueryObservablePull() throws Exception {
    for (int i = 0; i < 36; i++) {
        Person person = randomPerson();
        data.insert(person).toBlocking().value();
    }
    final List<Person> people = new ArrayList<>();
    data.select(Person.class).get().toObservable().subscribeOn(Schedulers.immediate()).subscribe(new Subscriber<Person>() {

        @Override
        public void onStart() {
            super.onStart();
            request(10);
        }

        @Override
        public void onCompleted() {
        }

        @Override
        public void onError(Throwable e) {
        }

        @Override
        public void onNext(Person person) {
            //System.out.println("t: " + Thread.currentThread().getName());
            people.add(person);
            if (people.size() % 10 == 0 && people.size() > 1) {
                request(10);
            }
        }
    });
    assertEquals(36, people.size());
}
Also used : ArrayList(java.util.ArrayList) Person(io.requery.test.model.Person) Test(org.junit.Test)

Example 63 with Person

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

the class RxTest method testInsertOneToMany.

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

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

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

Example 64 with Person

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

the class RxTest method testInsert.

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

        @Override
        public void call(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)

Example 65 with Person

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

the class RxTest method testInsertCount.

@Test
public void testInsertCount() throws Exception {
    Person person = randomPerson();
    Observable.just(person).concatMap(new Func1<Person, Observable<Person>>() {

        @Override
        public Observable<Person> call(Person person) {
            return data.insert(person).toObservable();
        }
    });
    Person p = data.insert(person).toBlocking().value();
    assertTrue(p.getId() > 0);
    int count = data.count(Person.class).get().toSingle().toBlocking().value();
    assertEquals(1, count);
}
Also used : Person(io.requery.test.model.Person) Observable(rx.Observable) 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