mirror of
https://github.com/graphhopper/jsprit.git
synced 2020-01-24 07:45:05 +01:00
replace deprecated methods
This commit is contained in:
parent
db0cdbe310
commit
62e12d5153
23 changed files with 291 additions and 327 deletions
|
|
@ -16,30 +16,37 @@
|
|||
******************************************************************************/
|
||||
package jsprit.instance.reader;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import jsprit.core.problem.VehicleRoutingProblem;
|
||||
import jsprit.core.problem.VehicleRoutingProblem.FleetSize;
|
||||
import jsprit.core.problem.job.Service;
|
||||
import jsprit.core.problem.vehicle.Vehicle;
|
||||
import jsprit.instance.reader.ChristofidesReader;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
|
||||
public class ChristophidesReaderTest {
|
||||
|
||||
@Test
|
||||
public void whenReadingInstance_nuOfCustomersIsCorrect(){
|
||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new ChristofidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc1.txt").getPath());
|
||||
new ChristofidesReader(builder).read(getPath("vrpnc1.txt"));
|
||||
VehicleRoutingProblem vrp = builder.build();
|
||||
assertEquals(50,vrp.getJobs().values().size());
|
||||
}
|
||||
|
||||
private String getPath(String string) {
|
||||
URL resource = this.getClass().getClassLoader().getResource(string);
|
||||
if(resource == null) throw new IllegalStateException("resource " + string + " does not exist");
|
||||
return resource.getPath();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenReadingInstance_fleetSizeIsInfinite(){
|
||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new ChristofidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc1.txt").getPath());
|
||||
new ChristofidesReader(builder).read(getPath("vrpnc1.txt"));
|
||||
VehicleRoutingProblem vrp = builder.build();
|
||||
assertEquals(FleetSize.INFINITE,vrp.getFleetSize());
|
||||
}
|
||||
|
|
@ -47,7 +54,7 @@ public class ChristophidesReaderTest {
|
|||
@Test
|
||||
public void whenReadingInstance_vehicleCapacitiesAreCorrect(){
|
||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new ChristofidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc1.txt").getPath());
|
||||
new ChristofidesReader(builder).read(getPath("vrpnc1.txt"));
|
||||
VehicleRoutingProblem vrp = builder.build();
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
assertEquals(160,v.getType().getCapacityDimensions().get(0));
|
||||
|
|
@ -57,18 +64,18 @@ public class ChristophidesReaderTest {
|
|||
@Test
|
||||
public void whenReadingInstance_vehicleLocationsAreCorrect_and_correspondToDepotLocation(){
|
||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new ChristofidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc1.txt").getPath());
|
||||
new ChristofidesReader(builder).read(getPath("vrpnc1.txt"));
|
||||
VehicleRoutingProblem vrp = builder.build();
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
assertEquals(30.0,v.getStartLocationCoordinate().getX(),0.01);
|
||||
assertEquals(40.0,v.getStartLocationCoordinate().getY(),0.01);
|
||||
assertEquals(30.0,v.getStartLocation().getCoordinate().getX(),0.01);
|
||||
assertEquals(40.0,v.getStartLocation().getCoordinate().getY(),0.01);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenReadingInstance_vehicleDurationsAreCorrect(){
|
||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new ChristofidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc13.txt").getPath());
|
||||
new ChristofidesReader(builder).read(getPath("vrpnc13.txt"));
|
||||
VehicleRoutingProblem vrp = builder.build();
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
assertEquals(0.0,v.getEarliestDeparture(),0.01);
|
||||
|
|
@ -79,7 +86,7 @@ public class ChristophidesReaderTest {
|
|||
@Test
|
||||
public void whenReadingInstance_demandOfCustomerOneIsCorrect(){
|
||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new ChristofidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc1.txt").getPath());
|
||||
new ChristofidesReader(builder).read(getPath("vrpnc1.txt"));
|
||||
VehicleRoutingProblem vrp = builder.build();
|
||||
assertEquals(7,vrp.getJobs().get("1").getSize().get(0));
|
||||
}
|
||||
|
|
@ -87,7 +94,7 @@ public class ChristophidesReaderTest {
|
|||
@Test
|
||||
public void whenReadingInstance_serviceDurationOfCustomerTwoIsCorrect(){
|
||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new ChristofidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc13.txt").getPath());
|
||||
new ChristofidesReader(builder).read(getPath("vrpnc13.txt"));
|
||||
VehicleRoutingProblem vrp = builder.build();
|
||||
assertEquals(50.0,((Service)vrp.getJobs().get("2")).getServiceDuration(),0.1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ import jsprit.core.problem.job.Service;
|
|||
import jsprit.core.problem.vehicle.Vehicle;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
|
|
@ -31,15 +33,21 @@ public class CordeauReaderTest {
|
|||
@Test
|
||||
public void testCordeauReader(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new CordeauReader(vrpBuilder).read(this.getClass().getClassLoader().getResource("p01").getPath());
|
||||
new CordeauReader(vrpBuilder).read(getPath("p01"));
|
||||
vrpBuilder.build();
|
||||
|
||||
}
|
||||
|
||||
private String getPath(String string) {
|
||||
URL resource = this.getClass().getClassLoader().getResource(string);
|
||||
if(resource == null) throw new IllegalStateException("resource " + string + " does not exist");
|
||||
return resource.getPath();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenReadingInstance_fleetSizeIsFinite(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new CordeauReader(vrpBuilder).read(this.getClass().getClassLoader().getResource("p01").getPath());
|
||||
new CordeauReader(vrpBuilder).read(getPath("p01"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
assertEquals(FleetSize.FINITE, vrp.getFleetSize());
|
||||
}
|
||||
|
|
@ -47,7 +55,7 @@ public class CordeauReaderTest {
|
|||
@Test
|
||||
public void testNuOfVehicles(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new CordeauReader(vrpBuilder).read(this.getClass().getClassLoader().getResource("p01").getPath());
|
||||
new CordeauReader(vrpBuilder).read(getPath("p01"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
|
||||
assertEquals(16,vrp.getVehicles().size());
|
||||
|
|
@ -56,7 +64,7 @@ public class CordeauReaderTest {
|
|||
@Test
|
||||
public void whenReadingCordeauInstance_vehiclesHaveTheCorrectCapacity(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new CordeauReader(vrpBuilder).read(this.getClass().getClassLoader().getResource("p01").getPath());
|
||||
new CordeauReader(vrpBuilder).read(getPath("p01"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
assertEquals(80, v.getType().getCapacityDimensions().get(0));
|
||||
|
|
@ -66,7 +74,7 @@ public class CordeauReaderTest {
|
|||
@Test
|
||||
public void whenReadingCordeauInstance_vehiclesHaveTheCorrectDuration(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new CordeauReader(vrpBuilder).read(this.getClass().getClassLoader().getResource("p08").getPath());
|
||||
new CordeauReader(vrpBuilder).read(getPath("p08"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
assertEquals(0.0,v.getEarliestDeparture(),0.1);
|
||||
|
|
@ -77,7 +85,7 @@ public class CordeauReaderTest {
|
|||
@Test
|
||||
public void whenReadingCustomersCordeauInstance_customerOneShouldHaveCorrectCoordinates(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new CordeauReader(vrpBuilder).read(this.getClass().getClassLoader().getResource("p01").getPath());
|
||||
new CordeauReader(vrpBuilder).read(getPath("p01"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
Service service = (Service) vrp.getJobs().get("1");
|
||||
assertEquals(37.0, service.getLocation().getCoordinate().getX(), 0.1);
|
||||
|
|
@ -87,7 +95,7 @@ public class CordeauReaderTest {
|
|||
@Test
|
||||
public void whenReadingCustomersCordeauInstance_customerTwoShouldHaveCorrectServiceDuration(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new CordeauReader(vrpBuilder).read(this.getClass().getClassLoader().getResource("p01").getPath());
|
||||
new CordeauReader(vrpBuilder).read(getPath("p01"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
Service service = (Service) vrp.getJobs().get("2");
|
||||
assertEquals(0.0, service.getServiceDuration(), 0.1);
|
||||
|
|
@ -96,7 +104,7 @@ public class CordeauReaderTest {
|
|||
@Test
|
||||
public void whenReadingCustomersCordeauInstance_customerThreeShouldHaveCorrectDemand(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new CordeauReader(vrpBuilder).read(this.getClass().getClassLoader().getResource("p01").getPath());
|
||||
new CordeauReader(vrpBuilder).read(getPath("p01"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
Service service = (Service) vrp.getJobs().get("3");
|
||||
assertEquals(16.0, service.getSize().get(0), 0.1);
|
||||
|
|
@ -105,7 +113,7 @@ public class CordeauReaderTest {
|
|||
@Test
|
||||
public void whenReadingCustomersCordeauInstance_customerFortySevenShouldHaveCorrectDemand(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new CordeauReader(vrpBuilder).read(this.getClass().getClassLoader().getResource("p01").getPath());
|
||||
new CordeauReader(vrpBuilder).read(getPath("p01"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
Service service = (Service) vrp.getJobs().get("47");
|
||||
assertEquals(25.0, service.getSize().get(0), 0.1);
|
||||
|
|
@ -114,7 +122,7 @@ public class CordeauReaderTest {
|
|||
@Test
|
||||
public void testLocationsAndCapOfVehicles(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new CordeauReader(vrpBuilder).read(this.getClass().getClassLoader().getResource("p01").getPath());
|
||||
new CordeauReader(vrpBuilder).read(getPath("p01"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
boolean capacityOk = true;
|
||||
boolean loc1ok = false;
|
||||
|
|
@ -123,10 +131,10 @@ public class CordeauReaderTest {
|
|||
boolean loc4ok = false;
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
if(v.getType().getCapacityDimensions().get(0) != 80) capacityOk = false;
|
||||
if(v.getStartLocationCoordinate().getX() == 20.0 && v.getStartLocationCoordinate().getY() == 20.0) loc1ok = true;
|
||||
if(v.getStartLocationCoordinate().getX() == 30.0 && v.getStartLocationCoordinate().getY() == 40.0) loc2ok = true;
|
||||
if(v.getStartLocationCoordinate().getX() == 50.0 && v.getStartLocationCoordinate().getY() == 30.0) loc3ok = true;
|
||||
if(v.getStartLocationCoordinate().getX() == 60.0 && v.getStartLocationCoordinate().getY() == 50.0) loc4ok = true;
|
||||
if(v.getStartLocation().getCoordinate().getX() == 20.0 && v.getStartLocation().getCoordinate().getY() == 20.0) loc1ok = true;
|
||||
if(v.getStartLocation().getCoordinate().getX() == 30.0 && v.getStartLocation().getCoordinate().getY() == 40.0) loc2ok = true;
|
||||
if(v.getStartLocation().getCoordinate().getX() == 50.0 && v.getStartLocation().getCoordinate().getY() == 30.0) loc3ok = true;
|
||||
if(v.getStartLocation().getCoordinate().getX() == 60.0 && v.getStartLocation().getCoordinate().getY() == 50.0) loc4ok = true;
|
||||
}
|
||||
assertTrue(capacityOk);
|
||||
assertTrue(loc1ok);
|
||||
|
|
@ -138,7 +146,7 @@ public class CordeauReaderTest {
|
|||
@Test
|
||||
public void testNuOfCustomers(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new CordeauReader(vrpBuilder).read(this.getClass().getClassLoader().getResource("p01").getPath());
|
||||
new CordeauReader(vrpBuilder).read(getPath("p01"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
assertEquals(50,vrp.getJobs().values().size());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,8 @@ import jsprit.core.util.Coordinate;
|
|||
import jsprit.instance.reader.VrphGoldenReader.VrphType;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class GoldenReaderTest {
|
||||
|
|
@ -33,21 +35,22 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_itShouldReadCorrectNuOfVehicles(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
int nuOfVehicles = 0;
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
nuOfVehicles++;
|
||||
assertEquals(17,vrp.getVehicles().size());
|
||||
}
|
||||
|
||||
}
|
||||
assertEquals(17,nuOfVehicles);
|
||||
private String getPath(String string) {
|
||||
URL resource = this.getClass().getClassLoader().getResource(string);
|
||||
if(resource == null) throw new IllegalStateException("resource " + string + " does not exist");
|
||||
return resource.getPath();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenReadingInstance_itShouldReadCorrectNuOfType1Vehicles(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
int nuOfType1Vehicles = 0;
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
|
|
@ -62,7 +65,7 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_theSumOfType1VehicleShouldHvTheCorrectCapacity(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
int sumOfType1Cap = 0;
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
|
|
@ -77,7 +80,7 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_itShouldReadCorrectNuOfType2Vehicles(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
int nuOfType1Vehicles = 0;
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
|
|
@ -92,7 +95,7 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_theSumOfType2VehicleShouldHvTheCorrectCapacity(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
int sumOfType1Cap = 0;
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
|
|
@ -107,7 +110,7 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_itShouldReadCorrectNuOfType3Vehicles(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
int nuOfType1Vehicles = 0;
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
|
|
@ -122,7 +125,7 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_theSumOfType3VehicleShouldHvTheCorrectCapacity(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
int sumOfType1Cap = 0;
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
|
|
@ -137,7 +140,7 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_itShouldReadCorrectNuOfType4Vehicles(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
int nuOfType1Vehicles = 0;
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
|
|
@ -152,7 +155,7 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_theSumOfType4VehicleShouldHvTheCorrectCapacity(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
int sumOfType1Cap = 0;
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
|
|
@ -167,7 +170,7 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_itShouldReadCorrectNuOfType5Vehicles(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
int nuOfType1Vehicles = 0;
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
|
|
@ -182,7 +185,7 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_theSumOfType5VehicleShouldHvTheCorrectCapacity(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
int sumOfType1Cap = 0;
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
|
|
@ -197,7 +200,7 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_itShouldReadCorrectNuOfType6Vehicles(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
int nuOfType1Vehicles = 0;
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
|
|
@ -212,7 +215,7 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_theSumOfType6VehicleShouldHvTheCorrectCapacity(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
int sumOfType1Cap = 0;
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
|
|
@ -227,13 +230,13 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_vehicleShouldHvTheCorrectCoord(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
if(v.getStartLocationCoordinate().getX() != 40.0){
|
||||
if(v.getStartLocation().getCoordinate().getX() != 40.0){
|
||||
assertFalse(true);
|
||||
}
|
||||
if(v.getStartLocationCoordinate().getY() != 40.0){
|
||||
if(v.getStartLocation().getCoordinate().getY() != 40.0){
|
||||
assertFalse(true);
|
||||
}
|
||||
}
|
||||
|
|
@ -244,7 +247,7 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_service1MustHaveCorrectDemand(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
Job job = getJob("1",vrp);
|
||||
assertEquals(18,job.getSize().get(0));
|
||||
|
|
@ -254,7 +257,7 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_service1MustHaveCorrectCoordinate(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
Coordinate coord = getCoord("1",vrp);
|
||||
assertEquals(22.0,coord.getX(),0.01);
|
||||
|
|
@ -265,7 +268,7 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_service15MustHaveCorrectCoordinate(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
Coordinate coord = getCoord("15",vrp);
|
||||
assertEquals(62.0,coord.getX(),0.01);
|
||||
|
|
@ -278,7 +281,7 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_service50MustHaveCorrectCoordinate(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
Coordinate coord = getCoord("50",vrp);
|
||||
assertEquals(15.0,coord.getX(),0.01);
|
||||
|
|
@ -294,7 +297,7 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_service4MustHaveCorrectDemand(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
Job job = getJob("4",vrp);
|
||||
assertEquals(30,job.getSize().get(0));
|
||||
|
|
@ -304,7 +307,7 @@ public class GoldenReaderTest {
|
|||
public void whenReadingInstance_service50MustHaveCorrectDemand(){
|
||||
VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new VrphGoldenReader(vrpBuilder, VrphType.HVRPD)
|
||||
.read(this.getClass().getClassLoader().getResource("cn_13mix.txt").getPath());
|
||||
.read(getPath("cn_13mix.txt"));
|
||||
VehicleRoutingProblem vrp = vrpBuilder.build();
|
||||
Job job = getJob("50",vrp);
|
||||
assertEquals(22,job.getSize().get(0));
|
||||
|
|
|
|||
|
|
@ -16,30 +16,37 @@
|
|||
******************************************************************************/
|
||||
package jsprit.instance.reader;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import jsprit.core.problem.VehicleRoutingProblem;
|
||||
import jsprit.core.problem.VehicleRoutingProblem.FleetSize;
|
||||
import jsprit.core.problem.job.Service;
|
||||
import jsprit.core.problem.vehicle.Vehicle;
|
||||
import jsprit.instance.reader.SolomonReader;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
|
||||
public class SolomonReaderTest {
|
||||
|
||||
@Test
|
||||
public void whenReadingSolomonInstance_nuOfCustomersIsCorrect(){
|
||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new SolomonReader(builder).read(this.getClass().getClassLoader().getResource("C101_solomon.txt").getPath());
|
||||
new SolomonReader(builder).read(getPath());
|
||||
VehicleRoutingProblem vrp = builder.build();
|
||||
assertEquals(100,vrp.getJobs().values().size());
|
||||
}
|
||||
|
||||
|
||||
private String getPath() {
|
||||
URL resource = getClass().getClassLoader().getResource("C101_solomon.txt");
|
||||
if(resource == null) throw new IllegalStateException("file C101_solomon.txt does not exist");
|
||||
return resource.getPath();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenReadingSolomonInstance_fleetSizeIsInfinite(){
|
||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new SolomonReader(builder).read(this.getClass().getClassLoader().getResource("C101_solomon.txt").getPath());
|
||||
new SolomonReader(builder).read(getPath());
|
||||
VehicleRoutingProblem vrp = builder.build();
|
||||
assertEquals(FleetSize.INFINITE,vrp.getFleetSize());
|
||||
}
|
||||
|
|
@ -47,7 +54,7 @@ public class SolomonReaderTest {
|
|||
@Test
|
||||
public void whenReadingSolomonInstance_vehicleCapacitiesAreCorrect(){
|
||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new SolomonReader(builder).read(this.getClass().getClassLoader().getResource("C101_solomon.txt").getPath());
|
||||
new SolomonReader(builder).read(getPath());
|
||||
VehicleRoutingProblem vrp = builder.build();
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
assertEquals(200,v.getType().getCapacityDimensions().get(0));
|
||||
|
|
@ -57,18 +64,18 @@ public class SolomonReaderTest {
|
|||
@Test
|
||||
public void whenReadingSolomonInstance_vehicleLocationsAreCorrect_and_correspondToDepotLocation(){
|
||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new SolomonReader(builder).read(this.getClass().getClassLoader().getResource("C101_solomon.txt").getPath());
|
||||
new SolomonReader(builder).read(getPath());
|
||||
VehicleRoutingProblem vrp = builder.build();
|
||||
for(Vehicle v : vrp.getVehicles()){
|
||||
assertEquals(40.0,v.getStartLocationCoordinate().getX(),0.01);
|
||||
assertEquals(50.0,v.getStartLocationCoordinate().getY(),0.01);
|
||||
assertEquals(40.0,v.getStartLocation().getCoordinate().getX(),0.01);
|
||||
assertEquals(50.0,v.getStartLocation().getCoordinate().getY(),0.01);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenReadingSolomonInstance_demandOfCustomerOneIsCorrect(){
|
||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new SolomonReader(builder).read(this.getClass().getClassLoader().getResource("C101_solomon.txt").getPath());
|
||||
new SolomonReader(builder).read(getPath());
|
||||
VehicleRoutingProblem vrp = builder.build();
|
||||
assertEquals(10,vrp.getJobs().get("1").getSize().get(0));
|
||||
}
|
||||
|
|
@ -76,7 +83,7 @@ public class SolomonReaderTest {
|
|||
@Test
|
||||
public void whenReadingSolomonInstance_serviceDurationOfCustomerTwoIsCorrect(){
|
||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new SolomonReader(builder).read(this.getClass().getClassLoader().getResource("C101_solomon.txt").getPath());
|
||||
new SolomonReader(builder).read(getPath());
|
||||
VehicleRoutingProblem vrp = builder.build();
|
||||
assertEquals(90,((Service)vrp.getJobs().get("2")).getServiceDuration(),0.1);
|
||||
}
|
||||
|
|
@ -84,7 +91,7 @@ public class SolomonReaderTest {
|
|||
@Test
|
||||
public void whenReadingSolomonInstance_earliestServiceStartTimeOfCustomerSixtyTwoIsCorrect(){
|
||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new SolomonReader(builder).read(this.getClass().getClassLoader().getResource("C101_solomon.txt").getPath());
|
||||
new SolomonReader(builder).read(getPath());
|
||||
VehicleRoutingProblem vrp = builder.build();
|
||||
assertEquals(262.0,((Service)vrp.getJobs().get("62")).getTimeWindow().getStart(),0.1);
|
||||
}
|
||||
|
|
@ -92,7 +99,7 @@ public class SolomonReaderTest {
|
|||
@Test
|
||||
public void whenReadingSolomonInstance_latestServiceStartTimeOfCustomerEightySevenIsCorrect(){
|
||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||
new SolomonReader(builder).read(this.getClass().getClassLoader().getResource("C101_solomon.txt").getPath());
|
||||
new SolomonReader(builder).read(getPath());
|
||||
VehicleRoutingProblem vrp = builder.build();
|
||||
assertEquals(144.0,((Service)vrp.getJobs().get("87")).getTimeWindow().getEnd(),0.1);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue