Following Test-Driven Development that is.
I\'ve recently implemented a algorithm (A*) that required a clean interface. By clean all I want is a couple of propertie
You might consider Texttest (http://texttest.carmen.se/) as a way of testing "under the interface".
It allows you to check behavior by examining logged data to verify behavior, rather than purely black-box-style testing on arguments and method results.
DISCLAIMER: I've heard a presentation on Texttest, and looked at the docs, but haven't yet had the time to try it out in a serious application.