public void ShimInstanceMethod() { var shim = new Shim((Func <int, int>)It.Any <ExampleClass>().InstanceTestMethod, (Func <ExampleClass, int, int>)ShimInstanceTestMethod); var exampleClass = new ExampleClass(2); Assert.Equal(6, exampleClass.InstanceTestMethod(3)); Shim.Isolate(() => { Assert.Equal(3, exampleClass.InstanceTestMethod(3)); }, shim); Shim.Isolate(() => { Assert.Equal(3, exampleClass.InstanceTestMethod(3)); }, Shim.Replace(() => It.Any <ExampleClass>().InstanceTestMethod(It.Any <int>())) .With((Func <ExampleClass, int, int>)((@this, a) => a))); }