final DynamicSpeedGenerator gen = builder.withGraph(graph) .startConnections(StochasticSuppliers.constant(connD)) .shockwaveWaitForRecedeDurations( StochasticSuppliers.constant(10 * MINUTE)) .shockwaveBehaviour(StochasticSuppliers.constant(HALF)) .shockwaveExpandingSpeed(StochasticSuppliers.constant(TEN_KM_H)) .shockwaveRecedingSpeed(StochasticSuppliers.constant(TEN_KM_H)) .build();
final DynamicSpeedGenerator gen = builder.withGraph(graph) .startConnections(StochasticSuppliers.constant(connD)) .shockwaveWaitForRecedeDurations( StochasticSuppliers.constant(5 * MINUTE)) .shockwaveEventDurations(StochasticSuppliers.constant(5 * MINUTE)) .shockwaveBehaviour(StochasticSuppliers.constant(HALF)) .shockwaveExpandingSpeed( StochasticSuppliers.constant(TEN_KM_H)) .shockwaveRecedingSpeed( StochasticSuppliers.constant(TEN_KM_H)) .build();
Lists.newArrayList(conna, connA, connB, connC, connD, connE, connF)); final DynamicSpeedGenerator gen = builder.withGraph(graph) .startConnections(StochasticSuppliers.constant(connA)) .shockwaveWaitForRecedeDurations( StochasticSuppliers.constant(17 * SECOND)) .shockwaveBehaviour(StochasticSuppliers.constant(ZERO)) .shockwaveExpandingSpeed(StochasticSuppliers.constant(FIFTEEN_KM_H)) .shockwaveRecedingSpeed(StochasticSuppliers.constant(twentySomethingKmH)) .build();
final DynamicSpeedGenerator gen = builder.withGraph(graph) .startConnections(StochasticSuppliers.constant(connD)) .shockwaveWaitForRecedeDurations( StochasticSuppliers.constant(10 * MINUTE)) .shockwaveBehaviour(StochasticSuppliers.constant(HALF)) .shockwaveExpandingSpeed( StochasticSuppliers.constant(FROM_TEN_KM_H_DESCENDING)) .shockwaveRecedingSpeed( StochasticSuppliers.constant(FROM_FIVE_KM_H_DESCENDING)) .build();
final DynamicSpeedGenerator gen = builder.withGraph(graph) .startConnections(StochasticSuppliers.constant(connE)) .shockwaveWaitForRecedeDurations( StochasticSuppliers.constant(10 * MINUTE)) .shockwaveBehaviour(StochasticSuppliers.constant(LINEAR_DESCENDING)) .shockwaveExpandingSpeed(StochasticSuppliers.constant(TEN_KM_H)) .shockwaveRecedingSpeed(StochasticSuppliers.constant(TEN_KM_H)) .build();
graph.addConnections(Lists.newArrayList(connCprime, connDprime, connDD)); final DynamicSpeedGenerator gen = builder.withGraph(graph) .startConnections(StochasticSuppliers.constant(connD)) .shockwaveWaitForRecedeDurations( StochasticSuppliers.constant(10 * MINUTE)) .shockwaveBehaviour(StochasticSuppliers.constant(HALF)) .shockwaveExpandingSpeed(StochasticSuppliers.constant(TEN_KM_H)) .shockwaveRecedingSpeed(StochasticSuppliers.constant(TEN_KM_H)) .build();
graph.addConnections(Lists.newArrayList(connA, connB)); final DynamicSpeedGenerator gen = builder.withGraph(graph) .startConnections(StochasticSuppliers.constant(connA)) .shockwaveWaitForRecedeDurations( StochasticSuppliers.constant(10 * MINUTE)) .shockwaveBehaviour(StochasticSuppliers.constant(HALF)) .shockwaveExpandingSpeed(StochasticSuppliers.constant(TEN_KM_H)) .shockwaveRecedingSpeed(StochasticSuppliers.constant(TEN_KM_H)) .build();
/** * @return A newly constructed {@link Builder} for constructing * {@link DynamicSpeedGenerator}s. */ public static Builder builder() { return new Builder(); }
@Before public void setUp() throws Exception { graph = new TableGraph<>(); builder = DynamicSpeeds.builder() .numberOfShockwaves(StochasticSuppliers.constant(1)); seed = 123; scenarioLength = 20 * MINUTE; }