@Test(expectedExceptions = {IllegalStateException.class}) public void shouldKeepOneToOneSymetric2() { initData10(); OneToOne<Person, Person> rel = db.oneToOneSymmetric(persons, "rel", persons); rel.link(1, 2); rel.link(5, 2); }
@Test public void shouldKeepOneToOneSymetric1() { initData10(); OneToOne<Person, Person> rel = db.oneToOneSymmetric(persons, "rel", persons); rel.link(1, 2); rel.link(3, 4); eq(rel.from(1), 2); eq(rel.from(2), 1); eq(rel.from(3), 4); eq(rel.from(4), 3); eq(rel.to(1), 2); eq(rel.to(2), 1); eq(rel.to(3), 4); eq(rel.to(4), 3); hasId(rel.from(p(1)), 2); hasId(rel.from(p(2)), 1); hasId(rel.from(p(3)), 4); hasId(rel.from(p(4)), 3); hasId(rel.to(p(1)), 2); hasId(rel.to(p(2)), 1); hasId(rel.to(p(3)), 4); hasId(rel.to(p(4)), 3); eq(rel.to(100), -1); eq(rel.from(100), -1); eq(rel.to(p(100)), null); eq(rel.from(p(100)), null); rel.delink(4, 3); eq(rel.to(3), -1); eq(rel.to(4), -1); eq(rel.from(3), -1); eq(rel.from(4), -1); eq(rel.to(p(3)), null); eq(rel.to(p(4)), null); eq(rel.from(p(3)), null); eq(rel.from(p(4)), null); eq(rel.from(1), 2); eq(rel.from(2), 1); eq(rel.to(1), 2); eq(rel.to(2), 1); }