Ohad - Many many thanks!!! I had almost given up on this! Even my tech lead said to just make the methods public - but I wasn't satisfied with that solution!!
In my production code, doStuff1 is actually a private member, but I got it working using:
edit: removed private accessor.
[Test]
public void dostuff1_calls_doprivatestuff1and2()
{
var target = new a();
Isolate.Fake.StaticMethods(typeof(classA),Members.CallOriginal);
Isolate.Invoke.Method(typeof(classA), "dostuff1",new object [] {target});
Isolate.Verify.NonPublic.WasCalled(typeof(classA), "doPrivateStuff1");
Isolate.Verify.NonPublic.WasCalled(typeof(classA), "doPrivateStuff2");
}