void checkVehicles(List<? extends TestVehicle> expected,
ImmutableList<VehicleStateObject> states) {
assertEquals(expected.size(), states.size());
for (int i = 0; i < expected.size(); i++) {
final TestVehicle vehicle = expected.get(i);
final VehicleDTO dto = vehicle.dto;
final VehicleStateObject vs = states.get(i);
assertEquals(dto.getAvailabilityTimeWindow(),
vs.getDto().getAvailabilityTimeWindow());
assertEquals(dto.getCapacity(), vs.getDto().getCapacity());
assertEquals(dto.getSpeed(), vs.getDto().getSpeed(), 0);
assertEquals(dto.getStartPosition(), vs.getDto().getStartPosition());
assertEquals(rm.getPosition(expected.get(i)), vs.getLocation());
final Parcel dest = rm.getDestinationToParcel(vehicle);
if (dest == null) {
assertFalse(vs.getDestination().isPresent());
} else {
assertEquals(dest, vs.getDestination().get());
}
if (pm.getVehicleState(vehicle) == VehicleState.IDLE) {
assertEquals(0, vs.getRemainingServiceTime());
} else {
assertEquals(pm.getVehicleActionInfo(vehicle).timeNeeded(),
vs.getRemainingServiceTime());
}
}
}