Search in sources :

Example 1 with Person

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

the class RxTest method testQuerySelfObservable.

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

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

Example 2 with Person

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

the class RxTest method testQuerySelfObservableMap.

@Test
public void testQuerySelfObservableMap() throws Exception {
    final AtomicInteger count = new AtomicInteger();
    Subscription subscription = data.select(Person.class).limit(2).get().toSelfObservable().flatMap(new Func1<RxResult<Person>, Observable<Person>>() {

        @Override
        public Observable<Person> call(RxResult<Person> persons) {
            return persons.toObservable();
        }
    }).subscribe(new Action1<Person>() {

        @Override
        public void call(Person persons) {
            count.incrementAndGet();
        }
    });
    data.insert(randomPerson()).toBlocking().value();
    data.insert(randomPerson()).toBlocking().value();
    assertEquals(3, count.get());
    subscription.unsubscribe();
}
Also used : AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Subscription(rx.Subscription) Func1(rx.functions.Func1) Person(io.requery.test.model.Person) RxResult(io.requery.rx.RxResult) Test(org.junit.Test)

Example 3 with Person

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

the class RxTest method testQuerySelfObservableRelational.

@Test
public void testQuerySelfObservableRelational() throws Exception {
    final AtomicInteger count = new AtomicInteger();
    Subscription subscription = data.select(Person.class).get().toSelfObservable().subscribe(new Action1<Result<Person>>() {

        @Override
        public void call(Result<Person> persons) {
            count.incrementAndGet();
        }
    });
    Person person = randomPerson();
    data.insert(person).toBlocking().value();
    Phone phone = randomPhone();
    person.getPhoneNumbers().add(phone);
    data.update(person).toBlocking().value();
    data.delete(phone).toBlocking().value();
    assertEquals(4, count.get());
    subscription.unsubscribe();
}
Also used : AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Phone(io.requery.test.model.Phone) Subscription(rx.Subscription) Person(io.requery.test.model.Person) RxResult(io.requery.rx.RxResult) Result(io.requery.query.Result) Test(org.junit.Test)

Example 4 with Person

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

the class RxTest method testQueryObservableFromEntity.

@Test
public void testQueryObservableFromEntity() 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();
    int count = person.getPhoneNumbers().toList().size();
    assertEquals(1, count);
}
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 5 with Person

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

the class RxTest method testInsertList.

@Test
public void testInsertList() throws Exception {
    final List<Person> items = new ArrayList<>();
    for (int i = 0; i < 1; i++) {
        Person person = randomPerson();
        items.add(person);
    }
    final CountDownLatch latch = new CountDownLatch(1);
    data.insert(items).subscribe(new Action1<Iterable<Person>>() {

        @Override
        public void call(Iterable<Person> iterable) {
            List<Person> queried = data.select(Person.class).get().toList();
            try {
                assertEquals(queried, items);
            } finally {
                latch.countDown();
            }
        }
    });
    latch.await();
}
Also used : ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) CountDownLatch(java.util.concurrent.CountDownLatch) Person(io.requery.test.model.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