Skip to content
Branch: master
Go to file

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time

Messaging Exercise

In this coding exercise, you gradually evolve an application for sending two different types of messages, emails and IM chats, through a network connection. The mechanics of input and output are drastically oversimplified (command-line input, and output to one single writer that represents different network connections), but are just realistic to simulate some of the issues that a real app would face. There are a series of end-to-end tests representing eight different user stories. All but the first are annotated with @Ignore. Once the first story is complete, remove the @Ignore from the second and start work on it, and so on.

This originated as a place to try out the rules from Jeff Bay's Object Calisthenics exercise, and if you do it, I'd recommend trying that out for at least one attempt.


A coding exercise simple enough to do quickly, but complex enough to present realistic design problems.



No releases published


You can’t perform that action at this time.