I just learned of the MockObject package in VisualWorks that lets you prove certain message sends take place in a test case. It will verify that the method gets called and that the arguments to it are correct. It will verify that the method’s return value is correct and with a small change you can make the method’s invocation signal an exception. OrderedMockObject makes sure that method sends happen in order. What a useful little bit of code! Thanks to Blaine Buxton for showing me this package.