From 699beb1e1e8221002826da6096dad80706659f2e Mon Sep 17 00:00:00 2001 From: oblonski <4sschroeder@gmail.com> Date: Mon, 22 Sep 2014 20:01:21 +0200 Subject: [PATCH] test Figliozzi's time dependent transport costs --- .../jsprit/instance/reader/FigliozziTest.java | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) diff --git a/jsprit-instances/src/test/java/jsprit/instance/reader/FigliozziTest.java b/jsprit-instances/src/test/java/jsprit/instance/reader/FigliozziTest.java index 86b522f9..366ac0ff 100644 --- a/jsprit-instances/src/test/java/jsprit/instance/reader/FigliozziTest.java +++ b/jsprit-instances/src/test/java/jsprit/instance/reader/FigliozziTest.java @@ -73,6 +73,105 @@ public class FigliozziTest { Assert.assertEquals(5,speedValues.size()); } + @Test + public void whenAskingForTD1b_factoryShouldReturnCorrectSpeedDistribution(){ + List speedValues = Figliozzi.TimeDependentTransportCostsFactory.createSpeedValues(Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD1b); + Assert.assertEquals(speedValues.get(0),1.6,0.01); + Assert.assertEquals(speedValues.get(1),1.,0.01); + Assert.assertEquals(speedValues.get(2),1.05,0.01); + Assert.assertEquals(speedValues.get(3),1.,0.01); + Assert.assertEquals(speedValues.get(4),1.6,0.01); + Assert.assertEquals(5,speedValues.size()); + } + + @Test + public void whenAskingForTD2b_factoryShouldReturnCorrectSpeedDistribution(){ + List speedValues = Figliozzi.TimeDependentTransportCostsFactory.createSpeedValues(Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD2b); + Assert.assertEquals(speedValues.get(0),2.,0.01); + Assert.assertEquals(speedValues.get(1),1.,0.01); + Assert.assertEquals(speedValues.get(2),1.5,0.01); + Assert.assertEquals(speedValues.get(3),1.,0.01); + Assert.assertEquals(speedValues.get(4),2.,0.01); + Assert.assertEquals(5,speedValues.size()); + } + + @Test + public void whenAskingForTD3b_factoryShouldReturnCorrectSpeedDistribution(){ + List speedValues = Figliozzi.TimeDependentTransportCostsFactory.createSpeedValues(Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD3b); + Assert.assertEquals(speedValues.get(0),2.5,0.01); + Assert.assertEquals(speedValues.get(1),1.,0.01); + Assert.assertEquals(speedValues.get(2),1.75,0.01); + Assert.assertEquals(speedValues.get(3),1.,0.01); + Assert.assertEquals(speedValues.get(4),2.5,0.01); + Assert.assertEquals(5,speedValues.size()); + } + + @Test + public void whenAskingForTD1c_factoryShouldReturnCorrectSpeedDistribution(){ + List speedValues = Figliozzi.TimeDependentTransportCostsFactory.createSpeedValues(Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD1c); + Assert.assertEquals(speedValues.get(0),1.6,0.01); + Assert.assertEquals(speedValues.get(1),1.6,0.01); + Assert.assertEquals(speedValues.get(2),1.05,0.01); + Assert.assertEquals(speedValues.get(3),1.,0.01); + Assert.assertEquals(speedValues.get(4),1.,0.01); + Assert.assertEquals(5,speedValues.size()); + } + + @Test + public void whenAskingForTD2c_factoryShouldReturnCorrectSpeedDistribution(){ + List speedValues = Figliozzi.TimeDependentTransportCostsFactory.createSpeedValues(Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD2c); + Assert.assertEquals(speedValues.get(0),2.,0.01); + Assert.assertEquals(speedValues.get(1),2.,0.01); + Assert.assertEquals(speedValues.get(2),1.5,0.01); + Assert.assertEquals(speedValues.get(3),1.,0.01); + Assert.assertEquals(speedValues.get(4),1.,0.01); + Assert.assertEquals(5,speedValues.size()); + } + + @Test + public void whenAskingForTD3c_factoryShouldReturnCorrectSpeedDistribution(){ + List speedValues = Figliozzi.TimeDependentTransportCostsFactory.createSpeedValues(Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD3c); + Assert.assertEquals(speedValues.get(0),2.5,0.01); + Assert.assertEquals(speedValues.get(1),2.5,0.01); + Assert.assertEquals(speedValues.get(2),1.75,0.01); + Assert.assertEquals(speedValues.get(3),1.,0.01); + Assert.assertEquals(speedValues.get(4),1.,0.01); + Assert.assertEquals(5,speedValues.size()); + } + + @Test + public void whenAskingForTD1d_factoryShouldReturnCorrectSpeedDistribution(){ + List speedValues = Figliozzi.TimeDependentTransportCostsFactory.createSpeedValues(Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD1d); + Assert.assertEquals(speedValues.get(0),1.,0.01); + Assert.assertEquals(speedValues.get(1),1.,0.01); + Assert.assertEquals(speedValues.get(2),1.05,0.01); + Assert.assertEquals(speedValues.get(3),1.6,0.01); + Assert.assertEquals(speedValues.get(4),1.6,0.01); + Assert.assertEquals(5,speedValues.size()); + } + + @Test + public void whenAskingForTD2d_factoryShouldReturnCorrectSpeedDistribution(){ + List speedValues = Figliozzi.TimeDependentTransportCostsFactory.createSpeedValues(Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD2d); + Assert.assertEquals(speedValues.get(0),1.,0.01); + Assert.assertEquals(speedValues.get(1),1.,0.01); + Assert.assertEquals(speedValues.get(2),1.5,0.01); + Assert.assertEquals(speedValues.get(3),2.,0.01); + Assert.assertEquals(speedValues.get(4),2.,0.01); + Assert.assertEquals(5,speedValues.size()); + } + + @Test + public void whenAskingForTD3d_factoryShouldReturnCorrectSpeedDistribution(){ + List speedValues = Figliozzi.TimeDependentTransportCostsFactory.createSpeedValues(Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.TD3d); + Assert.assertEquals(speedValues.get(0),1.,0.01); + Assert.assertEquals(speedValues.get(1),1.,0.01); + Assert.assertEquals(speedValues.get(2),1.75,0.01); + Assert.assertEquals(speedValues.get(3),2.5,0.01); + Assert.assertEquals(speedValues.get(4),2.5,0.01); + Assert.assertEquals(5,speedValues.size()); + } + @Test public void whenConstantTimeDistribution_forwardTimeShouldBeCalculate100(){ Figliozzi.TDCosts tdCosts = Figliozzi.TimeDependentTransportCostsFactory.createCosts(locations, Figliozzi.TimeDependentTransportCostsFactory.SpeedDistribution.CLASSIC,100);