use of aima.core.agent.impl.AbstractAgent in project aima-java by aimacode.
the class XYEnvironmentTest method testAddObjectTwice.
@Test
public void testAddObjectTwice() {
Assert.assertEquals(1, env.getAgents().size());
XYLocation loc = new XYLocation(5, 5);
AbstractAgent b = new MockAgent();
env.addObjectToLocation(b, loc);
Assert.assertEquals(2, env.getAgents().size());
Assert.assertEquals(loc, env.getCurrentLocationFor(b));
}
use of aima.core.agent.impl.AbstractAgent in project aima-java by aimacode.
the class XYEnvironmentTest method testGetObjectsNear.
@Test
public void testGetObjectsNear() {
XYLocation loc = new XYLocation(5, 5);
env.moveObjectToAbsoluteLocation(a, loc);
AbstractAgent b = new MockAgent();
AbstractAgent c = new MockAgent();
Wall w1 = new Wall();
env.addObjectToLocation(b, new XYLocation(7, 4));
env.addObjectToLocation(c, new XYLocation(5, 7));
env.addObjectToLocation(w1, new XYLocation(3, 10));
// at this point agent A should be able to see B and C but not the wall
// with a "vision radius" of 3
Set<EnvironmentObject> visibleToA = env.getObjectsNear(a, 3);
Assert.assertEquals(2, visibleToA.size());
// agent B should be able to see A only
Set<EnvironmentObject> visibleToB = env.getObjectsNear(b, 3);
Assert.assertEquals(1, visibleToB.size());
// move B South
env.moveObject(b, XYLocation.Direction.South);
// at this point both a and c should be visible to b
visibleToB = env.getObjectsNear(b, 3);
Assert.assertEquals(2, visibleToB.size());
// move c near the wall
env.moveObjectToAbsoluteLocation(c, new XYLocation(3, 11));
// only the wall should be visible
Set<EnvironmentObject> visibleToC = env.getObjectsNear(c, 3);
Assert.assertEquals(1, visibleToC.size());
}
use of aima.core.agent.impl.AbstractAgent in project aima-java by aimacode.
the class XYEnvironmentTest method testGetObjectsAt.
@Test
public void testGetObjectsAt() {
XYLocation loc = new XYLocation(5, 7);
env.moveObjectToAbsoluteLocation(a, loc);
Assert.assertEquals(1, env.getObjectsAt(loc).size());
AbstractAgent b = new MockAgent();
env.addObjectToLocation(b, loc);
Assert.assertEquals(2, env.getObjectsAt(loc).size());
}
Aggregations