public SubtourModeChoice( final int numberOfThreads, final String[] modes, final String[] chainBasedModes, final boolean considerCarAvailability, double probaForChangeSingleTripMode, Provider<TripRouter> tripRouterProvider) { super(numberOfThreads); this.probaForChangeSingleTripMode = probaForChangeSingleTripMode; this.tripRouterProvider = tripRouterProvider; this.modes = modes.clone(); this.chainBasedModes = chainBasedModes.clone(); this.permissibleModesCalculator = new PermissibleModesCalculatorImpl( this.modes, considerCarAvailability); }
@Test public void testWhenConsideringCarAvailability() throws Exception { final List<String> modesWithCar = Arrays.asList( TransportMode.car , "rail" , "plane" ); final List<String> modesWithoutCar = Arrays.asList( "rail" , "plane" ); final PermissibleModesCalculator calculatorWithCarAvailability = new PermissibleModesCalculatorImpl( modesWithCar.toArray( new String[0] ), true); for (Fixture f : fixtures) { assertListsAreCompatible( f.name, f.carAvail ? modesWithCar : modesWithoutCar, calculatorWithCarAvailability.getPermissibleModes( f.plan ) ); } }
@Test public void testWhenNotConsideringCarAvailability() throws Exception { final List<String> modesWithCar = Arrays.asList( TransportMode.car , "rail" , "plane" ); final PermissibleModesCalculator calculatorWithCarAvailability = new PermissibleModesCalculatorImpl( modesWithCar.toArray( new String[0] ), false); for (Fixture f : fixtures) { assertListsAreCompatible( f.name, modesWithCar, calculatorWithCarAvailability.getPermissibleModes( f.plan ) ); } }
stagesActivities, new MainModeIdentifierImpl(), new PermissibleModesCalculatorImpl( MODES , false ), MODES, CHAIN_BASED_MODES,
stagesActivities, new MainModeIdentifierImpl(), new PermissibleModesCalculatorImpl( MODES , false ), MODES, CHAIN_BASED_MODES,