1
- import static org .assertj .core .api .Assertions .assertThatExceptionOfType ;
2
- import static org .junit .Assert .assertEquals ;
3
- import static java .util .Arrays .asList ;
4
- import static java .util .Collections .emptyList ;
5
- import static java .util .Collections .singletonList ;
6
-
7
1
import org .junit .Ignore ;
8
2
import org .junit .Test ;
9
3
4
+ import static java .util .Arrays .asList ;
5
+ import static org .assertj .core .api .Assertions .assertThat ;
6
+ import static org .assertj .core .api .Assertions .assertThatExceptionOfType ;
7
+
10
8
public class ChangeCalculatorTest {
11
9
12
10
@ Test
13
11
public void testChangeThatCanBeGivenInASingleCoin () {
14
12
ChangeCalculator changeCalculator = new ChangeCalculator (asList (1 , 5 , 10 , 25 , 100 ));
15
13
16
- assertEquals (
17
- singletonList (25 ),
18
- changeCalculator .computeMostEfficientChange (25 ));
14
+ assertThat (changeCalculator .computeMostEfficientChange (25 ))
15
+ .containsExactly (25 );
19
16
}
20
17
21
18
@ Ignore ("Remove to run test" )
22
19
@ Test
23
20
public void testChangeThatMustBeGivenInMultipleCoins () {
24
21
ChangeCalculator changeCalculator = new ChangeCalculator (asList (1 , 5 , 10 , 25 , 100 ));
25
22
26
- assertEquals (
27
- asList (5 , 10 ),
28
- changeCalculator .computeMostEfficientChange (15 ));
23
+ assertThat (changeCalculator .computeMostEfficientChange (15 ))
24
+ .containsExactly (5 , 10 );
29
25
}
30
26
31
27
@ Ignore ("Remove to run test" )
@@ -34,9 +30,8 @@ public void testChangeThatMustBeGivenInMultipleCoins() {
34
30
public void testLilliputianCurrency () {
35
31
ChangeCalculator changeCalculator = new ChangeCalculator (asList (1 , 4 , 15 , 20 , 50 ));
36
32
37
- assertEquals (
38
- asList (4 , 4 , 15 ),
39
- changeCalculator .computeMostEfficientChange (23 ));
33
+ assertThat (changeCalculator .computeMostEfficientChange (23 ))
34
+ .containsExactly (4 , 4 , 15 );
40
35
}
41
36
42
37
@ Ignore ("Remove to run test" )
@@ -45,19 +40,17 @@ public void testLilliputianCurrency() {
45
40
public void testLowerElbonianCurrency () {
46
41
ChangeCalculator changeCalculator = new ChangeCalculator (asList (1 , 5 , 10 , 21 , 25 ));
47
42
48
- assertEquals (
49
- asList (21 , 21 , 21 ),
50
- changeCalculator .computeMostEfficientChange (63 ));
43
+ assertThat (changeCalculator .computeMostEfficientChange (63 ))
44
+ .containsExactly (21 , 21 , 21 );
51
45
}
52
46
53
47
@ Ignore ("Remove to run test" )
54
48
@ Test
55
49
public void testLargeAmountOfChange () {
56
50
ChangeCalculator changeCalculator = new ChangeCalculator (asList (1 , 2 , 5 , 10 , 20 , 50 , 100 ));
57
51
58
- assertEquals (
59
- asList (2 , 2 , 5 , 20 , 20 , 50 , 100 , 100 , 100 , 100 , 100 , 100 , 100 , 100 , 100 ),
60
- changeCalculator .computeMostEfficientChange (999 ));
52
+ assertThat (changeCalculator .computeMostEfficientChange (999 ))
53
+ .containsExactly (2 , 2 , 5 , 20 , 20 , 50 , 100 , 100 , 100 , 100 , 100 , 100 , 100 , 100 , 100 );
61
54
}
62
55
63
56
@ Ignore ("Remove to run test" )
@@ -66,9 +59,8 @@ public void testLargeAmountOfChange() {
66
59
public void testPossibleChangeWithoutUnitCoinAvailable () {
67
60
ChangeCalculator changeCalculator = new ChangeCalculator (asList (2 , 5 , 10 , 20 , 50 ));
68
61
69
- assertEquals (
70
- asList (2 , 2 , 2 , 5 , 10 ),
71
- changeCalculator .computeMostEfficientChange (21 ));
62
+ assertThat (changeCalculator .computeMostEfficientChange (21 ))
63
+ .containsExactly (2 , 2 , 2 , 5 , 10 );
72
64
}
73
65
74
66
@ Ignore ("Remove to run test" )
@@ -77,19 +69,17 @@ public void testPossibleChangeWithoutUnitCoinAvailable() {
77
69
public void testAnotherPossibleChangeWithoutUnitCoinAvailable () {
78
70
ChangeCalculator changeCalculator = new ChangeCalculator (asList (4 , 5 ));
79
71
80
- assertEquals (
81
- asList (4 , 4 , 4 , 5 , 5 , 5 ),
82
- changeCalculator .computeMostEfficientChange (27 ));
72
+ assertThat (changeCalculator .computeMostEfficientChange (27 ))
73
+ .containsExactly (4 , 4 , 4 , 5 , 5 , 5 );
83
74
}
84
75
85
76
@ Ignore ("Remove to run test" )
86
77
@ Test
87
78
public void testZeroChange () {
88
79
ChangeCalculator changeCalculator = new ChangeCalculator (asList (1 , 5 , 10 , 21 , 25 ));
89
80
90
- assertEquals (
91
- emptyList (),
92
- changeCalculator .computeMostEfficientChange (0 ));
81
+ assertThat (changeCalculator .computeMostEfficientChange (0 ))
82
+ .isEmpty ();
93
83
}
94
84
95
85
@ Ignore ("Remove to run test" )
0 commit comments