public void TrackMockBehaviors() { var stunt = new FakeStunt(); // Forces initialization of the default mock. Assert.NotNull(stunt.Mock); var setup = new MockSetup( new MethodInvocation(stunt, typeof(FakeStunt).GetMethod("Do")), Array.Empty <IArgumentMatcher>()); var initialBehaviors = stunt.Behaviors.Count; var behavior = new MockBehaviorPipeline(setup); stunt.AddBehavior(behavior); stunt.AddBehavior(new DelegateStuntBehavior((m, n) => n().Invoke(m, n))); Assert.Equal(initialBehaviors + 2, stunt.Behaviors.Count); Assert.Single(stunt.Mock.Setups); Assert.Same(behavior, stunt.Mock.GetPipeline(setup)); stunt.Behaviors.Remove(behavior); Assert.Equal(initialBehaviors + 1, stunt.Behaviors.Count); Assert.Empty(stunt.Mock.Setups); }
public void AddPipelineForSetupIfMissing() { var stunt = new FakeStunt(); var setup = new MockSetup( new MethodInvocation(stunt, typeof(FakeStunt).GetMethod("Do")), Array.Empty <IArgumentMatcher>()); var behavior = stunt.Mock.GetPipeline(setup); Assert.NotNull(behavior); Assert.Equal(2, stunt.Behaviors.Count); Assert.Single(stunt.Mock.Setups); }
public void TracksTargetObject() { var stunt = new FakeStunt(); Assert.Same(stunt, stunt.Mock.Object); }