package com.oreilly.jent.people;
/**
* In general, you may use the code in this book in your programs and
* documentation. You do not need to contact us for permission unless
* you're reproducing a significant portion of the code. For example,
* writing a program that uses several chunks of code from this book does
* not require permission. Selling or distributing a CD-ROM of examples
* from O'Reilly books does require permission. Answering a question by
* citing this book and quoting example code does not require permission.
* Incorporating a significant amount of example code from this book into
* your product's documentation does require permission.
*
* We appreciate, but do not require, attribution. An attribution usually
* includes the title, author, publisher, and ISBN. For example:
*
* "Java Enterprise in a Nutshell, Third Edition,
* by Jim Farley and William Crawford
* with Prakash Malani, John G. Norman, and Justin Gehtland.
* Copyright 2006 O'Reilly Media, Inc., 0-596-10142-2."
*
* If you feel your use of code examples falls outside fair use or the
* permission given above, feel free to contact us at
* permissions@oreilly.com.
*/
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import junit.textui.TestRunner;
public class TestPerson extends TestCase {
private Person mPerson = null;
/**
* Default constructor.
*/
public TestPerson() {
super();
}
/**
* @param name Name to be used for this test case.
*/
public TestPerson(String name) {
super(name);
}
/** Set up the test fixture before each test */
protected void setUp() {
mPerson = new Person();
mPerson.setFirstName("John");
mPerson.setLastName("Smith");
}
/** Clean up the test fixture after each test */
protected void tearDown() {
mPerson = null;
}
/** Test the name accessors */
public void testSetName() {
String fName = "Jane";
String lName = "Doe";
mPerson.setFirstName(fName);
mPerson.setLastName(lName);
assertNotNull(mPerson.getFirstName());
assertTrue(mPerson.getFirstName().equals(fName));
assertNotNull(mPerson.getLastName());
assertTrue(mPerson.getLastName().equals(lName));
// fail("Something bad happened");
}
/** Test the addition of email addresses */
public void testAddEmail() {
String addr = "jsmith@anywhere.com";
mPerson.addEmailAddress(addr);
// There should only be a single email address on the person
assertEquals(mPerson.getEmailAddresses().length, 1);
// The email address should be the value we just added
String addrR = (String)mPerson.getEmailAddresses()[0];
assertNotNull(addrR);
assertEquals(addr, addrR);
}
/** Test the equals() method on Person */
public void testEquals() {
try {
// The equals implementation on Person should
// always return true when a Person is compared
// to itself
assertTrue(mPerson.equals(mPerson));
}
catch (Exception e) {
// Fail if the equals method generates any exceptions
fail("Unexpected exception: " + e.getMessage());
}
}
static public Test suite() {
TestSuite suite = new TestSuite();
suite.addTest(new TestPerson("testSetName"));
suite.addTest(new TestPerson("testAddEmail"));
return suite;
}
static public void main(String[] args) {
TestRunner runner = new TestRunner();
runner.doRun(suite());
}
}
|