Skip to content

Commit 76a5f6e

Browse files
authored
Convert exception assertions to AssertJ in 2 Exercises (exercism#2174)
1 parent f6feb89 commit 76a5f6e

2 files changed

Lines changed: 17 additions & 39 deletions

File tree

exercises/practice/change/src/test/java/ChangeCalculatorTest.java

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import static org.assertj.core.api.Assertions.assertThat;
1+
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
22
import static org.junit.Assert.assertEquals;
3-
import static org.junit.Assert.assertThrows;
43
import static java.util.Arrays.asList;
54
import static java.util.Collections.emptyList;
65
import static java.util.Collections.singletonList;
@@ -98,41 +97,29 @@ public void testZeroChange() {
9897
public void testChangeLessThanSmallestCoinInCurrencyCannotBeRepresented() {
9998
ChangeCalculator changeCalculator = new ChangeCalculator(asList(5, 10));
10099

101-
IllegalArgumentException expected =
102-
assertThrows(
103-
IllegalArgumentException.class,
104-
() -> changeCalculator.computeMostEfficientChange(3));
105-
106-
assertThat(expected)
107-
.hasMessage("The total 3 cannot be represented in the given currency.");
100+
assertThatExceptionOfType(IllegalArgumentException.class)
101+
.isThrownBy(() -> changeCalculator.computeMostEfficientChange(3))
102+
.withMessage("The total 3 cannot be represented in the given currency.");
108103
}
109104

110105
@Ignore("Remove to run test")
111106
@Test
112107
public void testChangeLargerThanAllCoinsInCurrencyThatCannotBeRepresented() {
113108
ChangeCalculator changeCalculator = new ChangeCalculator(asList(5, 10));
114109

115-
IllegalArgumentException expected =
116-
assertThrows(
117-
IllegalArgumentException.class,
118-
() -> changeCalculator.computeMostEfficientChange(94));
119-
120-
assertThat(expected)
121-
.hasMessage("The total 94 cannot be represented in the given currency.");
110+
assertThatExceptionOfType(IllegalArgumentException.class)
111+
.isThrownBy(() -> changeCalculator.computeMostEfficientChange(94))
112+
.withMessage("The total 94 cannot be represented in the given currency.");
122113
}
123114

124115
@Ignore("Remove to run test")
125116
@Test
126117
public void testNegativeChangeIsRejected() {
127118
ChangeCalculator changeCalculator = new ChangeCalculator(asList(1, 2, 5));
128119

129-
IllegalArgumentException expected =
130-
assertThrows(
131-
IllegalArgumentException.class,
132-
() -> changeCalculator.computeMostEfficientChange(-5));
133-
134-
assertThat(expected)
135-
.hasMessage("Negative totals are not allowed.");
120+
assertThatExceptionOfType(IllegalArgumentException.class)
121+
.isThrownBy(() -> changeCalculator.computeMostEfficientChange(-5))
122+
.withMessage("Negative totals are not allowed.");
136123
}
137124

138125
}

exercises/practice/collatz-conjecture/src/test/java/CollatzCalculatorTest.java

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import static org.assertj.core.api.Assertions.assertThat;
1+
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
22
import static org.junit.Assert.assertEquals;
3-
import static org.junit.Assert.assertThrows;
43

54
import org.junit.Ignore;
65
import org.junit.Test;
@@ -35,25 +34,17 @@ public void testAVeryLargeInput() {
3534
@Ignore("Remove to run test")
3635
@Test
3736
public void testZeroIsConsideredInvalidInput() {
38-
IllegalArgumentException expected =
39-
assertThrows(
40-
IllegalArgumentException.class,
41-
() -> collatzCalculator.computeStepCount(0));
42-
43-
assertThat(expected)
44-
.hasMessage("Only natural numbers are allowed");
37+
assertThatExceptionOfType(IllegalArgumentException.class)
38+
.isThrownBy(() -> collatzCalculator.computeStepCount(0))
39+
.withMessage("Only natural numbers are allowed");
4540
}
4641

4742
@Ignore("Remove to run test")
4843
@Test
4944
public void testNegativeIntegerIsConsideredInvalidInput() {
50-
IllegalArgumentException expected =
51-
assertThrows(
52-
IllegalArgumentException.class,
53-
() -> collatzCalculator.computeStepCount(-15));
54-
55-
assertThat(expected)
56-
.hasMessage("Only natural numbers are allowed");
45+
assertThatExceptionOfType(IllegalArgumentException.class)
46+
.isThrownBy(() -> collatzCalculator.computeStepCount(-15))
47+
.withMessage("Only natural numbers are allowed");
5748
}
5849

5950
}

0 commit comments

Comments
 (0)