Search in sources :

Example 46 with Person

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

the class FunctionalTest method testQueryByForeignKey.

@Test
public void testQueryByForeignKey() {
    Person person = randomPerson();
    data.insert(person);
    Phone phone1 = randomPhone();
    Phone phone2 = randomPhone();
    person.getPhoneNumbers().add(phone1);
    person.getPhoneNumbers().add(phone2);
    data.update(person);
    assertTrue(person.getPhoneNumbersSet().contains(phone1));
    try (Result<Phone> result = data.select(Phone.class).where(Phone.OWNER.eq(person)).get()) {
        assertTrue(person.getPhoneNumbersList().containsAll(result.toList()));
        assertEquals(2, person.getPhoneNumbersList().size());
        assertEquals(2, result.toList().size());
    }
    // by id
    try (Result<Phone> result = data.select(Phone.class).where(Phone.OWNER_ID.eq(person.getId())).get()) {
        assertTrue(person.getPhoneNumbersList().containsAll(result.toList()));
        assertEquals(2, person.getPhoneNumbersList().size());
        assertEquals(2, result.toList().size());
    }
}
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 47 with Person

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

the class FunctionalTest method testQuerySelectTrim.

@Test
public void testQuerySelectTrim() {
    // TODO fix use ltrim/rtrim for SQLServer
    Person person = randomPerson();
    person.setName("  Name  ");
    data.insert(person);
    Tuple result = data.select(Person.NAME.trim().as("name")).get().first();
    String name = result.get(0);
    assertEquals(name, "Name");
}
Also used : Person(io.requery.test.model.Person) Group_Person(io.requery.test.model.Group_Person) Tuple(io.requery.query.Tuple) Test(org.junit.Test)

Example 48 with Person

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

the class FunctionalTest method testInsertOneToOne.

@Test
public void testInsertOneToOne() {
    Address address = randomAddress();
    data.insert(address);
    assertTrue(address.getId() > 0);
    Person person = randomPerson();
    data.insert(person);
    person.setAddress(address);
    data.update(person);
    // fetch inverse
    assertSame(address.getPerson(), person);
    // unset
    person.setAddress(null);
}
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 49 with Person

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

the class FunctionalTest method testIterateInsertMany.

@Test
public void testIterateInsertMany() {
    Person person = randomPerson();
    assertTrue(person.getGroups().toList().isEmpty());
    HashSet<Group> toAdd = new HashSet<>();
    for (int i = 0; i < 10; i++) {
        Group group = new Group();
        group.setName("Group" + i);
        person.getGroups().add(group);
        toAdd.add(group);
    }
    int count = 0;
    for (Group g : person.getGroups()) {
        assertTrue(toAdd.contains(g));
        count++;
    }
    assertEquals(10, count);
    data.insert(person);
}
Also used : Group(io.requery.test.model.Group) Person(io.requery.test.model.Person) Group_Person(io.requery.test.model.Group_Person) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 50 with Person

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

the class FunctionalTest method testFindByKey.

@Test
public void testFindByKey() {
    Person person = randomPerson();
    data.insert(person);
    assertTrue(person.getId() > 0);
    Person other = data.findByKey(Person.class, person.getId());
    assertSame(person, other);
}
Also used : Person(io.requery.test.model.Person) Group_Person(io.requery.test.model.Group_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