/** Test method for {@link xapn.projects.tdd.car.v2.Car#move(Position)}. */ @Test(timeout = 100) public void testMove() { LOGGER.debug("TEST: testMove"); // Setup car.getGps().setCurrentPosition(new Position(-6, -2)); Position destination = new Position(5, 7); // Process car.move(destination); // Verification // The car reached the destination. assertEquals(destination, car.getGps().getCurrentPosition()); // The car is stopped. assertEquals(0, car.getEngine().getSpeed()); EasyMock.verify(roadMapMock); }
/** * Set up * * @throws java.lang.Exception */ @Before public void setUp() throws Exception { car = new Car(); roadMapMock = EasyMock.createMock(IRoadMap.class); EasyMock.expect(roadMapMock.indicateBarrier((Position) EasyMock.anyObject())) .andReturn(false) .anyTimes(); car.getGps().setRoadMap(roadMapMock); EasyMock.replay(roadMapMock); }
/** Test method for {@link xapn.projects.tdd.car.v2.Car#start()}. */ @Test public void testStart() { LOGGER.debug("TEST: testStart"); // Setup assertFalse(car.getEngine().isTurnedOn()); // Process car.start(); // Verification // To be safe, the doors must be closed automatically. assertFalse(car.getDoors().isOpen()); // The engine must be on. assertTrue(car.getEngine().isTurnedOn()); // The GPS must be working. assertTrue(car.getGps().isTurnedOn()); EasyMock.verify(roadMapMock); }
/** Test method for {@link xapn.projects.tdd.car.v2.Car#stop()}. */ @Test public void testStop() { LOGGER.debug("TEST: testStop"); // Setup car.getEngine().setTurnedOn(true); car.getEngine().setSpeed(0); assertTrue(car.getEngine().isTurnedOn()); // Process car.stop(); // Verification // The engine must be stopped. assertFalse(car.getEngine().isTurnedOn()); assertEquals(0, car.getEngine().getSpeed()); // Headlights must be turned off to avoid draining the battery. assertFalse(car.getHeadlights().isTurnedOn()); // The GPS must be turned off. assertFalse(car.getGps().isTurnedOn()); EasyMock.verify(roadMapMock); }