TDD Approach, CodeRefactored and Incremental development with HamcrestMatchers