final TestSimAPI simAPI = new TestSimAPI(0, 1, NonSI.MINUTE);
final SimulationConverter handle = Solvers.converterBuilder().with(mp)
.with(simAPI).build();
final StateContext sc = handle.convert(SolveArgs.create().useAllParcels()
.noCurrentRoutes());
assertEquals(ImmutableMap.of(v1.dto, v1), sc.vehicleMap);
assertEquals(ImmutableMap.of(p1.dto, p1), sc.parcelMap);
assertEquals(ImmutableSet.of(p1.dto), sc.state.availableParcels);
checkVehicles(asList(v1), sc.state.vehicles);
rm.moveTo(v1, p1, create(NonSI.HOUR, 0L, 1L));
checkVehicles(
asList(v1),
handle.convert(SolveArgs.create().useAllParcels().noCurrentRoutes()).state.vehicles);
rm.moveTo(v1, p1, create(NonSI.HOUR, 0, 40));
assertTrue(rm.equalPosition(v1, p1));
pm.service(v1, p1, create(NonSI.HOUR, 0, 1));
assertEquals(VehicleState.PICKING_UP, pm.getVehicleState(v1));
final StateContext sc2 = handle.convert(SolveArgs.create().useAllParcels()
.noCurrentRoutes());
assertTrue(sc2.state.availableParcels.contains(p1.dto));
assertFalse(sc2.state.vehicles.get(0).contents.contains(p1.dto));
assertSame(p1.dto, sc2.state.vehicles.get(0).destination);