⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testsimpleeventdao.java

📁 hibernate quickly 一书的各章节源代码
💻 JAVA
字号:
package com.manning.hq.ch07;

import junit.framework.TestCase;
import org.hibernate.HibernateException;
import org.hibernate.ObjectNotFoundException;
import org.hibernate.Session;

import java.util.List;

/**
 *
 */
public class TestSimpleEventDao extends TestCase {
    private SimpleEventDao eventDao;
    private Event event;

    public TestSimpleEventDao() {
    }

    protected void setUp() throws Exception {
        super.setUp();
        eventDao = new SimpleEventDao();
        event = new Event();

    }

    protected void tearDown() throws Exception {
        super.tearDown();
        if (event != null && event.getId() != null) {
            eventDao.delete(event);
        }
    }

    /**
     * Verifies that create() inserts a new Event into the database.
     * @throws Exception
     */
    public void testCreate() throws Exception {
        Session session = HibernateFactory.openSession();
        Event event2 = null;
        event.setName("Create an Event");

        eventDao.create(event);

        event2 = (Event) session.load(Event.class, event.getId());
        assertEquals("Check names", event.getName(), event2.getName());

    }

    /**
     * Verifies the delete() removes an Event from the database.
     * @throws Exception
     */
    public void testDelete() throws Exception {
        event.setName("Delete an Event");

        try {
            eventDao.create(event);
            eventDao.delete(event);

            Session session = HibernateFactory.openSession();
            session.load(Event.class, event.getId());
            fail("Delete should remove the event from the database.");
        } catch (ObjectNotFoundException expected) {
            // expected
        }
        event = null;

    }

    /**
     * Verifies that find() returns an Event by its primary key.
     * @throws Exception
     */
    public void testFind() throws Exception {
        event.setName("Find an Event");

        eventDao.create(event);
        Event foundEvent = eventDao.find(event.getId());

        assertEquals("Check names", event.getName(), foundEvent.getName());
    }

    /**
     * Verifies that findAll() returns all Events in the database.
     * @throws HibernateException
     */
    public void testFindAll() throws Exception {
        SimpleEventDao eventDao = new SimpleEventDao();

        Event event1 = new Event();
        Event event2 = new Event();
        event1.setName("Find all Events 1");
        event2.setName("Find all Events 2");

        try {
            eventDao.create(event1);
            eventDao.create(event2);
            List events = eventDao.findAll();

            assertTrue("Should find all the events",  events.size() >= 2);

        } finally {
            eventDao.delete(event1);
            eventDao.delete(event2);
        }
    }

    /**
     * Verifys that update correctly updates a detached Event.
     *
     * @throws HibernateException
     */
    public void testUpdate() throws Exception {
        event.setName("Update an Event");
        eventDao.create(event);
        Event foundEvent = eventDao.find(event.getId());
        foundEvent.setDuration(30);
        eventDao.update(foundEvent);

        event = eventDao.find(event.getId());

        assertEquals("Check names", foundEvent.getName(), event.getName());
        assertEquals("Check durations", 30, event.getDuration());

    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -