public void BehaviourInterface_HandleUserNeedCallChainResolution() { //Arrange var spy = A.Fake<IInputOutputDriver>(); A.CallTo(() => spy.Input()).Returns(A.Dummy<string>()); var doc = A.Fake<BaseCommandInterpreter>(); BehaviourInterface sut = new BehaviourInterface(doc, spy); //Act var dummy = sut.HandleUserNeeds(); //Assert A.CallTo(() => doc.HandleCommand(A<string>.Ignored)).MustHaveHappened(Repeated.Exactly.Once); }
public void BehaviourInterface_HandleUserNeedsResistsInputFailures() { //Arrange var spy = A.Fake<IInputOutputDriver>(); A.CallTo(() => spy.Input()).Throws<Exception>(); var doc = A.Fake<BaseCommandInterpreter>(); BehaviourInterface sut = new BehaviourInterface(doc, spy); //Act var keepRun = sut.HandleUserNeeds(); //Assert keepRun.Should().BeTrue(); }
public void BehaviourInterface_HandleUserNeedsLogsInputFailures() { //Arrange var spy = A.Fake<IInputOutputDriver>(); var expectedMessage = String.Format(UI.Properties.Resources.Error, "Test"); A.CallTo(() => spy.Input()).Throws(new Exception("Test")); var doc = A.Fake<BaseCommandInterpreter>(); BehaviourInterface sut = new BehaviourInterface(doc, spy); //Act var dummy = sut.HandleUserNeeds(); //Assert A.CallTo(() => spy.Output(expectedMessage)).MustHaveHappened(Repeated.Exactly.Once); }