public void ActionName_ShouldReturnCorrectValue( TakeScreenshot sut, IAction <object> action ) { // arrange string actual = ""; Mock.Get(sut.Actor).Setup(a => a.Execute(It.IsAny <IAction <object> >())) .Callback((IAction <object> q) => actual = q.Name); // act sut.Execute(action); // assert var expected = action.Name; actual.Should().Be(expected); }
public void Execute_CallingWhen_ShouldCallTakeScreenshotStrategy( [Frozen] Mock <IObserver <ScreenshotInfo> > observer, [Greedy] TakeScreenshot sut, IAction <object> action, IActor otherActor, object expected ) { // arrange Mock.Get(action).Setup(q => q.ExecuteWhenAs(otherActor)).Returns(expected); Mock.Get(sut.Actor).Setup(a => a.Execute(It.IsAny <IAction <object> >())).Returns((IAction <object> a) => a.ExecuteWhenAs(otherActor)); Mock.Get(sut.TakeScreenshotStrategy).Setup(t => t.ExecuteTakeScreenshot(Unit.Default, otherActor, It.IsAny <Func <object> >(), sut.NextScreenshotName, observer.Object)) .Returns <Unit, IActor, Func <object>, Func <string>, IObserver <ScreenshotInfo> >((a, b, execute, c, d) => execute()); // act var actual = sut.Execute(action); // assert Assert.Equal(expected, actual); }