예제 #1
0
  /** 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);
  }
예제 #2
0
  /**
   * 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);
  }
예제 #3
0
  /** 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);
  }
예제 #4
0
  /** 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);
  }