Exemple #1
0
  @Test
  public void whenTwoServicesHaveTheSameId_theyShouldBeEqual() {
    Service one =
        Service.Builder.newInstance("service").addSizeDimension(0, 10).setLocationId("foo").build();
    Service two =
        Service.Builder.newInstance("service").addSizeDimension(0, 10).setLocationId("fo").build();

    assertTrue(one.equals(two));
  }
Exemple #2
0
 @Test
 public void noName() {
   Set<Service> serviceSet = new HashSet<Service>();
   Service one =
       Service.Builder.newInstance("service").addSizeDimension(0, 10).setLocationId("foo").build();
   Service two =
       Service.Builder.newInstance("service").addSizeDimension(0, 10).setLocationId("fo").build();
   serviceSet.add(one);
   //		assertTrue(serviceSet.contains(two));
   serviceSet.remove(two);
   assertTrue(serviceSet.isEmpty());
 }
Exemple #3
0
 @Test
 public void
     whenShipmentIsBuiltWithoutSpecifyingCapacity_itShouldHvCapWithOneDimAndDimValOfZero() {
   Service one = Service.Builder.newInstance("s").setLocationId("foofoo").build();
   assertEquals(1, one.getSize().getNuOfDimensions());
   assertEquals(0, one.getSize().get(0));
 }
Exemple #4
0
 @Test
 public void
     whenShipmentIsBuiltWithConstructorWhereSizeIsSpecified_capacityShouldBeSetCorrectly() {
   Service one =
       Service.Builder.newInstance("s").addSizeDimension(0, 1).setLocationId("foofoo").build();
   assertEquals(1, one.getSize().getNuOfDimensions());
   assertEquals(1, one.getSize().get(0));
 }
Exemple #5
0
 @Test
 public void whenAddingTwoCapDimension_nuOfDimsShouldBeTwo() {
   Service one =
       Service.Builder.newInstance("s")
           .setLocationId("foofoo")
           .addSizeDimension(0, 2)
           .addSizeDimension(1, 4)
           .build();
   assertEquals(2, one.getSize().getNuOfDimensions());
 }
Exemple #6
0
 @Test
 public void whenSettingTimeWindow_itShouldBeSetCorrectly() {
   Service s =
       Service.Builder.newInstance("s")
           .setLocationId("loc")
           .setTimeWindow(TimeWindow.newInstance(1.0, 2.0))
           .build();
   assertEquals(1.0, s.getTimeWindow().getStart(), 0.01);
   assertEquals(2.0, s.getTimeWindow().getEnd(), 0.01);
 }
Exemple #7
0
 @Test
 public void whenAddingSkillsCaseSensV2_theyShouldBeAddedCorrectly() {
   Service s =
       Service.Builder.newInstance("s")
           .setLocationId("loc")
           .addRequiredSkill("screwDriver")
           .build();
   assertFalse(s.getRequiredSkills().containsSkill("drill"));
   assertFalse(s.getRequiredSkills().containsSkill("drilL"));
 }
Exemple #8
0
 @Test(expected = IllegalArgumentException.class)
 public void whenCapacityDimValueIsNegative_throwIllegalStateExpception() {
   @SuppressWarnings("unused")
   Service s =
       Service.Builder.newInstance("s").setLocationId("foo").addSizeDimension(0, -10).build();
 }
Exemple #9
0
 @Test
 public void whenSettingLocation_itShouldBeSetCorrectly() {
   Service s = Service.Builder.newInstance("s").setLocationId("loc").build();
   assertEquals("loc", s.getLocationId());
 }
Exemple #10
0
 @Test
 public void whenSettingServiceTime_itShouldBeSetCorrectly() {
   Service s = Service.Builder.newInstance("s").setLocationId("loc").setServiceTime(1).build();
   assertEquals(1.0, s.getServiceDuration(), 0.01);
 }
Exemple #11
0
 @Test(expected = IllegalArgumentException.class)
 public void whenTimeWindowIsNull_throwException() {
   @SuppressWarnings("unused")
   Service s = Service.Builder.newInstance("s").setLocationId("loc").setTimeWindow(null).build();
 }
Exemple #12
0
 @Test(expected = IllegalArgumentException.class)
 public void whenServiceTimeSmallerZero_throwIllegalStateException() {
   @SuppressWarnings("unused")
   Service s = Service.Builder.newInstance("s").setLocationId("loc").setServiceTime(-1).build();
 }
Exemple #13
0
 @Test(expected = IllegalStateException.class)
 public void whenSettingNeitherLocationIdNorCoord_throwsException() {
   @SuppressWarnings("unused")
   Service s = Service.Builder.newInstance("s").build();
 }
Exemple #14
0
 @Test
 public void whenSettingLocationCoord_itShouldBeSetCorrectly() {
   Service s = Service.Builder.newInstance("s").setCoord(Coordinate.newInstance(1, 2)).build();
   assertEquals(1.0, s.getCoord().getX(), 0.01);
   assertEquals(2.0, s.getCoord().getY(), 0.01);
 }
Exemple #15
0
 @Test
 public void whenCallingForNewInstanceOfBuilder_itShouldReturnBuilderCorrectly() {
   Service.Builder builder = Service.Builder.newInstance("s");
   assertNotNull(builder);
   assertTrue(builder instanceof Service.Builder);
 }
Exemple #16
0
 @Test
 public void nameShouldBeAssigned() {
   Service s =
       (Service) Service.Builder.newInstance("s").setLocationId("loc").setName("name").build();
   assertEquals("name", s.getName());
 }
Exemple #17
0
  @Before
  public void doBefore() {
    Vehicle vehicle = mock(Vehicle.class);
    VehicleType type = mock(VehicleType.class);
    when(type.getCapacityDimensions())
        .thenReturn(Capacity.Builder.newInstance().addDimension(0, 20).build());
    when(vehicle.getType()).thenReturn(type);

    VehicleRoutingProblem.Builder serviceProblemBuilder =
        VehicleRoutingProblem.Builder.newInstance();
    Service s1 =
        Service.Builder.newInstance("s").addSizeDimension(0, 10).setLocationId("loc").build();
    Service s2 =
        Service.Builder.newInstance("s2").addSizeDimension(0, 5).setLocationId("loc").build();
    serviceProblemBuilder.addJob(s1).addJob(s2);
    final VehicleRoutingProblem serviceProblem = serviceProblemBuilder.build();

    final VehicleRoutingProblem.Builder pdProblemBuilder =
        VehicleRoutingProblem.Builder.newInstance();
    Pickup pickup =
        (Pickup)
            Pickup.Builder.newInstance("pick").addSizeDimension(0, 10).setLocationId("loc").build();
    Delivery delivery =
        (Delivery)
            Delivery.Builder.newInstance("del").addSizeDimension(0, 5).setLocationId("loc").build();
    pdProblemBuilder.addJob(pickup).addJob(delivery);
    final VehicleRoutingProblem pdProblem = pdProblemBuilder.build();

    final VehicleRoutingProblem.Builder shipmentProblemBuilder =
        VehicleRoutingProblem.Builder.newInstance();
    Shipment shipment1 =
        Shipment.Builder.newInstance("s1")
            .addSizeDimension(0, 10)
            .setPickupLocation("pick")
            .setDeliveryLocation("del")
            .build();
    Shipment shipment2 =
        Shipment.Builder.newInstance("s2")
            .addSizeDimension(0, 5)
            .setPickupLocation("pick")
            .setDeliveryLocation("del")
            .build();
    shipmentProblemBuilder.addJob(shipment1).addJob(shipment2).build();
    final VehicleRoutingProblem shipmentProblem = shipmentProblemBuilder.build();

    VehicleRoute.Builder serviceRouteBuilder = VehicleRoute.Builder.newInstance(vehicle);
    serviceRouteBuilder.setJobActivityFactory(
        new JobActivityFactory() {

          @Override
          public List<AbstractActivity> createActivities(Job job) {
            return serviceProblem.copyAndGetActivities(job);
          }
        });
    serviceRoute = serviceRouteBuilder.addService(s1).addService(s2).build();

    VehicleRoute.Builder pdRouteBuilder = VehicleRoute.Builder.newInstance(vehicle);
    pdRouteBuilder.setJobActivityFactory(
        new JobActivityFactory() {
          @Override
          public List<AbstractActivity> createActivities(Job job) {
            return pdProblem.copyAndGetActivities(job);
          }
        });
    pickup_delivery_route = pdRouteBuilder.addService(pickup).addService(delivery).build();

    VehicleRoute.Builder shipmentRouteBuilder = VehicleRoute.Builder.newInstance(vehicle);
    shipmentRouteBuilder.setJobActivityFactory(
        new JobActivityFactory() {
          @Override
          public List<AbstractActivity> createActivities(Job job) {
            return shipmentProblem.copyAndGetActivities(job);
          }
        });
    shipment_route =
        shipmentRouteBuilder
            .addPickup(shipment1)
            .addPickup(shipment2)
            .addDelivery(shipment2)
            .addDelivery(shipment1)
            .build();

    stateManager = new StateManager(mock(VehicleRoutingProblem.class));
    stateManager.updateLoadStates();
  }
Exemple #18
0
 @Test
 public void whenSettingNoType_itShouldReturn_service() {
   Service s = Service.Builder.newInstance("s").setLocationId("loc").build();
   assertEquals("service", s.getType());
 }