1
0
Fork 0
mirror of https://github.com/graphhopper/jsprit.git synced 2020-01-24 07:45:05 +01:00

adjusted algorithm.recreate.JobInsertionConsideringFixCostsCalculator to

deal with multiple capacities
This commit is contained in:
oblonski 2014-03-03 20:12:27 +01:00
parent 24f044993c
commit 0e42ac31b8
4 changed files with 92 additions and 9 deletions

View file

@ -0,0 +1,8 @@
package jsprit.core.algorithm.recreate;
public class JobInsertionConsideringFixCostsCalculatorTest {
// @Test
// public void
}

View file

@ -314,4 +314,45 @@ public class CapacityTest {
assertEquals(3,Capacity.max(cap1,cap2).get(2));
}
@Test
public void whenDividingTwoCapacities_itShouldReturn05(){
Capacity cap1 = Capacity.Builder.newInstance().addDimension(0, 1).addDimension(1, 2).build();
Capacity cap2 = Capacity.Builder.newInstance().addDimension(0, 2).addDimension(1, 4).build();
assertEquals(0.5,Capacity.divide(cap1, cap2),0.001);
}
@Test
public void whenDividingTwoEqualCapacities_itShouldReturn10(){
Capacity cap1 = Capacity.Builder.newInstance().addDimension(0, 2).addDimension(1, 4).build();
Capacity cap2 = Capacity.Builder.newInstance().addDimension(0, 2).addDimension(1, 4).build();
assertEquals(1.0,Capacity.divide(cap1, cap2),0.001);
}
@Test
public void whenDividingTwoCapacities_itShouldReturn00(){
Capacity cap1 = Capacity.Builder.newInstance().addDimension(0, 0).addDimension(1, 0).build();
Capacity cap2 = Capacity.Builder.newInstance().addDimension(0, 2).addDimension(1, 4).build();
assertEquals(0.0,Capacity.divide(cap1, cap2),0.001);
}
@Test(expected=IllegalStateException.class)
public void whenDividingByAZeroDim_itShouldThrowException(){
Capacity cap1 = Capacity.Builder.newInstance().addDimension(0, 1).addDimension(1, 2).build();
Capacity cap2 = Capacity.Builder.newInstance().addDimension(0, 2).addDimension(1, 0).build();
Capacity.divide(cap1, cap2);
}
@Test
public void whenBothDimOfNominatorAndDenominatorAreZero_divisionShouldIgnoreThisDim(){
Capacity cap1 = Capacity.Builder.newInstance().addDimension(0, 1).addDimension(1, 2).addDimension(3, 0).build();
Capacity cap2 = Capacity.Builder.newInstance().addDimension(0, 2).addDimension(1, 4).addDimension(3, 0).build();
assertEquals(0.5,Capacity.divide(cap1, cap2),0.001);
}
@Test
public void whenDividingZeroCaps_itShouldReturnZero(){
Capacity cap1 = Capacity.Builder.newInstance().build();
Capacity cap2 = Capacity.Builder.newInstance().build();
assertEquals(0.0,Capacity.divide(cap1, cap2),0.001);
}
}