I have removed the BigDecimal constructor from BookPrice.
Now the add operation of BookPrice return a BookPrice.
Now the multiplyBy operation of BookPrice return a BookPrice.
Duplication removed.
Now the multiplyBy operation for BigDecimal of BookPrice return a BookPrice.
I have rewriten the price method in a fluent way.
Renamed the multiplyBy method for int values.
Removed private multiplyBy method for BigDecimal from BookPrice.
Renamed isBestThan to isBetterThan for BookPrice. And also added a private method isLowerThan.
Now Book type is an enum.
Removed title attribute from Book because YAGNI.
Removed not necessary semicolon from Book.
Added final property to some attributes.
Added factory method to avoid to modify all the tests when I want to change the design.
Merge branch 'refactor-potter-kata'