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); }
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); }