test => simple
test => equality
refactoring => remove redundant test
test => simplify
test => negative
test => toString
refactoring => introduce factory method retional()
test => lessThan
refactoring => extract reduce() method
refactoring => using reduce() for equals()
test => lessThanOrEquals
test => greaterThanOrEquals
refactoring => extract spec() method &remove duplication
refactoring => remove redundant test
refactoring => create method dynamically
test => simple add
test => reduce before add
test => simple sub
test => reduce before sub
refactoring => extract reduce2() make code clearify