use of aima.core.environment.vacuum.VacuumEnvironment in project aima-java by aimacode.
the class ModelBasedReflexVacuumAgentTest method testAgentActionNumber7.
@Test
public void testAgentActionNumber7() {
VacuumEnvironment tve = new VacuumEnvironment(VacuumEnvironment.LocationState.Dirty, VacuumEnvironment.LocationState.Clean);
tve.addAgent(agent, VacuumEnvironment.LOCATION_A);
Assert.assertEquals(VacuumEnvironment.LOCATION_A, tve.getAgentLocation(agent));
Assert.assertEquals(1, tve.getAgents().size());
// cleans A
tve.step();
Assert.assertEquals(VacuumEnvironment.LOCATION_A, tve.getAgentLocation(agent));
Assert.assertEquals(VacuumEnvironment.LocationState.Clean, tve.getLocationState(VacuumEnvironment.LOCATION_A));
// moves to B
tve.step();
Assert.assertEquals(VacuumEnvironment.LOCATION_B, tve.getAgentLocation(agent));
Assert.assertEquals(VacuumEnvironment.LocationState.Clean, tve.getLocationState(VacuumEnvironment.LOCATION_B));
// NOOP
tve.step();
Assert.assertEquals(VacuumEnvironment.LOCATION_B, 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(9, tve.getPerformanceMeasure(agent), 0.001);
}
use of aima.core.environment.vacuum.VacuumEnvironment in project aima-java by aimacode.
the class ModelBasedReflexVacuumAgentTest method testDirtyClean.
@Test
public void testDirtyClean() {
VacuumEnvironment tve = new VacuumEnvironment(VacuumEnvironment.LocationState.Dirty, VacuumEnvironment.LocationState.Clean);
tve.addAgent(agent, VacuumEnvironment.LOCATION_A);
tve.addEnvironmentView(new VacuumEnvironmentViewActionTracker(envChanges));
tve.stepUntilDone();
Assert.assertEquals("Action[name==Suck]Action[name==Right]Action[name==NoOp]", envChanges.toString());
}
use of aima.core.environment.vacuum.VacuumEnvironment in project aima-java by aimacode.
the class ModelBasedReflexVacuumAgentTest method testDirtyDirty.
@Test
public void testDirtyDirty() {
VacuumEnvironment tve = new VacuumEnvironment(VacuumEnvironment.LocationState.Dirty, VacuumEnvironment.LocationState.Dirty);
tve.addAgent(agent, VacuumEnvironment.LOCATION_A);
tve.addEnvironmentView(new VacuumEnvironmentViewActionTracker(envChanges));
tve.stepUntilDone();
Assert.assertEquals("Action[name==Suck]Action[name==Right]Action[name==Suck]Action[name==NoOp]", envChanges.toString());
}
use of aima.core.environment.vacuum.VacuumEnvironment in project aima-java by aimacode.
the class ModelBasedReflexVacuumAgentTest method testAgentActionNumber2.
@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());
// cleans location B
tve.step();
Assert.assertEquals(VacuumEnvironment.LOCATION_B, tve.getAgentLocation(agent));
Assert.assertEquals(VacuumEnvironment.LocationState.Clean, tve.getLocationState(VacuumEnvironment.LOCATION_B));
// moves to lcation A
tve.step();
Assert.assertEquals(VacuumEnvironment.LOCATION_A, tve.getAgentLocation(agent));
Assert.assertEquals(VacuumEnvironment.LocationState.Dirty, tve.getLocationState(VacuumEnvironment.LOCATION_A));
// cleans location A
tve.step();
Assert.assertEquals(VacuumEnvironment.LOCATION_A, tve.getAgentLocation(agent));
Assert.assertEquals(VacuumEnvironment.LocationState.Clean, tve.getLocationState(VacuumEnvironment.LOCATION_A));
// NOOP
tve.step();
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);
}
use of aima.core.environment.vacuum.VacuumEnvironment in project aima-java by aimacode.
the class ModelBasedReflexVacuumAgentTest method testAgentActionNumber8.
@Test
public void testAgentActionNumber8() {
VacuumEnvironment tve = new VacuumEnvironment(VacuumEnvironment.LocationState.Dirty, VacuumEnvironment.LocationState.Clean);
tve.addAgent(agent, VacuumEnvironment.LOCATION_B);
Assert.assertEquals(VacuumEnvironment.LOCATION_B, tve.getAgentLocation(agent));
Assert.assertEquals(1, tve.getAgents().size());
// moves to A
tve.step();
Assert.assertEquals(VacuumEnvironment.LOCATION_A, tve.getAgentLocation(agent));
Assert.assertEquals(VacuumEnvironment.LocationState.Dirty, tve.getLocationState(VacuumEnvironment.LOCATION_A));
// cleans A
tve.step();
Assert.assertEquals(VacuumEnvironment.LOCATION_A, tve.getAgentLocation(agent));
Assert.assertEquals(VacuumEnvironment.LocationState.Clean, tve.getLocationState(VacuumEnvironment.LOCATION_A));
// NOOP
tve.step();
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(9, tve.getPerformanceMeasure(agent), 0.001);
}
Aggregations