Sources and docs for a simple refactoring and OO design exercise
Java Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

What's this?

This is a simple refactoring exercise that is meant to teach something about dependency inversion and dependency injection.

The documentation is in this blog bost and in the presentation in the doc directory.


To import the project in Eclipse: select

File -> Import -> Existing Project into Workspace

To import the project in Idea: run

mvn idea:idea

How to start

Run all the tests. One test will fail. Change production code so that all tests pass.

How to continue

Read the blog post and/or the included presentation.

Notes for Windows

On Windows, the tests with the fake smtp server do not work. If you are on Windows, then comment or delete the file. If you are on Linux, Mac or other Unix, then delete the