@Override public void setRandomGenerator(RandomProvider provider) { rng = Optional.of(provider.newInstance()); } }
/** * Get access to the main random generator used in the simulator. * @return the random generator of the simulator */ @Override public RandomGenerator getRandomGenerator() { return rand.get(RandomProvider.class).masterInstance(); }
@Override public void setRandomGenerator(RandomProvider provider) { rngs.add(provider.sharedInstance(List.class)); } });
@Override public void setRandomGenerator(RandomProvider provider) { provider.getSeed(); boolean fail = false; try { provider.getSeed(); } catch (final IllegalStateException e) { fail = true; fail = false; try { provider.masterInstance(); } catch (final IllegalStateException e) { fail = true; fail = false; try { provider.newInstance(); } catch (final IllegalStateException e) { fail = true; fail = false; try { provider.sharedInstance(Object.class); } catch (final IllegalStateException e) { fail = true;
@Override public void setRandomGenerator(RandomProvider provider) { rng = Optional.of(provider.newInstance()); } }
@Override public void setRandomGenerator(RandomProvider provider) { final RandomGenerator rng = provider.masterInstance(); assertSame(model.masterRandomGenerator, rng); testUnmodifiable(rng); } });
@Override public void setRandomGenerator(RandomProvider provider) { rngs.add(provider.sharedInstance(Collection.class)); } });
@Override public void setRandomGenerator(RandomProvider provider) { randomGenerator = provider.newInstance(); } }
/** * Test that requesting something from the {@link RandomProvider} after the * {@link RandomUser#setRandomGenerator(RandomProvider)} is complete results * in an {@link IllegalStateException}. */ @Test public void testTooLateUsage() { final List<RandomProvider> rp = new ArrayList<>(); model.register(new RandomUser() { @Override public void setRandomGenerator(RandomProvider provider) { rp.add(provider); } }); boolean fail = false; try { rp.get(0).masterInstance(); } catch (final IllegalStateException e) { fail = true; } assertTrue(fail); }
@Override public void setRandomGenerator(RandomProvider provider) { rngs.add(provider.sharedInstance(List.class)); } });
@Override public void setRandomGenerator(RandomProvider provider) { rng = Optional.of(provider.newInstance()); } }
@Override public CentralModel build(DependencyProvider dependencyProvider) { final Clock clock = dependencyProvider.get(Clock.class); final PDPRoadModel rm = dependencyProvider.get(PDPRoadModel.class); final PDPModel pm = dependencyProvider.get(PDPModel.class); final RandomProvider rnd = dependencyProvider.get(RandomProvider.class); final Solver solver = getSolverSupplier().get(rnd.masterInstance().nextLong()); return new CentralModel(clock, rm, pm, solver); }
@Override public CommModel build(DependencyProvider dependencyProvider) { return new CommModel( dependencyProvider.get(RandomProvider.class).newInstance(), this); } }
@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()); }
@Override public void setRandomGenerator(RandomProvider provider) { assertNotSame(model.masterRandomGenerator, provider.newInstance()); } });
@Override public DemoPanel build(DependencyProvider dependencyProvider) { final RoadModel rm = dependencyProvider.get(RoadModel.class); final RandomGenerator r = dependencyProvider.get(RandomProvider.class) .newInstance(); return new DemoPanel(string(), rm, r); } }
@Override public DemoPanel build(DependencyProvider dependencyProvider) { final RoadModel rm = dependencyProvider.get(RoadModel.class); final RandomGenerator r = dependencyProvider.get(RandomProvider.class) .newInstance(); return new DemoPanel(string(), rm, r); } }
@Override public AgvModel build(DependencyProvider dependencyProvider) { final RandomGenerator r = dependencyProvider.get(RandomProvider.class) .newInstance(); return new AgvModel(r, getPoints(), getBorder()); }
@Override public AgvModel build(DependencyProvider dependencyProvider) { final RandomGenerator r = dependencyProvider.get(RandomProvider.class) .newInstance(); return new AgvModel(r, getPoints(), getBorder()); }
@Override public AuctionCommModel<T> build(DependencyProvider dependencyProvider) { final Clock clock = dependencyProvider.get(Clock.class); @Nullable RandomGenerator rng = null; if (getCfbShuffling()) { rng = dependencyProvider.get(RandomProvider.class).newInstance(); } return new AuctionCommModel<T>(getStopCondition(), clock, getMaxAuctionDuration(), rng); }