use of io.requery.test.model.Person in project requery by requery.
the class FunctionalTest method testRefreshMultiple.
@Test
public void testRefreshMultiple() {
List<Person> people = new ArrayList<>();
for (int i = 0; i < 10; i++) {
Person person = randomPerson();
people.add(person);
data.insert(person);
}
int count = data.update(Person.class).set(Person.NAME, "fff").get().value();
assertEquals(10, count);
data.refresh(people);
data.refresh(people, Person.NAME);
for (Person p : people) {
assertEquals("fff", p.getName());
}
}
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);
}
use of io.requery.test.model.Person in project requery by requery.
the class FunctionalTest method testDeleteCascadeOneToOne.
@Test
public void testDeleteCascadeOneToOne() {
Address address = randomAddress();
data.insert(address);
int id = address.getId();
assertTrue(id > 0);
Person person = randomPerson();
person.setAddress(address);
data.insert(person);
data.delete(person);
assertNull(address.getPerson());
assertNull(data.findByKey(Address.class, id));
}
use of io.requery.test.model.Person in project requery by requery.
the class FunctionalTest method testQueryUnionJoinOnSameEntities.
@Test
public void testQueryUnionJoinOnSameEntities() {
Group group = new Group();
group.setName("Hello!");
data.insert(group);
Person person1 = randomPerson();
person1.setName("Carol");
person1.getGroups().add(group);
data.insert(person1);
Person person2 = randomPerson();
person2.getGroups().add(group);
person2.setName("Bob");
data.insert(person2);
List<Tuple> result = data.select(Person.NAME.as("personName"), Group.NAME.as("groupName")).where(Person.ID.eq(person1.getId())).union().select(Person.NAME.as("personName"), Group.NAME.as("groupName")).where(Person.ID.eq(person2.getId())).orderBy(Person.NAME.as("personName")).get().toList();
System.err.println(result.size());
System.err.println(result.size() == 2);
assertTrue(result.size() == 2);
assertTrue(result.get(0).get("personName").equals("Bob"));
assertTrue(result.get(0).get("groupName").equals("Hello!"));
assertTrue(result.get(1).get("personName").equals("Carol"));
assertTrue(result.get(1).get("groupName").equals("Hello!"));
}
use of io.requery.test.model.Person in project requery by requery.
the class FunctionalTest method testQueryRawEntities.
@Test
public void testQueryRawEntities() {
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<Integer> resultIds = new ArrayList<>();
try (Result<Person> result = data.raw(Person.class, "select * from Person")) {
List<Person> list = result.toList();
assertEquals(count, list.size());
for (int i = 0; i < people.size(); i++) {
Person person = list.get(i);
String name = person.getName();
assertEquals(people.get(i).getName(), name);
assertEquals(people.get(i).getId(), person.getId());
resultIds.add(person.getId());
}
}
try (Result<Person> result = data.raw(Person.class, "select * from Person WHERE id IN ?", resultIds)) {
List<Person> list = result.toList();
List<Integer> ids = new ArrayList<>(list.size());
for (Person tuple : list) {
ids.add(tuple.getId());
}
assertEquals(resultIds, ids);
}
try (Result<Person> result = data.raw(Person.class, "select * from Person WHERE id = ?", people.get(0))) {
assertEquals(result.first().getId(), people.get(0).getId());
}
}
Aggregations