it's always so satisfying to invest time in unit tests and watch them go off like fireworks when you make some deep plumbing changes.
not that i'm happy about having shit broken, including possibly testing assumptions, but seeing that they actually _fail_ when things are broken gives me the warm fuzzies.
@rascalking its almost as good as having the *compile* fail when you change the types in a Haskell programme. With the bonus that it points to the place in the code that needs changing.