From d50ce05a76df89a5af868640d84303fb65484907 Mon Sep 17 00:00:00 2001 From: Stefan Schroeder <4sschroeder@gmail.com> Date: Thu, 23 Jan 2014 12:13:57 +0100 Subject: [PATCH] bugfix issue #79 --- .../jsprit/core/problem/io/VrpXMLReader.java | 10 +++++++++- .../core/problem/io/VrpReaderV2Test.java | 20 ++++++++++++++++++- .../resources/finiteVrpForReaderV2Test.xml | 1 - 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/jsprit-core/src/main/java/jsprit/core/problem/io/VrpXMLReader.java b/jsprit-core/src/main/java/jsprit/core/problem/io/VrpXMLReader.java index ab4628da..e0445815 100644 --- a/jsprit-core/src/main/java/jsprit/core/problem/io/VrpXMLReader.java +++ b/jsprit-core/src/main/java/jsprit/core/problem/io/VrpXMLReader.java @@ -334,6 +334,10 @@ public class VrpXMLReader{ builder.setPickupLocation(pickupCoord.toString()); } } + //pickup-serviceTime + String pickupServiceTime = shipmentConfig.getString("pickup.duration"); + if(pickupServiceTime != null) builder.setPickupServiceTime(Double.parseDouble(pickupServiceTime)); + //pickup-tw String pickupTWStart = shipmentConfig.getString("pickup.timeWindows.timeWindow(0).start"); String pickupTWEnd = shipmentConfig.getString("pickup.timeWindows.timeWindow(0).end"); @@ -343,7 +347,7 @@ public class VrpXMLReader{ } - //delivery-locaitonId + //delivery-locationId String deliveryLocationId = shipmentConfig.getString("delivery.locationId"); if(deliveryLocationId != null){ builder.setDeliveryLocation(deliveryLocationId); @@ -361,7 +365,11 @@ public class VrpXMLReader{ builder.setDeliveryLocation(deliveryCoord.toString()); } } + //delivery-serviceTime + String deliveryServiceTime = shipmentConfig.getString("delivery.duration"); + if(deliveryServiceTime != null) builder.setDeliveryServiceTime(Double.parseDouble(deliveryServiceTime)); + //delivery-tw String delTWStart = shipmentConfig.getString("delivery.timeWindows.timeWindow(0).start"); String delTWEnd = shipmentConfig.getString("delivery.timeWindows.timeWindow(0).end"); if(delTWStart != null && delTWEnd != null){ diff --git a/jsprit-core/src/test/java/jsprit/core/problem/io/VrpReaderV2Test.java b/jsprit-core/src/test/java/jsprit/core/problem/io/VrpReaderV2Test.java index aa659a81..152b772c 100644 --- a/jsprit-core/src/test/java/jsprit/core/problem/io/VrpReaderV2Test.java +++ b/jsprit-core/src/test/java/jsprit/core/problem/io/VrpReaderV2Test.java @@ -221,7 +221,7 @@ public class VrpReaderV2Test { new VrpXMLReader(builder, null).read(inFileName); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("3"); - assertEquals(100.0,s.getPickupServiceTime(),0.01); + assertEquals(100.0,s.getDeliveryServiceTime(),0.01); } @Test @@ -279,5 +279,23 @@ public class VrpReaderV2Test { Shipment s = (Shipment) vrp.getJobs().get("4"); assertEquals("[x=10.0][y=0.0]",s.getDeliveryLocation()); } + + @Test + public void whenReadingJobs_pickupServiceTimeOfShipment4IsReadCorrectly(){ + VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); + new VrpXMLReader(builder, null).read(inFileName); + VehicleRoutingProblem vrp = builder.build(); + Shipment s = (Shipment) vrp.getJobs().get("4"); + assertEquals(0.0,s.getPickupServiceTime(),0.01); + } + + @Test + public void whenReadingJobs_deliveryServiceTimeOfShipment4IsReadCorrectly(){ + VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); + new VrpXMLReader(builder, null).read(inFileName); + VehicleRoutingProblem vrp = builder.build(); + Shipment s = (Shipment) vrp.getJobs().get("4"); + assertEquals(100.0,s.getDeliveryServiceTime(),0.01); + } } diff --git a/jsprit-core/src/test/resources/finiteVrpForReaderV2Test.xml b/jsprit-core/src/test/resources/finiteVrpForReaderV2Test.xml index a85b6cf6..d38fa774 100644 --- a/jsprit-core/src/test/resources/finiteVrpForReaderV2Test.xml +++ b/jsprit-core/src/test/resources/finiteVrpForReaderV2Test.xml @@ -133,7 +133,6 @@ - 10.0 1000.0