Chapter 13. Make It
$5 + 10 CHF = $10 if rate is 2:1$5 + $5 = $10 |
We can't mark our test for $5 + $5 done until we've removed all of the duplication. We don't have code duplication, but we do have data duplication—the $10 in the fake implementation:
Bank
Money reduce(Expression source, String to) { return Money.dollar(10); } |
is really the same as the $5 + $5 in the test:
public void testSimpleAddition() { Money five= Money.dollar(5); Expression sum= five.plus(five); Bank bank= new Bank(); Money reduced= bank.reduce(sum, "USD"); assertEquals(Money.dollar(10), reduced); }
Before when we've had a fake implementation, it has been obvious how to work backward to the real implementation. It simply has been a matter of replacing ...
Get Test Driven Development: By Example now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.