// Path: src/test/java/com/example/ejb3/beans/WidgetBean.java
// public class WidgetBean {
// 
//     @PersistenceContext
//     private EntityManager em;
// 
//     private WidgetDao widgetDao;
// 
//     /**
//      * We create the {@link JpaWidgetDao}
//      */
//     @PostConstruct
//     @SuppressWarnings("unused")
//     private void initialize() {
//         widgetDao = new JpaWidgetDao(em);
//     }
// 
//     /**
//      * @return list of all widgets
//      */
//     public final List<Widget> listAll() {
//         return widgetDao.listAll();
//     }
// 
//     /**
//      * @param id
//      *        the Widget id
//      * @return the found Widget
//      */
//     public final Widget findById(final int id) {
//         return widgetDao.findById(id);
//     }
// }
// 
// Path: src/test/java/com/example/model/Widget.java
// @Entity
// @NamedQueries({
//   @NamedQuery(name = Widget.LIST_ALL, query = "SELECT w FROM Widget w"),
//   @NamedQuery(name = Widget.FIND_BY_ID, query = "SELECT w FROM Widget w WHERE w.id = :id"),
//   @NamedQuery(name = Widget.FIND_BY_NAME, query = "SELECT w FROM Widget w WHERE w.name = :name")
// })
// public class Widget implements Serializable {
// 
//     /**
//      *
//      */
//     private static final long serialVersionUID = -1689099836716604893L;
// 
//     /**
//      * {@value #LIST_ALL}
//      */
//     public static final String LIST_ALL = "Widget.listAll";
// 
//     /**
//      * {@value #FIND_BY_ID}
//      */
//     public static final String FIND_BY_ID = "Widget.findById";
// 
//     /**
//      * {@value #FIND_BY_NAME}
//      */
//     public static final String FIND_BY_NAME = "Widget.findByName";
// 
//     @Id
//     private Integer id;
// 
//     @Column
//     private String name;
// 
//     /**
//      * @return the id
//      */
//     public final Integer getId() {
//         return id;
//     }
// 
//     /**
//      * @param id
//      *        the id to set
//      */
//     public final void setId(final Integer id) {
//         this.id = id;
//     }
// 
//     /**
//      * @return the name
//      */
//     public final String getName() {
//         return name;
//     }
// 
//     /**
//      * @param name
//      *        the name to set
//      */
//     public final void setName(final String name) {
//         this.name = name;
//     }
// 
// }


import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.util.List;
import junit.rules.dbunit.Fixtures;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import com.example.ejb3.beans.WidgetBean;
import com.example.model.Widget;
/**
 * junit-rules: JUnit Rules Library
 *
 * Copyright (c) 2009-2011 by Alistair A. Israel.
 * This software is made available under the terms of the MIT License.
 *
 * Created Oct 15, 2009
 */
package junit.rules.jpa.hibernate;






/**
 * @author Alistair A. Israel
 * @since 0.3
 */
public final class DerbyHibernateTestCaseTest {

    /**
     * @author Alistair A. Israel
     */
    @Fixtures("fixtures.xml")
    public static final class FirstTest extends DerbyHibernateTestCase {

        private WidgetBean widgetBean = new WidgetBean();

        /**
         *
         */
        @Before
        public void setUp() {
            injectAndPostConstruct(widgetBean);
        }

        /**
         * @throws Exception
         *         on exception
         */
        @Test
        public void testListAll() throws Exception {
            final List<Widget> widgets = widgetBean.listAll();
            assertNotNull(widgets);
            assertEquals(2, widgets.size());
        }

        /**
         * @throws Exception
         *         on exception
         */
        @Test
        public void testFindById() throws Exception {
            final Widget widget = widgetBean.findById(2);
            assertNotNull(widget);
            assertEquals(2, widget.getId().intValue());
        }
    }

    /**
     *
     */
// Path: src/test/java/com/example/ejb3/beans/WidgetBean.java
// public class WidgetBean {
// 
//     @PersistenceContext
//     private EntityManager em;
// 
//     private WidgetDao widgetDao;
// 
//     /**
//      * We create the {@link JpaWidgetDao}
//      */
//     @PostConstruct
//     @SuppressWarnings("unused")
//     private void initialize() {
//         widgetDao = new JpaWidgetDao(em);
//     }
// 
//     /**
//      * @return list of all widgets
//      */
//     public final List<Widget> listAll() {
//         return widgetDao.listAll();
//     }
// 
//     /**
//      * @param id
//      *        the Widget id
//      * @return the found Widget
//      */
//     public final Widget findById(final int id) {
//         return widgetDao.findById(id);
//     }
// }
// 
// Path: src/test/java/com/example/model/Widget.java
// @Entity
// @NamedQueries({
//   @NamedQuery(name = Widget.LIST_ALL, query = "SELECT w FROM Widget w"),
//   @NamedQuery(name = Widget.FIND_BY_ID, query = "SELECT w FROM Widget w WHERE w.id = :id"),
//   @NamedQuery(name = Widget.FIND_BY_NAME, query = "SELECT w FROM Widget w WHERE w.name = :name")
// })
// public class Widget implements Serializable {
// 
//     /**
//      *
//      */
//     private static final long serialVersionUID = -1689099836716604893L;
// 
//     /**
//      * {@value #LIST_ALL}
//      */
//     public static final String LIST_ALL = "Widget.listAll";
// 
//     /**
//      * {@value #FIND_BY_ID}
//      */
//     public static final String FIND_BY_ID = "Widget.findById";
// 
//     /**
//      * {@value #FIND_BY_NAME}
//      */
//     public static final String FIND_BY_NAME = "Widget.findByName";
// 
//     @Id
//     private Integer id;
// 
//     @Column
//     private String name;
// 
//     /**
//      * @return the id
//      */
//     public final Integer getId() {
//         return id;
//     }
// 
//     /**
//      * @param id
//      *        the id to set
//      */
//     public final void setId(final Integer id) {
//         this.id = id;
//     }
// 
//     /**
//      * @return the name
//      */
//     public final String getName() {
//         return name;
//     }
// 
//     /**
//      * @param name
//      *        the name to set
//      */
//     public final void setName(final String name) {
//         this.name = name;
//     }
// 
// }


// Path: src/test/java/junit/rules/jpa/hibernate/DerbyHibernateTestCaseTest.java
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.util.List;
import junit.rules.dbunit.Fixtures;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import com.example.ejb3.beans.WidgetBean;
import com.example.model.Widget;

/**
 * junit-rules: JUnit Rules Library
 *
 * Copyright (c) 2009-2011 by Alistair A. Israel.
 * This software is made available under the terms of the MIT License.
 *
 * Created Oct 15, 2009
 */
package junit.rules.jpa.hibernate;






/**
 * @author Alistair A. Israel
 * @since 0.3
 */
public final class DerbyHibernateTestCaseTest {

    /**
     * @author Alistair A. Israel
     */
    @Fixtures("fixtures.xml")
    public static final class FirstTest extends DerbyHibernateTestCase {

        private WidgetBean widgetBean = new WidgetBean();

        /**
         *
         */
        @Before
        public void setUp() {
            injectAndPostConstruct(widgetBean);
        }

        /**
         * @throws Exception
         *         on exception
         */
        @Test
        public void testListAll() throws Exception {
            final List<Widget> widgets = widgetBean.listAll();
            assertNotNull(widgets);
            assertEquals(2, widgets.size());
        }

        /**
         * @throws Exception
         *         on exception
         */
        @Test
        public void testFindById() throws Exception {
            final Widget widget = widgetBean.findById(2);
            assertNotNull(widget);
            assertEquals(2, widget.getId().intValue());
        }
    }

    /**
     *
     */
    @Test