From 1f53c7262038eab04f6ab2b4b45e4042b85ea32f Mon Sep 17 00:00:00 2001 From: oblonski <4sschroeder@gmail.com> Date: Sun, 25 Aug 2013 18:49:29 +0200 Subject: [PATCH] introduce Pickup and Delivery, and adjust tests --- jsprit-core/src/main/java/basics/Delivery.java | 1 + jsprit-core/src/main/java/basics/Pickup.java | 1 + jsprit-core/src/main/java/basics/Service.java | 14 +++++++------- .../src/main/java/basics/io/VrpXMLReader.java | 2 +- .../src/test/java/basics/io/VrpReaderV2Test.java | 2 +- .../src/test/java/basics/io/VrpWriterV2Test.java | 10 +++++----- .../src/test/java/basics/io/VrpWriterV3Test.java | 12 +++--------- .../src/test/resources/infiniteWriterV2Test.xml | 8 ++++---- 8 files changed, 23 insertions(+), 27 deletions(-) diff --git a/jsprit-core/src/main/java/basics/Delivery.java b/jsprit-core/src/main/java/basics/Delivery.java index 9bef41e2..d78f9767 100644 --- a/jsprit-core/src/main/java/basics/Delivery.java +++ b/jsprit-core/src/main/java/basics/Delivery.java @@ -14,6 +14,7 @@ public class Delivery extends Service{ } public Delivery build(){ + this.setType("delivery"); return new Delivery(this); } diff --git a/jsprit-core/src/main/java/basics/Pickup.java b/jsprit-core/src/main/java/basics/Pickup.java index 066cd0fa..f9ed5aeb 100644 --- a/jsprit-core/src/main/java/basics/Pickup.java +++ b/jsprit-core/src/main/java/basics/Pickup.java @@ -13,6 +13,7 @@ public class Pickup extends Service { } public Pickup build(){ + this.setType("pickup"); return new Pickup(this); } diff --git a/jsprit-core/src/main/java/basics/Service.java b/jsprit-core/src/main/java/basics/Service.java index 3ab6b8c1..bc7386a9 100644 --- a/jsprit-core/src/main/java/basics/Service.java +++ b/jsprit-core/src/main/java/basics/Service.java @@ -34,7 +34,7 @@ public class Service implements Job { private String id; private String locationId; - private String name = "service"; + private String type = "service"; private Coordinate coord; private double serviceTime; private TimeWindow timeWindow = TimeWindow.newInstance(0.0, Double.MAX_VALUE); @@ -46,8 +46,8 @@ public class Service implements Job { this.demand = size; } - public Builder setName(String name){ - this.name = name; + protected Builder setType(String name){ + this.type = name; return this; } @@ -76,7 +76,7 @@ public class Service implements Job { if(coord == null) throw new IllegalStateException("either locationId or a coordinate must be given. But is not."); locationId = coord.toString(); } - + this.setType("service"); return new Service(this); } @@ -87,7 +87,7 @@ public class Service implements Job { private final String locationId; - private final String name; + private final String type; private final Coordinate coord; @@ -104,7 +104,7 @@ public class Service implements Job { serviceTime = builder.serviceTime; timeWindow = builder.timeWindow; demand = builder.demand; - name = builder.name; + type = builder.type; } @Override @@ -137,7 +137,7 @@ public class Service implements Job { * @return the name */ public String getType() { - return name; + return type; } @Override diff --git a/jsprit-core/src/main/java/basics/io/VrpXMLReader.java b/jsprit-core/src/main/java/basics/io/VrpXMLReader.java index e7c93c63..dc3dec8b 100644 --- a/jsprit-core/src/main/java/basics/io/VrpXMLReader.java +++ b/jsprit-core/src/main/java/basics/io/VrpXMLReader.java @@ -216,7 +216,7 @@ public class VrpXMLReader{ int cap = 0; if(capacityDemand != null) cap = Integer.parseInt(capacityDemand); Service.Builder builder = Service.Builder.newInstance(id, cap); - builder.setName(name); +// builder.setType(name); String serviceLocationId = serviceConfig.getString("locationId"); builder.setLocationId(serviceLocationId); Coordinate serviceCoord = null; diff --git a/jsprit-core/src/test/java/basics/io/VrpReaderV2Test.java b/jsprit-core/src/test/java/basics/io/VrpReaderV2Test.java index e666cbb6..d7c12a01 100644 --- a/jsprit-core/src/test/java/basics/io/VrpReaderV2Test.java +++ b/jsprit-core/src/test/java/basics/io/VrpReaderV2Test.java @@ -125,7 +125,7 @@ public class VrpReaderV2Test { new VrpXMLReader(builder, null).read(inFileName); VehicleRoutingProblem vrp = builder.build(); Service s1 = (Service) vrp.getJobs().get("1"); - assertEquals("delivery",s1.getType()); + assertEquals("service",s1.getType()); assertEquals(1,s1.getCapacityDemand()); assertEquals(0.0,s1.getServiceDuration(),0.01); assertEquals(2, vrp.getJobs().size()); diff --git a/jsprit-core/src/test/java/basics/io/VrpWriterV2Test.java b/jsprit-core/src/test/java/basics/io/VrpWriterV2Test.java index 063ad521..65bc136a 100644 --- a/jsprit-core/src/test/java/basics/io/VrpWriterV2Test.java +++ b/jsprit-core/src/test/java/basics/io/VrpWriterV2Test.java @@ -130,8 +130,8 @@ public class VrpWriterV2Test { builder.addVehicle(v1); builder.addVehicle(v2); - Service s1 = Service.Builder.newInstance("1", 1).setLocationId("loc").setName("delivery").setServiceTime(2.0).build(); - Service s2 = Service.Builder.newInstance("2", 1).setLocationId("loc2").setName("delivery").setServiceTime(4.0).build(); + Service s1 = Service.Builder.newInstance("1", 1).setLocationId("loc").setServiceTime(2.0).build(); + Service s2 = Service.Builder.newInstance("2", 1).setLocationId("loc2").setServiceTime(4.0).build(); VehicleRoutingProblem vrp = builder.addService(s1).addService(s2).build(); new VrpXMLWriter(vrp, null).write(infileName); @@ -144,7 +144,7 @@ public class VrpWriterV2Test { Service s1_read = (Service) vrp.getJobs().get("1"); assertEquals("1", s1_read.getId()); assertEquals("loc", s1_read.getLocationId()); - assertEquals("delivery", s1_read.getType()); + assertEquals("service", s1_read.getType()); assertEquals(2.0,s1_read.getServiceDuration(),0.01); } @@ -162,8 +162,8 @@ public class VrpWriterV2Test { builder.addVehicle(v1); builder.addVehicle(v2); - Service s1 = Service.Builder.newInstance("1", 1).setLocationId("loc").setName("delivery").setServiceTime(2.0).build(); - Service s2 = Service.Builder.newInstance("2", 1).setLocationId("loc2").setName("delivery").setServiceTime(4.0).build(); + Service s1 = Service.Builder.newInstance("1", 1).setLocationId("loc").setServiceTime(2.0).build(); + Service s2 = Service.Builder.newInstance("2", 1).setLocationId("loc2").setServiceTime(4.0).build(); builder.addService(s1).addService(s2); VehicleRoutingProblem vrp = builder.build(); diff --git a/jsprit-core/src/test/java/basics/io/VrpWriterV3Test.java b/jsprit-core/src/test/java/basics/io/VrpWriterV3Test.java index 96628fff..8419968a 100644 --- a/jsprit-core/src/test/java/basics/io/VrpWriterV3Test.java +++ b/jsprit-core/src/test/java/basics/io/VrpWriterV3Test.java @@ -20,8 +20,6 @@ ******************************************************************************/ package basics.io; -import static org.junit.Assert.assertEquals; - import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -31,19 +29,15 @@ import org.junit.Test; import basics.Service; import basics.VehicleRoutingProblem; -import basics.VehicleRoutingProblemSolution; -import basics.Service.Builder; import basics.VehicleRoutingProblem.FleetComposition; import basics.VehicleRoutingProblem.FleetSize; -import basics.io.VrpXMLReader; -import basics.io.VrpXMLWriter; +import basics.VehicleRoutingProblemSolution; import basics.route.End; import basics.route.ServiceActivity; import basics.route.Start; import basics.route.Vehicle; import basics.route.VehicleImpl; import basics.route.VehicleRoute; -import basics.route.VehicleType; import basics.route.VehicleTypeImpl; public class VrpWriterV3Test { @@ -69,8 +63,8 @@ public class VrpWriterV3Test { builder.addVehicle(v1); builder.addVehicle(v2); - Service s1 = Service.Builder.newInstance("1", 1).setLocationId("loc").setName("delivery").setServiceTime(2.0).build(); - Service s2 = Service.Builder.newInstance("2", 1).setLocationId("loc2").setName("delivery").setServiceTime(4.0).build(); + Service s1 = Service.Builder.newInstance("1", 1).setLocationId("loc").setServiceTime(2.0).build(); + Service s2 = Service.Builder.newInstance("2", 1).setLocationId("loc2").setServiceTime(4.0).build(); builder.addService(s1).addService(s2); VehicleRoutingProblem vrp = builder.build(); diff --git a/jsprit-core/src/test/resources/infiniteWriterV2Test.xml b/jsprit-core/src/test/resources/infiniteWriterV2Test.xml index d5ce756c..5761c975 100644 --- a/jsprit-core/src/test/resources/infiniteWriterV2Test.xml +++ b/jsprit-core/src/test/resources/infiniteWriterV2Test.xml @@ -50,7 +50,7 @@ - + loc2 1 4.0 @@ -61,7 +61,7 @@ - + loc 1 2.0 @@ -82,12 +82,12 @@ noDriver v1 10.0 - + 1 20.0 30.0 - + 2 40.0 80.0