diff --git a/jsprit-core/src/main/java/jsprit/core/problem/solution/route/activity/End.java b/jsprit-core/src/main/java/jsprit/core/problem/solution/route/activity/End.java index 561594fd..22299fa7 100644 --- a/jsprit-core/src/main/java/jsprit/core/problem/solution/route/activity/End.java +++ b/jsprit-core/src/main/java/jsprit/core/problem/solution/route/activity/End.java @@ -32,6 +32,8 @@ public final class End implements TourActivity { return new End(end); } + private final static Capacity capacity = Capacity.Builder.newInstance().build(); + private String locationId; private Coordinate coordinate; @@ -150,8 +152,7 @@ public final class End implements TourActivity { @Override public Capacity getCapacity() { - // TODO Auto-generated method stub - return null; + return capacity; } } diff --git a/jsprit-core/src/main/java/jsprit/core/problem/solution/route/activity/Start.java b/jsprit-core/src/main/java/jsprit/core/problem/solution/route/activity/Start.java index bbc86a33..a210aa0b 100644 --- a/jsprit-core/src/main/java/jsprit/core/problem/solution/route/activity/Start.java +++ b/jsprit-core/src/main/java/jsprit/core/problem/solution/route/activity/Start.java @@ -25,7 +25,7 @@ public final class Start implements TourActivity { public static int creation; - private static Capacity capacity = Capacity.Builder.newInstance().build(); + private final static Capacity capacity = Capacity.Builder.newInstance().build(); public static Start newInstance(String locationId, double theoreticalStart, double theoreticalEnd){ creation++; diff --git a/jsprit-core/src/test/java/jsprit/core/problem/solution/route/activity/EndTest.java b/jsprit-core/src/test/java/jsprit/core/problem/solution/route/activity/EndTest.java index 90ad1982..66536fb5 100644 --- a/jsprit-core/src/test/java/jsprit/core/problem/solution/route/activity/EndTest.java +++ b/jsprit-core/src/test/java/jsprit/core/problem/solution/route/activity/EndTest.java @@ -1,5 +1,75 @@ package jsprit.core.problem.solution.route.activity; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + public class EndTest { + + @Test + public void whenCallingCapacity_itShouldReturnEmptyCapacity(){ + End end = End.newInstance("loc", 0., 0.); + assertEquals(0,end.getCapacity().get(0)); + } + + @Test + public void whenCallingCapacityDemand_itShouldReturnEmptyCapacity(){ + End end = End.newInstance("loc", 0., 0.); + assertEquals(0,end.getCapacityDemand()); + } + + @Test + public void whenStartIsIniWithEarliestStart_itShouldBeSetCorrectly(){ + End end = End.newInstance("loc", 1., 2.); + assertEquals(1.,end.getTheoreticalEarliestOperationStartTime(),0.01); + } + + @Test + public void whenStartIsIniWithLatestStart_itShouldBeSetCorrectly(){ + End end = End.newInstance("loc", 1., 2.); + assertEquals(2.,end.getTheoreticalLatestOperationStartTime(),0.01); + } + + @Test + public void whenSettingEndTime_itShouldBeSetCorrectly(){ + End end = End.newInstance("loc", 1., 2.); + end.setEndTime(4.0); + assertEquals(4.,end.getEndTime(),0.01); + } + + @Test + public void whenSettingLocationId_itShouldBeSetCorrectly(){ + End end = End.newInstance("loc", 1., 2.); + end.setLocationId("newLoc"); + assertEquals("newLoc",end.getLocationId()); + } + + @Test + public void whenSettingEarliestStart_itShouldBeSetCorrectly(){ + End end = End.newInstance("loc", 1., 2.); + end.setTheoreticalEarliestOperationStartTime(5.); + assertEquals(5.,end.getTheoreticalEarliestOperationStartTime(),0.01); + } + + @Test + public void whenSettingLatestStart_itShouldBeSetCorrectly(){ + End end = End.newInstance("loc", 1., 2.); + end.setTheoreticalLatestOperationStartTime(5.); + assertEquals(5.,end.getTheoreticalLatestOperationStartTime(),0.01); + } + + @Test + public void whenCopyingEnd_itShouldBeDoneCorrectly(){ + End end = End.newInstance("loc", 1., 2.); + end.setTheoreticalEarliestOperationStartTime(3.); + end.setTheoreticalLatestOperationStartTime(5.); + + End copy = End.copyOf(end); + assertEquals(3.,copy.getTheoreticalEarliestOperationStartTime(),0.01); + assertEquals(5.,copy.getTheoreticalLatestOperationStartTime(),0.01); + assertEquals("loc",copy.getLocationId()); + assertTrue(copy!=end); + } } diff --git a/jsprit-core/src/test/java/jsprit/core/problem/solution/route/activity/StartTest.java b/jsprit-core/src/test/java/jsprit/core/problem/solution/route/activity/StartTest.java index 1b899a7d..429a32b4 100644 --- a/jsprit-core/src/test/java/jsprit/core/problem/solution/route/activity/StartTest.java +++ b/jsprit-core/src/test/java/jsprit/core/problem/solution/route/activity/StartTest.java @@ -27,9 +27,48 @@ public class StartTest { @Test public void whenStartIsIniWithLatestStart_itShouldBeSetCorrectly(){ Start start = Start.newInstance("loc", 1., 2.); - assertEquals(2.,start.getTheoreticalLatestOperationStartTime(),0.01); } + @Test + public void whenSettingStartEndTime_itShouldBeSetCorrectly(){ + Start start = Start.newInstance("loc", 1., 2.); + start.setEndTime(4.0); + assertEquals(4.,start.getEndTime(),0.01); + } + + @Test + public void whenSettingLocationId_itShouldBeSetCorrectly(){ + Start start = Start.newInstance("loc", 1., 2.); + start.setLocationId("newLoc"); + assertEquals("newLoc",start.getLocationId()); + } + + @Test + public void whenSettingEarliestStart_itShouldBeSetCorrectly(){ + Start start = Start.newInstance("loc", 1., 2.); + start.setTheoreticalEarliestOperationStartTime(5.); + assertEquals(5.,start.getTheoreticalEarliestOperationStartTime(),0.01); + } + + @Test + public void whenSettingLatestStart_itShouldBeSetCorrectly(){ + Start start = Start.newInstance("loc", 1., 2.); + start.setTheoreticalLatestOperationStartTime(5.); + assertEquals(5.,start.getTheoreticalLatestOperationStartTime(),0.01); + } + + @Test + public void whenCopyingStart_itShouldBeDoneCorrectly(){ + Start start = Start.newInstance("loc", 1., 2.); + start.setTheoreticalEarliestOperationStartTime(3.); + start.setTheoreticalLatestOperationStartTime(5.); + + Start copy = Start.copyOf(start); + assertEquals(3.,copy.getTheoreticalEarliestOperationStartTime(),0.01); + assertEquals(5.,copy.getTheoreticalLatestOperationStartTime(),0.01); + assertEquals("loc",copy.getLocationId()); + assertTrue(copy!=start); + } }