Talking to another developer about this he pointed all I needed to do was to give my mock objects some state to handle what passes or fails; BRILLIANT!! why didn't I think of that. So I took the base class
I added 2 collections:
- A Collection of string to handle messages added by the various mocked methods to tell the unit test what has occurred
- A second collection of strings to to tell the mock to fail and on what methods based on messages passed to the mock object
to see the full code with comments check out this Sample Code from the sample project.