@Test public void testInsertOneToManyOneInsert() { Person person = randomPerson(); Phone phone1 = randomPhone(); Phone phone2 = randomPhone(); person.getPhoneNumbers().add(phone1); person.getPhoneNumbers().add(phone2); data.insert(person); data.refresh(person, Person.PHONE_NUMBERS); HashSet<Phone> set = new HashSet<>(person.getPhoneNumbers().toList()); assertEquals(2, set.size()); assertTrue(set.containsAll(Arrays.asList(phone1, phone2))); }
@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)); }
@Test public void testRefreshAll() { Person person = randomPerson(); data.insert(person); Phone phone = randomPhone(); person.getPhoneNumbers().add(phone); data.update(person); data.refreshAll(person); assertTrue(person.getPhoneNumbersSet().contains(phone)); }
@Test public void testInsertOneToManyInverseThroughSet() { Person person = randomPerson(); data.insert(person); Phone phone1 = randomPhone(); Phone phone2 = randomPhone(); person.getPhoneNumbers().add(phone1); person.getPhoneNumbers().add(phone2); data.update(person); assertEquals(2, person.getPhoneNumbersSet().size()); assertTrue(person.getPhoneNumbersSet().containsAll(Arrays.asList(phone1, phone2))); }
@Test public void testDeleteCascadeOneToMany() { Person person = randomPerson(); data.insert(person); Phone phone1 = randomPhone(); phone1.setOwner(person); data.insert(phone1); int phoneId = phone1.getId(); person.getPhoneNumbers(); data.delete(person); Phone phone = data.select(Phone.class).where(Phone.ID.equal(phoneId)).get().firstOrNull(); assertNull(phone); }
@Test public void testInsertOneToMany() { Person person = randomPerson(); data.insert(person); Phone phone1 = randomPhone(); Phone phone2 = randomPhone(); phone1.setOwner(person); phone2.setOwner(person); data.insert(phone1); data.insert(phone2); HashSet<Phone> set = new HashSet<>(person.getPhoneNumbers().toList()); assertEquals(2, set.size()); assertTrue(set.containsAll(Arrays.asList(phone1, phone2))); }