Populate project with 'mvn archetype:generate'

Used com.github.igor-petruk.archetypes:maven-archetype-executable
Add simple object construction test.
IDE reformatting
IDE formatting and version updates on the POM.
Tell git to ignore target
Compilation failure, but we've defined the retrieve() method to take a URI string and return the content from that URI.
Create sufficient retrieve() to satisfy compilation.
First step in failing test.
Test passes but doesn't represent our full intent.
All web pages should have an html tag. Seems a reasonable start even if containment is a weak form of verification.
Add httpclient dependency to pom so we can use it. You thought we were going to write the whole HTTP protocol ourselves?
An awful lot of code to make this work. Not a very small step, and the result is a NullPointerException. Hmmm. But get it working first, then clean it up. Great fodder for refactoring once we're green.
Forget about content encoding right now. Was probably looking too far ahead at this point anyway. Tests green.
Refactor basic object creation test to separate action from assertion.
Refactor to use Hamcrest matchers for more literate expression of intent.
Still not a great unit test. In fact, by many people's definition, not a unit test at all. Add another content check that, if it were any other domain, would be fragile.
Refactor retrieve() to allow us not to connect to the Internet. The act of retrieving the response from the site seems like a nice place to start. It seems like a logical unit of functionality that we can encapsulate to create a seam.
Start to exploit the new seam by adding EasyMock to our POM and overriding our new method to return a mock response, thus eliminating the network request. It leaves some code untested, but still tests the intent of the retrieve() method itself. The tests fail because the mock is not yet complete.
Now mocking the entity obtained from the response. Hmmm. This is getting messy and coupled to the implementation.
Get it to pass, but it's pretty ugly and coupled to the implementation.