The TDD implementation of Connect4
At this time, we know how TDD works: writing tests before, implementation after tests, and refactoring later on. We are going to pass through that process and only show the final result for each requirement. It is left to you to figure out the iterative red-green-refactor process. Let's make this more interesting, if possible, by using a Hamcrest framework in our tests.
As described in Chapter 2, Tools, Frameworks, and Environment, Hamcrest improves our tests readability. It turns assertions more semantic and comprehensive at the time that complexity is reduced by using matchers. When a test fails, the error shown becomes more expressive by interpreting the matchers used in the assertion. A message could ...