Пример #1
0
        public int Execute()
        {
            bool hasRequestedHelp = HelpOutput.ShowHelpIfRequested();

            if (hasRequestedHelp)
            {
                return(1);
            }

            InputTextResult inputTextResult = TextInput.GetInputText();

            if (inputTextResult.Text.IsNullOrEmpty())
            {
                return(0);
            }
            do
            {
                WordCountAnalyzerResult analyzeResult = WordCountAnalyzer.Analyze(text: inputTextResult.Text);

                WordCountAnalyzerOutput.DisplayResult(result: analyzeResult);

                IndexOutputRequest indexOutputRequest = new IndexOutputRequest
                {
                    DistinctWords = analyzeResult.DistinctWords
                };

                IndexOutput.OutputIndex(indexOutputRequest: indexOutputRequest);

                inputTextResult = TextInput.GetInputText();
            } while (inputTextResult.HasEnteredConsoleText);

            return(0);
        }
Пример #2
0
        public void WordCountAnalyzerOutputTests_DisplayResult_Result_NumberOfWords_2_Expect_Number_of_Words_2_Number()
        {
            _mockLanguageResource
            .Setup(m => m.DetectLongestResourceString(It.IsAny <string[]>()))
            .Returns(20);

            _systemUnderTest.DisplayResult(result: new WordCountAnalyzerResult
            {
                NumberOfWords       = 2,
                NumberOfUniqueWords = 1,
                AverageWordLength   = 5.63,
                NumberOfChapters    = 3
            });

            _mockDisplayOutput
            .Verify(v => v.WriteResourceLine("STATISTICS"), Times.Once);

            _mockStatisticsOutput
            .Verify(v => v.WriteNumberOfWords(2, 20), Times.Once);
            _mockStatisticsOutput
            .Verify(v => v.WriteNumberOfUniqeWords(1, 20), Times.Once);
            _mockStatisticsOutput
            .Verify(v => v.WriteAverageWordLength(5.63, 20), Times.Once);
            _mockStatisticsOutput
            .Verify(v => v.WriteNumberOfChapters(3, 20), Times.Once);
        }