Skip to content

Commit cc7fd08

Browse files
authored
Numbers: Cars, Assemble! Refactored unit tests in a way that ignores machine epsilon (exercism#2161)
1 parent c913944 commit cc7fd08

1 file changed

Lines changed: 8 additions & 7 deletions

File tree

exercises/concept/cars-assemble/src/test/java/CarsAssembleTest.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
public class CarsAssembleTest {
88

99
private CarsAssemble carsAssemble;
10+
private double epsilon = 0.0000001d;
1011

1112
@Before
1213
public void setUp() {
@@ -15,32 +16,32 @@ public void setUp() {
1516

1617
@Test
1718
public void productionRatePerHourForSpeedZero() {
18-
assertThat(carsAssemble.productionRatePerHour(0)).isEqualTo(0.0);
19+
assertThat(Math.abs(carsAssemble.productionRatePerHour(0) - 0.0) < epsilon).isTrue();
1920
}
20-
21+
2122
@Test
2223
public void productionRatePerHourForSpeedOne() {
23-
assertThat(carsAssemble.productionRatePerHour(1)).isEqualTo(221.0);
24+
assertThat(Math.abs(carsAssemble.productionRatePerHour(1) - 221.0) < epsilon).isTrue();
2425
}
2526

2627
@Test
2728
public void productionRatePerHourForSpeedFour() {
28-
assertThat(carsAssemble.productionRatePerHour(4)).isEqualTo(884.0);
29+
assertThat(Math.abs(carsAssemble.productionRatePerHour(4) - 884.0) < epsilon).isTrue();
2930
}
3031

3132
@Test
3233
public void productionRatePerHourForSpeedSeven() {
33-
assertThat(carsAssemble.productionRatePerHour(7)).isEqualTo(1392.3);
34+
assertThat(Math.abs(carsAssemble.productionRatePerHour(7) - 1392.3) < epsilon).isTrue();
3435
}
3536

3637
@Test
3738
public void productionRatePerHourForSpeedNine() {
38-
assertThat(carsAssemble.productionRatePerHour(9)).isEqualTo(1591.2);
39+
assertThat(Math.abs(carsAssemble.productionRatePerHour(9) - 1591.2) < epsilon).isTrue();
3940
}
4041

4142
@Test
4243
public void productionRatePerHourForSpeedTen() {
43-
assertThat(carsAssemble.productionRatePerHour(10)).isEqualTo(1701.7);
44+
assertThat(Math.abs(carsAssemble.productionRatePerHour(10) - 1701.7) < epsilon).isTrue();
4445
}
4546

4647
@Test

0 commit comments

Comments
 (0)