Condition testing:
Isolate.Verify.WasNotCalled(() => StaticClass.Fetch<TypeA>(null));
Code under test actually will call:
StaticClass.Fetch<TypeB>(new object());
But because Isolator apparently isn't considering the generic type in it's assertion you will get a Isolation verification exception stating that:
TypeMock Verification: Method StaticClass.Fetch<T>(System.Object)) was called unexpectedly.
HOWEVER:
If instead your test was:
Isolate.Verify.WasNotCalled(() => StaticClass.Fetch<TypeA>());
And the code being ran was:
StaticClass.Fetch<TypeB>();
You would not, as expected, get an expection.
---
So it seems like when we introduce a parameter, the generic classifier is being ignored, whereas, if there are no parameters, the generic classified is considered in the WasNotCalled verification.