@Test
public void testGetObjectsAndPositions() {
final RoadUser agent1 = new TestRoadUser();
final RoadUser agent2 = new TestRoadUser();
final RoadUser agent3 = new RoadUser() {
@Override
public void initRoadUser(RoadModel pModel) {
}
};
model.addObjectAt(agent1, SW);
model.addObjectAt(agent2, SE);
model.addObjectAt(agent3, NE);
final Map<RoadUser, Point> mapCopy = model.getObjectsAndPositions();
final Set<RoadUser> setCopy = model.getObjects();
final Set<TestRoadUser> subsetCopy = model
.getObjectsOfType(TestRoadUser.class);
final Collection<Point> posCopy = model.getObjectPositions();
assertEquals(3, model.getObjectsAndPositions().size());
assertEquals(3, mapCopy.size());
assertEquals(3, setCopy.size());
assertEquals(2, subsetCopy.size());
assertEquals(3, posCopy.size());
model.removeObject(agent1);
assertEquals(2, model.getObjectsAndPositions().size());
assertEquals(3, mapCopy.size());
assertEquals(3, setCopy.size());
assertEquals(2, subsetCopy.size());
assertEquals(3, posCopy.size());
}