@Override public void setSolverProvider(RtSimSolverBuilder builder) { builder.build(frs2); } });
@Override public void setSolverProvider(RtSimSolverBuilder builder) { solverHandle = Optional.of(builder.setVehicles(vehicle.asSet()) .build(solver)); }
@Override public void setSolverProvider(RtSimSolverBuilder builder) { builder.build(frs1); } });
@Override public void setSolverProvider(RtSimSolverBuilder builder) { simSolver = Optional.of(builder.setVehicles(vehicle.asSet()).build(solver)); final RtSolverRoutePlanner rp = this; simSolver.get().getEventAPI().addListener(new Listener() { @Override public void handleEvent(Event e) { route = newLinkedList(simSolver.get().getCurrentSchedule().get(0)); LOGGER.trace("Computed new route for {}: {}.", vehicle.get(), route); rp.dispatchChangeEvent(); } }, EventType.NEW_SCHEDULE); }
@Override public void setSolverProvider(RtSimSolverBuilder builder) { builder.build(mock(RealtimeSolver.class)); } });
@Override public void setSolverProvider(RtSimSolverBuilder builder) { simSolver = Optional.of(builder.setVehicles(ImmutableSet.of(this)).build(solver)); final RtSimSolver s = simSolver.get(); s.getEventAPI().addListener(new Listener() { @Override public void handleEvent(Event e) { assertThat(s.isScheduleUpdated()).isTrue(); assertThat(s.getCurrentSchedule()).hasSize(1); assertThat(s.isScheduleUpdated()).isFalse(); } }, RtSimSolver.EventType.NEW_SCHEDULE); }
@Override public void setSolverProvider(RtSimSolverBuilder builder) { solvers.add( builder.build(SleepySolver.create(500L, new NopSolver()))); } });
@Override public void setSolverProvider(RtSimSolverBuilder builder) { solvers.add( builder.build(SleepySolver.create(1000L, new NopSolver()))); } });
final RtSimSolverBuilder b = model.get(RtSimSolverBuilder.class); assertThat(model.mode).isEqualTo(Mode.SINGLE_MODE); b.build(mock(RealtimeSolver.class)); boolean fail = false; try { b2.build(mock(RealtimeSolver.class)); } catch (final IllegalStateException e) { assertThat(e.getMessage()).contains("can build only one");
@Override public RtCentralModel build( DependencyProvider dependencyProvider) { final RandomProvider rnd = dependencyProvider.get(RandomProvider.class); final RealtimeSolver solver = getSolverSupplier() .get(rnd.masterInstance().nextLong()); final RtSimSolver s = dependencyProvider.get(RtSimSolverBuilder.class) .build(solver); final RealtimeClockController clock = dependencyProvider .get(RealtimeClockController.class); final PDPRoadModel rm = dependencyProvider.get(PDPRoadModel.class); final PDPModel pm = dependencyProvider.get(PDPModel.class); return new RtCentral.RtCentralModel(clock, s, rm, pm, getOptions()); }
/** * Test exception propagation. */ @Test public void testExceptionPropagation2() { final RtSimSolver rss = model.get(RtSimSolverBuilder.class).build(new Solver() { @Override public ImmutableList<ImmutableList<Parcel>> solve( GlobalStateObject state) { throw new IllegalArgumentException("This is a test"); } }); rss.solve(SolveArgs.create()); boolean fail = false; try { // loop is needed because the solver may be executed at a slightly later // time while (true) { model.tick(TimeLapseFactory.create(0, 1000)); } } catch (final IllegalArgumentException e) { assertThat(e.getMessage()).isEqualTo("This is a test"); fail = true; } assertThat(fail).isTrue(); }
b.build(frs3); assertThat(model.manager.simSolvers).hasSize(3);
public void testExceptionPropagation() { final RtSimSolver rss = model.get(RtSimSolverBuilder.class).build(new RealtimeSolver() { @Override public void init(Scheduler scheduler) {}
final RtSimSolverBuilder builder = model.get(RtSimSolverBuilder.class); final RtSimSolver simSolver = builder.build(new InterruptibleBusySolver(3L));
public void testConcurrentSolvers() { final RtSimSolverBuilder b = model.get(RtSimSolverBuilder.class); final RtSimSolver simSolver = b.build(RtStAdapters .toRealtime(SleepySolver.create(1000, new NopSolver()))); final Parcel p = Parcel.builder(new Point(0, 0), new Point(1, 1))
final RtSimSolverBuilder builder = model.get(RtSimSolverBuilder.class); final RtSimSolver simSolver = builder.build(new InterruptibleBusySolver(3L));