@Override public Point getPosition(RoadUser roadUser) { return delegate().getPosition(roadUser); }
@Test(expected = IllegalArgumentException.class) public void getPositionFail() { model.getPosition(null); }
@Test(expected = IllegalArgumentException.class) public void getPositionFail2() { model.getPosition(new TestRoadUser()); }
@Test public void addObjectAtSamePosition() { final RoadUser agent1 = new TestRoadUser(); final RoadUser agent2 = new TestRoadUser(); model.addObjectAt(agent1, SW); model.addObjectAtSamePosition(agent2, agent1); assertEquals(SW, model.getPosition(agent1)); assertEquals(SW, model.getPosition(agent2)); }
@Test public void getPosition() { final RoadUser ru = new TestRoadUser(); model.addObjectAt(ru, SW); assertEquals(SW, model.getPosition(ru)); }
@Test public void testMoveToDistance() { final TestRoadUser testRoadUser = new TestRoadUser(); model.addObjectAt(testRoadUser, SW); final Point start = model.getPosition(testRoadUser); final MoveProgress mp = model.moveTo(testRoadUser, NW, timeLength(3)); final Point end = model.getPosition(testRoadUser); final double lineDist = Point.distance(start, end); assertThat(lineDist).isWithin(EPSILON) .of(mp.distance().doubleValue(model.getDistanceUnit())); }
@Test public void containsObjectAt() { assertFalse(model.containsObjectAt(new TestRoadUser(), new Point(2, 3))); final TestRoadUser ru = new TestRoadUser(); model.addObjectAt(ru, SW); assertFalse(model.containsObjectAt(ru, new Point(2, 3))); assertTrue(model.containsObjectAt(ru, SW)); model.followPath(ru, asPath(SE), hour(1)); final Point p = model.getPosition(ru); assertTrue(model.containsObjectAt(ru, PointTestUtil.duplicate(p))); }