package com.brodwall.kata.webcrud; import static org.fest.assertions.Assertions.*; import java.util.List; import org.junit.Test; public class HibernatePersonDaoTest { private PersonDao personDao = HibernatePersonDao.createInMemoryDao("jdbc:h2:mem:person-dao-test;MVCC=true"); @Test public void shouldRetrieveSavedPerson() { personDao.startSession(); Person createdPerson = Person.byName("Johannes Brodwall"); personDao.create(createdPerson); personDao.writeChange(); List list = personDao.find(null); assertThat(list).hasSize(1); assertThat(list.get(0)).isNotSameAs(createdPerson).isEqualTo(createdPerson); personDao.endSession(); } @Test public void shouldFindByName() { personDao.startSession(); personDao.create(Person.byName("Ada Brodwall")); personDao.create(Person.byName("Johannes Brodwall")); personDao.create(Person.byName("Johannes Kepler")); personDao.writeChange(); assertThat(personDao.find("johannes")) .contains(Person.byName("Johannes Brodwall")) .contains(Person.byName("Johannes Kepler")) .excludes(Person.byName("Ada Brodwall")); personDao.endSession(); } }