Просмотр исходного кода

change: update to v1.1.0 tests

Stuart Kent 9 лет назад
Родитель
Сommit
4afb0b1340
1 измененных файлов: 27 добавлений и 2 удалений
  1. 27
    2
      exercises/change/src/test/java/ChangeCalculatorTest.java

+ 27
- 2
exercises/change/src/test/java/ChangeCalculatorTest.java Просмотреть файл

8
 import static java.util.Collections.singletonList;
8
 import static java.util.Collections.singletonList;
9
 import static org.junit.Assert.assertEquals;
9
 import static org.junit.Assert.assertEquals;
10
 
10
 
11
+/*
12
+ * version: 1.1.0
13
+ */
11
 public class ChangeCalculatorTest {
14
 public class ChangeCalculatorTest {
12
 
15
 
13
     @Rule
16
     @Rule
35
     @Ignore("Remove to run test")
38
     @Ignore("Remove to run test")
36
     @Test
39
     @Test
37
     // https://en.wikipedia.org/wiki/Change-making_problem#Greedy_method
40
     // https://en.wikipedia.org/wiki/Change-making_problem#Greedy_method
38
-    public void testLilliputianCurrencyForWhichGreedyAlgorithmFails() {
41
+    public void testLilliputianCurrency() {
39
         ChangeCalculator changeCalculator = new ChangeCalculator(asList(1, 4, 15, 20, 50));
42
         ChangeCalculator changeCalculator = new ChangeCalculator(asList(1, 4, 15, 20, 50));
40
 
43
 
41
         assertEquals(
44
         assertEquals(
46
     @Ignore("Remove to run test")
49
     @Ignore("Remove to run test")
47
     @Test
50
     @Test
48
     // https://en.wikipedia.org/wiki/Change-making_problem#Greedy_method
51
     // https://en.wikipedia.org/wiki/Change-making_problem#Greedy_method
49
-    public void testLowerElbonianCurrencyForWhichGreedyAlgorithmFails() {
52
+    public void testLowerElbonianCurrency() {
50
         ChangeCalculator changeCalculator = new ChangeCalculator(asList(1, 5, 10, 21, 25));
53
         ChangeCalculator changeCalculator = new ChangeCalculator(asList(1, 5, 10, 21, 25));
51
 
54
 
52
         assertEquals(
55
         assertEquals(
66
 
69
 
67
     @Ignore("Remove to run test")
70
     @Ignore("Remove to run test")
68
     @Test
71
     @Test
72
+    // https://en.wikipedia.org/wiki/Change-making_problem#Greedy_method
73
+    public void testPossibleChangeWithoutUnitCoinAvailable() {
74
+        ChangeCalculator changeCalculator = new ChangeCalculator(asList(2, 5, 10, 20, 50));
75
+
76
+        assertEquals(
77
+                asList(2, 2, 2, 5, 10),
78
+                changeCalculator.computeMostEfficientChange(21));
79
+    }
80
+
81
+    @Ignore("Remove to run test")
82
+    @Test
83
+    // https://en.wikipedia.org/wiki/Change-making_problem#Greedy_method
84
+    public void testAnotherPossibleChangeWithoutUnitCoinAvailable() {
85
+        ChangeCalculator changeCalculator = new ChangeCalculator(asList(4, 5));
86
+
87
+        assertEquals(
88
+                asList(4, 4, 4, 5, 5, 5),
89
+                changeCalculator.computeMostEfficientChange(27));
90
+    }
91
+
92
+    @Ignore("Remove to run test")
93
+    @Test
69
     public void testZeroChange() {
94
     public void testZeroChange() {
70
         ChangeCalculator changeCalculator = new ChangeCalculator(asList(1, 5, 10, 21, 25));
95
         ChangeCalculator changeCalculator = new ChangeCalculator(asList(1, 5, 10, 21, 25));
71
 
96