Skip to content

Commit ec361e2

Browse files
springframeworkguru#21 - New Currency "Franc" - Basic Test Driven Development approach, Write test first, make it compile and then flesh it out
1 parent 19ad9c6 commit ec361e2

2 files changed

Lines changed: 46 additions & 4 deletions

File tree

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package guru.springframework;
2+
3+
/**
4+
* @author Patrick Corbett
5+
*/
6+
public class Franc {
7+
8+
private int amount;
9+
10+
public Franc(int pAmount) {
11+
amount = pAmount;
12+
}
13+
14+
Franc times(int pMultiplier) {
15+
return new Franc(amount * pMultiplier);
16+
}
17+
18+
public boolean equals(Object object) {
19+
// Manual equals, left like this as equals with null or other class will be done later
20+
Franc franc = (Franc) object;
21+
return amount == franc.amount;
22+
}
23+
24+
}

src/test/java/guru/springframework/MoneyTest.java

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
import org.junit.jupiter.api.Assertions;
44
import org.junit.jupiter.api.Test;
55

6+
import static org.junit.jupiter.api.Assertions.assertEquals;
7+
import static org.junit.jupiter.api.Assertions.assertNotEquals;
8+
69
/**
710
* @author Patrick Corbett
811
*/
@@ -12,15 +15,30 @@ class MoneyTest {
1215
void testMultiplication() {
1316
Dollar five = new Dollar(5);
1417
Dollar product = five.times(2);
15-
Assertions.assertEquals(new Dollar(10), product);
18+
assertEquals(new Dollar(10), product);
1619
product = five.times(3);
17-
Assertions.assertEquals(new Dollar(15), product);
20+
assertEquals(new Dollar(15), product);
1821
}
1922

2023
@Test
2124
void testEquality() {
22-
Assertions.assertEquals(new Dollar(5), new Dollar(5));
23-
Assertions.assertNotEquals(new Dollar(5), new Dollar(8));
25+
assertEquals(new Dollar(5), new Dollar(5));
26+
assertNotEquals(new Dollar(5), new Dollar(8));
27+
}
28+
29+
@Test
30+
void testMultiplicationFranc() {
31+
Franc five = new Franc(5);
32+
Franc product = five.times(2);
33+
assertEquals(new Franc(10), product);
34+
product = five.times(3);
35+
assertEquals(new Franc(15), product);
36+
}
37+
38+
@Test
39+
void testEqualityFranc() {
40+
assertEquals(new Franc(5), new Franc(5));
41+
assertNotEquals(new Franc(5), new Franc(8));
2442
}
2543

2644
}

0 commit comments

Comments
 (0)