// Path: code/api/src/main/java/ar/edu/itba/tpf/chatterbot/model/PersistentEntity.java
// @MappedSuperclass
// public abstract class PersistentEntity implements Serializable {
// 
//     private static final long serialVersionUID = 1L;
// 
//     @Id
//     @GeneratedValue(strategy = GenerationType.AUTO)
//     private Long id = null;
// 
//     /**
//      * @return Id de la entidad. Si no está persistida es null.
//      */
//     public Long getId() {
//         return id;
//     }
// 
//     /**
//      * @param id Id de la entidad.
//      */
//     public void setId(Long id) {
//         this.id = id;
//     }
// 
//     @Override
//     public int hashCode() {
//         return 0;
//     }
// 
//     @Override
//     public boolean equals(Object obj) {
//         if (this == obj)
//             return true;
//         if (obj == null)
//             return false;
//         return true;
//     }
// 
// }


import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.not;
import static org.hamcrest.Matchers.notNullValue;
import static org.junit.Assert.assertThat;
import java.util.Collection;
import org.junit.Test;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
import org.springframework.test.context.transaction.BeforeTransaction;
import org.springframework.test.context.transaction.TransactionConfiguration;
import ar.edu.itba.tpf.chatterbot.model.PersistentEntity;
package ar.edu.itba.tpf.chatterbot.dao;





@ContextConfiguration(locations = { "classpath:impl-data.xml", "classpath:impl-beans.xml" })
@TransactionConfiguration(transactionManager = "transactionManager")
// Path: code/api/src/main/java/ar/edu/itba/tpf/chatterbot/model/PersistentEntity.java
// @MappedSuperclass
// public abstract class PersistentEntity implements Serializable {
// 
//     private static final long serialVersionUID = 1L;
// 
//     @Id
//     @GeneratedValue(strategy = GenerationType.AUTO)
//     private Long id = null;
// 
//     /**
//      * @return Id de la entidad. Si no está persistida es null.
//      */
//     public Long getId() {
//         return id;
//     }
// 
//     /**
//      * @param id Id de la entidad.
//      */
//     public void setId(Long id) {
//         this.id = id;
//     }
// 
//     @Override
//     public int hashCode() {
//         return 0;
//     }
// 
//     @Override
//     public boolean equals(Object obj) {
//         if (this == obj)
//             return true;
//         if (obj == null)
//             return false;
//         return true;
//     }
// 
// }


// Path: code/impl/src/test/java/ar/edu/itba/tpf/chatterbot/dao/GenericDAOTest.java
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.not;
import static org.hamcrest.Matchers.notNullValue;
import static org.junit.Assert.assertThat;
import java.util.Collection;
import org.junit.Test;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
import org.springframework.test.context.transaction.BeforeTransaction;
import org.springframework.test.context.transaction.TransactionConfiguration;
import ar.edu.itba.tpf.chatterbot.model.PersistentEntity;

package ar.edu.itba.tpf.chatterbot.dao;





@ContextConfiguration(locations = { "classpath:impl-data.xml", "classpath:impl-beans.xml" })
@TransactionConfiguration(transactionManager = "transactionManager")
public abstract class GenericDAOTest<T extends PersistentEntity> extends AbstractTransactionalJUnit4SpringContextTests {