@Test public void testEqualsHashCode() { Person p1 = new Person(); p1.setAge(10); p1.setName("Bob"); p1.setEmail("*****@*****.**"); Person p2 = new Person(); p2.setAge(10); p2.setName("Bob"); p2.setEmail("*****@*****.**"); assertEquals(p1, p2); assertEquals(p1.hashCode(), p2.hashCode()); }
@Test public void testQueryCoalesce() { Person person = randomPerson(); person.setName("Carol"); person.setEmail(null); data.insert(person); person = randomPerson(); person.setName("Bob"); person.setEmail("*****@*****.**"); person.setHomepage(null); data.insert(person); Result<Tuple> result = data.select(Coalesce.coalesce(Person.EMAIL, Person.NAME)).get(); List<Tuple> list = result.toList(); List<String> values = new ArrayList<>(); for (Tuple tuple : list) { values.add(tuple.get(0).toString()); } assertEquals(values.size(), 2); assertTrue(values.contains("Carol")); assertTrue(values.contains("*****@*****.**")); }
@Test public void testEntityListeners() { Person person = randomPerson(); data.insert(person); assertTrue(person.getPreviousState() == EntityState.PRE_SAVE); assertTrue(person.getCurrentState() == EntityState.POST_SAVE); person.setEmail("*****@*****.**"); data.update(person); assertTrue(person.getPreviousState() == EntityState.PRE_UPDATE); assertTrue(person.getCurrentState() == EntityState.POST_UPDATE); data.delete(person); assertTrue(person.getPreviousState() == EntityState.PRE_DELETE); assertTrue(person.getCurrentState() == EntityState.POST_DELETE); }
@Test public void testQueryMap() { int count = 10; for (int i = 0; i < count; i++) { Person person = randomPerson(); if (i == 0) { person.setEmail("*****@*****.**"); } data.insert(person); } Result<Person> result = data.select(Person.class).get(); Map<String, Person> map = result.toMap(Person.EMAIL, new ConcurrentHashMap<String, Person>()); assertNotNull(map.get("*****@*****.**")); map = result.toMap(Person.EMAIL); assertNotNull(map.get("*****@*****.**")); }