Last week Leo Antoli facilitated a kata for Software Craftsmanship Barcelona.
We had to solve the Studious Student exercise.
Leo wanted us to experiment how useful testing is in an exercise like this one, so we divided the group in some pairs using TDD, some pairs testing after writing the code and some pairs not testing at all.
The exercise is a bit tricky as pairs that were not testing discovered at the end, whereas the ones doing TDD or testing after coding discovered early during the process.
After an iteration of one hour, we had a very interesting debate about automatic testing.
This is my solution of the exercise in Clojure:
and these are the tests using Midje:
You can see all the code in this GitHub repository.
I'd like to thank Leo for being so kind and sharing his knowledge with us.