Example #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);
        }
Example #2
0
        public void IndexOutputTests_DistinctWords_Bla_bla_Expect_Output_Index_bla_Bla()
        {
            List <string> verifyList = new List <string>();

            _mockIndexParameterParser
            .Setup(m => m.ParseIndexParameter())
            .Returns(new IndexParameter {
                IsPresent = true
            });

            _mockDictionaryParameterParser
            .Setup(m => m.ParseDictionaryParameter())
            .Returns(new DictionaryParameter {
                IsPresent = false
            });

            _mockDisplayOutput
            .Setup(expression: m => m.WriteLine(It.IsAny <string>()))
            .Callback <string>(action: (s) => verifyList.Add(item: s));

            IndexOutputRequest indexOutputRequest = new IndexOutputRequest
            {
                DistinctWords = new List <string> {
                    "Bla", "bla"
                }
            };

            _systemUnderTest.OutputIndex(indexOutputRequest: indexOutputRequest);

            _mockDisplayOutput
            .Verify(
                expression: v => v.WriteResourceLine("INDEX"),
                times: Times.Once);

            _mockDisplayOutput
            .Verify(
                expression: v => v.WriteLine("bla"),
                times: Times.Once);

            _mockDisplayOutput
            .Verify(
                expression: v => v.WriteLine("Bla"),
                times: Times.Once);

            Assert.Equal(expected: "bla", actual: verifyList[index: 0]);
            Assert.Equal(expected: "Bla", actual: verifyList[index: 1]);
        }