📄 testeventdao.java
字号:
package com.manning.hq.ch10;
import junit.framework.TestCase;
import java.util.List;
import java.util.Iterator;
import java.sql.Statement;
import org.hibernate.Session;
/**
*
*/
public class TestEventDao extends TestCase {
/**
*
*/
public void testFindEventsFor() throws Exception {
Event eventBefore = new Event();
Event eventIn = new Event();
Event eventAfter = new Event();
eventBefore.setStartDate(DateUtils.newDate(6, 1, 2005));
eventIn.setStartDate(DateUtils.newDate(7, 1, 2005));
eventAfter.setStartDate(DateUtils.newDate(8, 1, 2005));
EventDao eventDao = new EventDao();
Session session = HibernateFactory.openSession();
try {
session.save(eventBefore);
session.save(eventAfter);
session.save(eventIn);
session.flush();
List eventsFor = eventDao.findEventsFor(7, 2005);
assertEquals("Should return 1", 1, eventsFor.size());
Event actualEvent = (Event) eventsFor.get(0);
assertEquals("Should be Event In, not the other events.", eventIn.getId(), actualEvent.getId());
} finally {
session.delete(eventBefore);
session.delete(eventIn);
session.delete(eventAfter);
session.flush();
HibernateFactory.close(session);
}
}
public void testFindEventsForVersion2() throws Exception {
Event eventBefore = new Event();
Event eventIn = new Event();
Event eventAfter = new Event();
eventBefore.setStartDate(DateUtils.newDate(6, 1, 2005));
eventIn.setStartDate(DateUtils.newDate(7, 1, 2005));
eventAfter.setStartDate(DateUtils.newDate(8, 1, 2005));
EventDao eventDao = new EventDao();
Session session = HibernateFactory.openSession();
try {
session.save(eventBefore);
session.save(eventAfter);
session.save(eventIn);
session.flush();
List eventsFor = eventDao.findEventsFor(7, 2005);
assertTrue("Should return 1", eventsFor.size() >= 1);
assertTrue("Should contain", contains(eventsFor, eventIn));
assertFalse("Shouldn抰 contain before", contains(eventsFor, eventBefore));
assertFalse("Shouldn抰 contain after", contains(eventsFor, eventAfter));
} finally {
session.delete(eventBefore);
session.delete(eventIn);
session.delete(eventAfter);
session.flush();
session.close();
}
}
/**
*
*/
public void testResetToKnownState() throws Exception{
Session session = HibernateFactory.openSession();
Statement statement = session.connection().createStatement();
statement.execute("DELETE FROM events");
HibernateFactory.close(session);
}
private boolean contains(List list, Event contained) {
for (Iterator it = list.iterator(); it.hasNext();) {
Event event = (Event) it.next();
if (event.getId().equals(contained.getId())) {
return true;
}
}
return false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -