public void SetsCurrentInvocationAndSetup() { var target = new TrackingMock(); var invocation = new MethodInvocation(target, typeof(TrackingMock).GetMethod(nameof(TrackingMock.Do))); var tracking = new MockContextBehavior(); Assert.NotNull(tracking.Execute(invocation, () => (m, n) => m.CreateValueReturn(null))); Assert.Same(invocation, MockContext.CurrentInvocation); Assert.NotNull(MockContext.CurrentSetup); Assert.True(MockContext.CurrentSetup.AppliesTo(invocation)); }
public void SkipInvocationRecordingIfSetupScopeActive() { var target = new TrackingMock(); var invocation = new MethodInvocation(target, typeof(TrackingMock).GetMethod(nameof(TrackingMock.Do))); var tracking = new MockContextBehavior(); using (new SetupScope()) { Assert.NotNull(tracking.Execute(invocation, () => (m, n) => m.CreateValueReturn(null))); } Assert.Empty(target.Mock.Invocations); }