Adding first test(failing)

Added first test and adding it creates new entrys for to do list
Make test compile (still failing)
make test work (success)
refactoring the code

we find duplications between test and code. Both have constants. So we
refactor it to remove duplication.
Chapter 4 - We made our test fail

Since we are working side effects. We tried to make our test fail because
of side effects and we found one.
We made our test work

first we changed our code to make test work with changing signature for make it compile.
then we change our code and test to make test work.
we created a new test

we created a new test, make it fail, than make it success.
we used triangulation for our new case.
Chapter 6 - we are working on making amount private

we made amount only used in Dollar by changing test.
Find a new element on to do list to work on

Refactor the duplication, like removing product from test.
Create a new test case to work on. Add a test make it fail, std iteration
we are not interested in abstraction, code duplication for now

we just doing std iteration.
Chapter8- We now moving on and work on the Franc/Dollar duplication

Not directly but slowly. Using our OOP skills, we found a way to break the code duplication.
Moving slowly with std iteration
slowly refactoring equals method.
we moved equals to Money, tests still work
we need to get rid of Franc equal

So before refactoring franc, we need to be sure we have enough tests,
it would be a mistake if we go directly for refactoring.
we get rid of Franc.equals
what happens if we compare francs with dollars?
now we fix it
 we are trying to work on duplication.

 there is similarities on times, lets change it
since we trying to work duplication,

we introduced factory method on money, and made money abstract since we didnt
work on times yet for make it compile