Skip to content

Commit 7faecbc

Browse files
patrick.corbett@infomotion.depatrickcorbett
authored andcommitted
springframeworkguru#18 - Degenerate / Immutable Objects "Side Effects"
(cherry picked from commit 7be4ef5)
1 parent d7890be commit 7faecbc

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

src/main/java/guru/springframework/Dollar.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public Dollar(int pAmount) {
1111
amount = pAmount;
1212
}
1313

14-
void times(int pMultiplier) {
15-
amount *= pMultiplier;
14+
Dollar times(int pMultiplier) {
15+
return new Dollar(amount * pMultiplier);
1616
}
1717
}

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@ class MoneyTest {
1111
@Test
1212
void testMultiplication() {
1313
Dollar five = new Dollar(5);
14-
five.times(2);
15-
Assertions.assertEquals(10, five.amount);
14+
Dollar product = five.times(2);
15+
Assertions.assertEquals(10, product.amount);
16+
product = five.times(3);
17+
Assertions.assertEquals(15, product.amount);
1618
}
1719

1820
}

0 commit comments

Comments
 (0)