package junit.samples; import junit.framework.*; public class CarTest extends TestCase { protected Car c1,c2; protected Person hans,peter,lars; protected void setUp() { hans = new Person("Hans"); peter = new Person("Peter"); lars = new Person("Lars"); c1 = new Car("Mustang", hans); c2 = new Car("Jeep", peter); } public static Test suite() { return new TestSuite(CarTest.class); } public void testNewCar() { assertSame(hans, c1.getOwner()); // With Junit the same condition can be tested in several different ways assertTrue(hans == c1.getOwner()); //These 3 tests are equivalent assertFalse(hans != c1.getOwner()); assertEquals("Mustang", c1.getMake()); } public void testToString() { assertEquals("Jeep owned by " + peter.toString(), c2.toString()); } public void testSetOwner(){ c1.setOwner(lars); //Lars has no car yet assertTrue(c1.getOwner() == lars); assertTrue(lars.getCar() == c1); assertFalse(hans.getCar() == c1); //Hans is no longer the owner of c1 c1.setOwner(peter); // Peter already owns the car c2 assertTrue(c1.getOwner() == peter); assertTrue(peter.getCar() == c1); // assertFalse(c2.getOwner() == peter); //Peter can only have one car } public static void main (String[] args) { // junit.textui.TestRunner.run (suite()); junit.swingui.TestRunner.run(CarTest.class); } }