Beispiel #1
0
        public void should_not_call_a_null_onFinish_method()
        {
            using (StringWriter output = new StringWriter()) {
                using (StringReader input = new StringReader("sss")) {
                    // arrange
                    Mock <IUserTerminal> mock_user_terminal = new Mock <IUserTerminal>( );
                    mock_user_terminal.SetupGet(x => x.Printer).Returns(output);
                    mock_user_terminal.SetupGet(x => x.Scanner).Returns(input);

                    Mock <IQuestionnaire> mock_questionnaire = new Mock <IQuestionnaire>( );
                    mock_questionnaire.SetupGet(x => x.Terminal).Returns(mock_user_terminal.Object);
                    mock_questionnaire.SetupGet(x => x.Settings).Returns(new QuestionnaireSetting());

                    MockQuestion mockQuestion = new MockQuestion("some questions", mock_questionnaire.Object)
                    {
                        ErrorMessage = "some error message"
                    };

                    // act
                    bool isFinishMethodCalled = false;
                    mockQuestion.Finish(null);
                    mockQuestion.Ask();

                    // assert
                    Assert.False(isFinishMethodCalled);
                }
            }
        }
Beispiel #2
0
        public void should_not_call_onFinish_when_validation_fails()
        {
            using (StringWriter output = new StringWriter()) {
                using (StringReader input = new StringReader("sss")) {
                    // arrange
                    Mock <IUserTerminal> mock_user_terminal = new Mock <IUserTerminal>( );
                    mock_user_terminal.SetupGet(x => x.Printer).Returns(output);
                    mock_user_terminal.SetupGet(x => x.Scanner).Returns(input);

                    Mock <IQuestionnaire> mock_questionnaire = new Mock <IQuestionnaire>( );
                    mock_questionnaire.SetupGet(x => x.Terminal).Returns(mock_user_terminal.Object);
                    mock_questionnaire.SetupGet(x => x.Settings).Returns(new QuestionnaireSetting());

                    MockQuestion mockQuestion = new MockQuestion("some questions", mock_questionnaire.Object)
                    {
                        ErrorMessage = "some error message"
                    };

                    mockQuestion.Validator(x => false, "some error message");

                    // act
                    bool isFinishMethodCalled = false;
                    mockQuestion.Finish((q) => {
                        isFinishMethodCalled = true;
                    });
                    mockQuestion.Ask();

                    // assert
                    Assert.Equal(QuestionStates.Invalid, mockQuestion.State);
                    Assert.False(isFinishMethodCalled);
                }
            }
        }
Beispiel #3
0
        public void Calling_Finshish_method_should_change_state_and_calls_lambda()
        {
            using (StringWriter output = new StringWriter()) {
                // arrange
                Mock <IUserTerminal> mock_user_terminal = new Mock <IUserTerminal>( );
                mock_user_terminal.SetupGet(x => x.Printer).Returns(output);

                string       text     = "What's your name?";
                MockQuestion question = new MockQuestion(text);

                string test_variable = "";
                question.Finish(x => {
                    test_variable = "done called from Finish method";
                });

                // act
                question.Finish();


                // assert
                Assert.Equal("done called from Finish method", test_variable);
                Assert.Equal(QuestionStates.Finished, question.State);
            }
        }
Beispiel #4
0
        public void Calling_Finshish_method_should_change_state()
        {
            using (StringWriter output = new StringWriter()) {
                // arrange
                Mock <IUserTerminal> mock_user_terminal = new Mock <IUserTerminal>( );
                mock_user_terminal.SetupGet(x => x.Printer).Returns(output);

                string       text     = "What's your name?";
                MockQuestion question = new MockQuestion(text);

                QuestionStates state_before_call = question.State;

                // act
                question.Finish();

                // assert
                Assert.Equal(QuestionStates.Initilaized, state_before_call);
                Assert.Equal(QuestionStates.Finished, question.State);
            }
        }