/* * Created on 2005-4-21 */ package org.appfuse.model; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; /** * @hibernate.class table="person" */ public class Person extends BaseObject { private Long id; private String firstName; private String lastName; /** * @return Returns the firstName. * @hibernate.property column="first_name" length="50" */ public String getFirstName() { return firstName; } /** * @param firstName * The firstName to set. */ public void setFirstName(String firstName) { this.firstName = firstName; } /** * @return Returns the id. * @hibernate.id column="id" generator-class="native" unsaved-value="null" */ public Long getId() { return id; } /** * @param id * The id to set. */ public void setId(Long id) { this.id = id; } /** * @return Returns the lastName. * @hibernate.property column="last_name" length="50" */ public String getLastName() { return lastName; } /** * @param lastName * The lastName to set. */ public void setLastName(String lastName) { this.lastName = lastName; } /** * @see java.lang.Object#equals(Object) */ public boolean equals(Object object) { if (!(object instanceof Person)) { return false; } Person rhs = (Person) object; return new EqualsBuilder() .append(this.firstName, rhs.firstName) .append(this.id, rhs.id) .append(this.lastName, rhs.lastName).isEquals(); } /** * public boolean equals(Object object) { if (!(object instanceof Address)) { return false; } Address rhs = (Address) object; return new EqualsBuilder().append(this.postalCode, rhs.postalCode) .append(this.country, rhs.country) .append(this.address, rhs.address) .append(this.province, rhs.province) .append(this.city, rhs.city).isEquals(); } */ /** * @see java.lang.Object#hashCode() */ public int hashCode() { return new HashCodeBuilder(-1196181247, -1232855255) .append(this.firstName) .append(this.id) .append(this.lastName).toHashCode(); } /** * @see java.lang.Object#toString() */ public String toString() { return new ToStringBuilder(this) .append("lastName", this.lastName) .append("id", this.id) .append("firstName", this.firstName).toString(); } } ############################################################## package org.appfuse.dao; import org.appfuse.model.Person; import org.springframework.dao.DataAccessException; public class PersonDAOTest extends BaseDAOTestCase { //一个基本的初始化、销毁PersonDAO对象的Junit测试 private Person person = null; private PersonDAO dao = null; protected void setUp() throws Exception { super.setUp(); dao = (PersonDAO) ctx.getBean("personDAO"); } // "ctx" 对象是对Spring的ApplicationContext的一个引用,它在BaseDAOTestCase's // 类的静态代码块中被初始化。 protected void tearDown() throws Exception { super.tearDown(); dao = null; } //----------------------------------------------------------------------------------------------------------------------------- public void testGetPerson() throws Exception { person = new Person(); person.setFirstName("Matt"); person.setLastName("Raible"); dao.savePerson(person); assertNotNull(person.getId()); person = dao.getPerson(person.getId()); assertEquals(person.getFirstName(), "Matt"); } public void testSavePerson() throws Exception { person = dao.getPerson(new Long(1)); person.setFirstName("Matt"); person.setLastName("Last Name Updated"); dao.savePerson(person); if (log.isDebugEnabled()) { log.debug("updated Person: " + person); } assertEquals(person.getLastName(), "Last Name Updated"); } public void testAddAndRemovePerson() throws Exception { person = new Person(); person.setFirstName("Bill"); person.setLastName("Joy"); dao.savePerson(person); assertEquals(person.getFirstName(), "Bill"); assertNotNull(person.getId()); if (log.isDebugEnabled()) { log.debug("removing person..."); } dao.removePerson(person.getId()); try { person = dao.getPerson(person.getId()); fail("Person found in database"); } catch (DataAccessException dae) { log.debug("Expected exception: " + dae.getMessage()); assertNotNull(dae); } } }

|