use of io.requery.test.model.Person in project requery by requery.
the class FunctionalTest method testInsertOneToOneCascade.
@Test
public void testInsertOneToOneCascade() {
Address address = randomAddress();
Person person = randomPerson();
person.setAddress(address);
data.insert(person);
// fetch inverse
assertSame(address.getPerson(), person);
}
use of io.requery.test.model.Person in project requery by requery.
the class FunctionalTest method testRefreshAttributes.
@Test
public void testRefreshAttributes() {
Person person = randomPerson();
data.insert(person);
Phone phone = randomPhone();
person.getPhoneNumbers().add(phone);
data.update(person);
data.refresh(person, Person.NAME, Person.PHONE_NUMBERS_SET, Person.ADDRESS, Person.EMAIL);
assertTrue(person.getPhoneNumbersSet().contains(phone));
}
use of io.requery.test.model.Person in project requery by requery.
the class FunctionalTest method testEqualsHashCode.
@Test
public void testEqualsHashCode() {
Person p1 = new Person();
p1.setAge(10);
p1.setName("Bob");
p1.setEmail("test@test.com");
Person p2 = new Person();
p2.setAge(10);
p2.setName("Bob");
p2.setEmail("test@test.com");
assertEquals(p1, p2);
assertEquals(p1.hashCode(), p2.hashCode());
}
use of io.requery.test.model.Person in project requery by requery.
the class FunctionalTest method testQueryRaw.
@Test
public void testQueryRaw() {
final int count = 5;
List<Person> people = new ArrayList<>();
for (int i = 0; i < count; i++) {
Person person = randomPerson();
data.insert(person);
people.add(person);
}
List<Long> resultIds = new ArrayList<>();
try (Result<Tuple> result = data.raw("select * from Person")) {
List<Tuple> list = result.toList();
assertEquals(count, list.size());
for (int i = 0; i < people.size(); i++) {
Tuple tuple = list.get(i);
String name = tuple.get("name");
assertEquals(people.get(i).getName(), name);
Number id = tuple.get("id");
assertEquals(people.get(i).getId(), id.intValue());
resultIds.add(id.longValue());
}
}
try (Result<Tuple> result = data.raw("select * from Person WHERE id IN ?", resultIds)) {
List<Tuple> list = result.toList();
List<Long> ids = new ArrayList<>(list.size());
for (Tuple tuple : list) {
ids.add(tuple.<Number>get("id").longValue());
}
assertEquals(resultIds, ids);
}
try (Result<Tuple> result = data.raw("select count(*) from Person")) {
// can be long or int depending on db
Number number = result.first().get(0);
assertEquals(count, number.intValue());
}
try (Result<Tuple> result = data.raw("select * from Person WHERE id = ?", people.get(0))) {
assertEquals(result.first().<Number>get("id").intValue(), people.get(0).getId());
}
}
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());
}
}
Aggregations