@Override public MoveProgress moveTo(MovingRoadUser object, Point destination, TimeLapse time, GeomHeuristic heuristic) { return delegate().moveTo(object, destination, time, heuristic); }
@Override public MoveProgress moveTo(MovingRoadUser object, RoadUser destination, TimeLapse time, GeomHeuristic heuristic) { return delegate().moveTo(object, destination, time, heuristic); }
@Override public MoveProgress moveTo(MovingRoadUser object, Point destination, TimeLapse time) { return delegate().moveTo(object, destination, time); }
@Override public MoveProgress moveTo(MovingRoadUser object, RoadUser destination, TimeLapse time) { return delegate().moveTo(object, destination, time); }
/** * {@inheritDoc} * @throws UnsupportedOperationException when diversion is not allowed. */ @Override public MoveProgress moveTo(MovingRoadUser object, Point destination, TimeLapse time) { if (allowDiversion) { return delegate().moveTo(object, destination, time); } else { return unsupported(); } }
/** * {@inheritDoc} * @throws UnsupportedOperationException when diversion is not allowed. */ @Override public MoveProgress moveTo(MovingRoadUser object, Point destination, TimeLapse time) { if (allowDiversion) { return delegate().moveTo(object, destination, time); } else { return unsupported(); } }
destinationHistory.put(object, newDestinationObject); return delegate().moveTo(object, newDestinationObject.dest(), time, heuristic);
destinationHistory.put(object, newDestinationObject); return delegate().moveTo(object, newDestinationObject.dest(), time, heuristic);
@Test public void moveToEventIssuerType() { final MovingRoadUser user = new TestRoadUser(); model.addObjectAt(user, SW); final ListenerEventHistory list = new ListenerEventHistory(); model.getEventAPI().addListener(list, RoadEventType.MOVE); assertTrue(list.getHistory().isEmpty()); model.moveTo(user, NW, TimeLapseFactory.create(0, 10)); assertEquals(1, list.getHistory().size()); assertEquals(RoadEventType.MOVE, list.getHistory().get(0).getEventType()); assertEquals(model, list.getHistory().get(0).getIssuer()); }
@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 getDestination() { final TestRoadUser testRoadUser = new TestRoadUser(); model.addObjectAt(testRoadUser, SW); assertNull(model.getDestination(testRoadUser)); assertNull(model.getDestination(new TestRoadUser())); final List<Point> path = model.getShortestPathTo(SW, NW); model.followPath(testRoadUser, newLinkedList(path), TimeLapseFactory.create(0, 1)); assertEquals(NW, model.getDestination(testRoadUser)); model.moveTo(testRoadUser, NE, TimeLapseFactory.create(0, 1)); assertEquals(NE, model.getDestination(testRoadUser)); }