Test multiply

Will not compile, class Dollar is missing
Step: make test compile

Add class Dollar
Step: test go green

Implement Dollar::times
Step: reduce duplication

Dollar uses given amount
Test prepare refactoring

Dollar::amount has to be private
Step: test go green

Implement Dollar::amount(), make amount private
Test side effects

Add test method verifying that multiplication has no side effects on
Dollar objects
Test expect objects

Dollar need to be refactored as value objects, so expect an object
from multiplication
Step: make test compile

Return object from Dollar::times
Step: test go green

Dollar::times returns new Dollar object with calculated amount
Refactor multiply test to work with returned object
Test equals methods

Test for method comparing to Dollar objects
Step: Make test compile and test go green

Add method Dollar::equals returning true
Test not equals returning false
Step: test go green

Dollar::equals compares amounts of both objects
Test refactoring, comparing objects
Test refactoring, remove duplications
Test add testcase for Euro
Step: test go green

Add class Euro
Step: refactoring Dollar as subclass of Money

Dollar and Euro are identical, so move common behavior to abstract
super class
Step: refactoring

Move amount from Dollar to Money