The code from the "Growing Object-Oriented Software, Guided by Tests" book, with the commit history reflecting the development in the book.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
gradle/wrapper
src
.gitignore
build.gradle
gradlew
gradlew.bat
license.txt
readme.md
settings.gradle

readme.md

"Growing Object-Oriented Software, Guided by Tests" code walkthrough

I've written a blog article introducing this project in more detail here.

While reading the book "Growing Object-Oriented Software, Guided by Tests" (awesome book, by the way - highly recommend it), I had trouble keeping up with the example project being tested and coded in Part III. To help my understanding, I created this project, in which I copied the code in the book, which made following the authors' train of thought much easier. I did it in a gradual fashion, doing a commit after each change, and so the history of this repo mirrors the structure of the book.

For code that was only mentioned, but not actually written in the book (there is a surprisingly large amount of it), I used the official code repository for the book located here.

I tried to stay as close to the book as I could, but there might be small differences because of the aforementioned unlisted code - things like formatting, order of fields/methods, some names etc. I also used Gradle as the build system instead of Ant.

Remember that for the end-to-end tests to pass, you need a running XMPP server listening on localhost:9090 (the book authors used Openfire version 3.6, and so did I - all you need to do is download and unzip it, and then run java -jar startup.jar in the lib directory) with the following users created:

Username Password
sniper sniper
auction-item-54321 auction
auction-item-65432 auction

You also need to set the 'Resource Policy' to 'Never kick'.