Assert.assertEquals(19, tve.getPerformanceMeasure(agent), 0.001);
}
@Test
public void testAgentActionNumber2() {
VacuumEnvironment tve = new VacuumEnvironment(
VacuumEnvironment.LocationState.Dirty,
VacuumEnvironment.LocationState.Dirty);
tve.addAgent(agent, VacuumEnvironment.LOCATION_B);
Assert.assertEquals(VacuumEnvironment.LOCATION_B,
tve.getAgentLocation(agent));
Assert.assertEquals(1, tve.getAgents().size());
tve.step(); // cleans location B
Assert.assertEquals(VacuumEnvironment.LOCATION_B,
tve.getAgentLocation(agent));
Assert.assertEquals(VacuumEnvironment.LocationState.Clean,
tve.getLocationState(VacuumEnvironment.LOCATION_B));
tve.step(); // moves to lcation A
Assert.assertEquals(VacuumEnvironment.LOCATION_A,
tve.getAgentLocation(agent));
Assert.assertEquals(VacuumEnvironment.LocationState.Dirty,
tve.getLocationState(VacuumEnvironment.LOCATION_A));
tve.step(); // cleans location A
Assert.assertEquals(VacuumEnvironment.LOCATION_A,
tve.getAgentLocation(agent));
Assert.assertEquals(VacuumEnvironment.LocationState.Clean,
tve.getLocationState(VacuumEnvironment.LOCATION_A));
tve.step(); // NOOP
Assert.assertEquals(VacuumEnvironment.LOCATION_A,
tve.getAgentLocation(agent));
Assert.assertEquals(VacuumEnvironment.LocationState.Clean,
tve.getLocationState(VacuumEnvironment.LOCATION_A));
Assert.assertEquals(VacuumEnvironment.LocationState.Clean,
tve.getLocationState(VacuumEnvironment.LOCATION_B));
Assert.assertEquals(19, tve.getPerformanceMeasure(agent), 0.001);
}