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);
}
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());
}
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);
}
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();
}
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);
}
Aggregations