final ModelProvider mp = new TestModelProvider(new ArrayList<Model<?>>(
asList(rm, pm)));
rm.registerModelProvider(mp);
pm.registerModelProvider(mp);
final VehicleDTO v = new VehicleDTO(new Point(1, 1), 30, 1, new TimeWindow(
0, minute(30)));
d = new RouteFollowingVehicle(v, allowDelayedRouteChanges);
d2 = new RouteFollowingVehicle(v, allowDelayedRouteChanges);
p1 = new DefaultParcel(ParcelDTO
.builder(new Point(1, 2), new Point(1, 4))
.pickupTimeWindow(new TimeWindow(minute(5), minute(15)))
.deliveryTimeWindow(new TimeWindow(minute(16), minute(30)))
.pickupDuration(minute(3))
.deliveryDuration(minute(1))
.build());
p2 = new DefaultParcel(ParcelDTO
.builder(new Point(1, 3), new Point(1, 5))
.pickupTimeWindow(new TimeWindow(minute(15) + 10, minute(25)))
.deliveryTimeWindow(new TimeWindow(minute(22) + 10, minute(30)))
.deliveryDuration(minute(3))
.build());
p3 = new DefaultParcel(ParcelDTO
.builder(new Point(1, 3), new Point(1, 5))
.pickupTimeWindow(new TimeWindow(minute(15) + 10, minute(25)))
.deliveryTimeWindow(new TimeWindow(minute(22) + 10, minute(30)))
.serviceDuration(minute(3))
.build());
depot = new DefaultDepot(new Point(3, 5));
if (register) {