|
|
|
|
|
|
26
|
changeCalculator.computeMostEfficientChange(25));
|
26
|
changeCalculator.computeMostEfficientChange(25));
|
|
27
|
}
|
27
|
}
|
|
28
|
|
28
|
|
|
29
|
- @Ignore
|
|
|
|
|
|
29
|
+ @Ignore("Remove to run test")
|
|
30
|
@Test
|
30
|
@Test
|
|
31
|
public void testChangeThatMustBeGivenInMultipleCoins() {
|
31
|
public void testChangeThatMustBeGivenInMultipleCoins() {
|
|
32
|
ChangeCalculator changeCalculator = new ChangeCalculator(asList(1, 5, 10, 25, 100));
|
32
|
ChangeCalculator changeCalculator = new ChangeCalculator(asList(1, 5, 10, 25, 100));
|
|
|
|
|
|
|
36
|
changeCalculator.computeMostEfficientChange(15));
|
36
|
changeCalculator.computeMostEfficientChange(15));
|
|
37
|
}
|
37
|
}
|
|
38
|
|
38
|
|
|
39
|
- @Ignore
|
|
|
|
|
|
39
|
+ @Ignore("Remove to run test")
|
|
40
|
@Test
|
40
|
@Test
|
|
41
|
// https://en.wikipedia.org/wiki/Change-making_problem#Greedy_method
|
41
|
// https://en.wikipedia.org/wiki/Change-making_problem#Greedy_method
|
|
42
|
public void testLilliputianCurrencyForWhichGreedyAlgorithmFails() {
|
42
|
public void testLilliputianCurrencyForWhichGreedyAlgorithmFails() {
|
|
|
|
|
|
|
47
|
changeCalculator.computeMostEfficientChange(23));
|
47
|
changeCalculator.computeMostEfficientChange(23));
|
|
48
|
}
|
48
|
}
|
|
49
|
|
49
|
|
|
50
|
- @Ignore
|
|
|
|
|
|
50
|
+ @Ignore("Remove to run test")
|
|
51
|
@Test
|
51
|
@Test
|
|
52
|
// https://en.wikipedia.org/wiki/Change-making_problem#Greedy_method
|
52
|
// https://en.wikipedia.org/wiki/Change-making_problem#Greedy_method
|
|
53
|
public void testLowerElbonianCurrencyForWhichGreedyAlgorithmFails() {
|
53
|
public void testLowerElbonianCurrencyForWhichGreedyAlgorithmFails() {
|
|
|
|
|
|
|
58
|
changeCalculator.computeMostEfficientChange(63));
|
58
|
changeCalculator.computeMostEfficientChange(63));
|
|
59
|
}
|
59
|
}
|
|
60
|
|
60
|
|
|
61
|
- @Ignore
|
|
|
|
|
|
61
|
+ @Ignore("Remove to run test")
|
|
62
|
@Test
|
62
|
@Test
|
|
63
|
public void testLargeAmountOfChange() {
|
63
|
public void testLargeAmountOfChange() {
|
|
64
|
ChangeCalculator changeCalculator = new ChangeCalculator(asList(1, 2, 5, 10, 20, 50, 100));
|
64
|
ChangeCalculator changeCalculator = new ChangeCalculator(asList(1, 2, 5, 10, 20, 50, 100));
|
|
|
|
|
|
|
68
|
changeCalculator.computeMostEfficientChange(999));
|
68
|
changeCalculator.computeMostEfficientChange(999));
|
|
69
|
}
|
69
|
}
|
|
70
|
|
70
|
|
|
71
|
- @Ignore
|
|
|
|
|
|
71
|
+ @Ignore("Remove to run test")
|
|
72
|
@Test
|
72
|
@Test
|
|
73
|
public void testZeroChange() {
|
73
|
public void testZeroChange() {
|
|
74
|
ChangeCalculator changeCalculator = new ChangeCalculator(asList(1, 5, 10, 21, 25));
|
74
|
ChangeCalculator changeCalculator = new ChangeCalculator(asList(1, 5, 10, 21, 25));
|
|
|
|
|
|
|
78
|
changeCalculator.computeMostEfficientChange(0));
|
78
|
changeCalculator.computeMostEfficientChange(0));
|
|
79
|
}
|
79
|
}
|
|
80
|
|
80
|
|
|
81
|
- @Ignore
|
|
|
|
|
|
81
|
+ @Ignore("Remove to run test")
|
|
82
|
@Test
|
82
|
@Test
|
|
83
|
public void testChangeLessThanSmallestCoinInCurrencyCannotBeRepresented() {
|
83
|
public void testChangeLessThanSmallestCoinInCurrencyCannotBeRepresented() {
|
|
84
|
ChangeCalculator changeCalculator = new ChangeCalculator(asList(5, 10));
|
84
|
ChangeCalculator changeCalculator = new ChangeCalculator(asList(5, 10));
|
|
|
|
|
|
|
89
|
changeCalculator.computeMostEfficientChange(3);
|
89
|
changeCalculator.computeMostEfficientChange(3);
|
|
90
|
}
|
90
|
}
|
|
91
|
|
91
|
|
|
92
|
- @Ignore
|
|
|
|
|
|
92
|
+ @Ignore("Remove to run test")
|
|
93
|
@Test
|
93
|
@Test
|
|
94
|
public void testChangeLargerThanAllCoinsInCurrencyThatCannotBeRepresented() {
|
94
|
public void testChangeLargerThanAllCoinsInCurrencyThatCannotBeRepresented() {
|
|
95
|
ChangeCalculator changeCalculator = new ChangeCalculator(asList(5, 10));
|
95
|
ChangeCalculator changeCalculator = new ChangeCalculator(asList(5, 10));
|
|
|
|
|
|
|
100
|
changeCalculator.computeMostEfficientChange(94);
|
100
|
changeCalculator.computeMostEfficientChange(94);
|
|
101
|
}
|
101
|
}
|
|
102
|
|
102
|
|
|
103
|
- @Ignore
|
|
|
|
|
|
103
|
+ @Ignore("Remove to run test")
|
|
104
|
@Test
|
104
|
@Test
|
|
105
|
public void testNegativeChangeIsRejected() {
|
105
|
public void testNegativeChangeIsRejected() {
|
|
106
|
ChangeCalculator changeCalculator = new ChangeCalculator(asList(1, 2, 5));
|
106
|
ChangeCalculator changeCalculator = new ChangeCalculator(asList(1, 2, 5));
|