Пример #1
0
 private void PrintIndex(WordCountResult wordCountResult)
 {
     _console.WriteLine($"Index (unknown: {wordCountResult.Index.Where(i => i.IsUnknown).Count()}):");
     foreach (IndexResult indexItem in wordCountResult.Index)
     {
         _console.WriteLine(indexItem.ToString());
     }
 }
Пример #2
0
        public void PrintResultToConsole(WordCountResult wordCountResult, bool isIndexOptionSet)
        {
            PrintSummary(wordCountResult);

            if (isIndexOptionSet)
            {
                PrintIndex(wordCountResult);
            }
        }
Пример #3
0
 private void dlgWordCount_Load(object sender, EventArgs e)
 {
     if (_CountResult == null)
     {
         _CountResult = new WordCountResult();
     }
     lblChars.Text             = _CountResult.Chars.ToString();
     lblCharsNOWhitespace.Text = _CountResult.CharsNoWhitespace.ToString();
     lblImages.Text            = _CountResult.Images.ToString();
     lblLines.Text             = _CountResult.Lines.ToString();
     lblPages.Text             = _CountResult.Pages.ToString();
     lblParagraphs.Text        = _CountResult.Paragraphs.ToString();
     lblWords.Text             = _CountResult.Words.ToString();
 }
Пример #4
0
        public void Should_Print_Result_To_Console(WordCountResult wordCountResult, bool isIndexOptionSet, string expectedResult)
        {
            // Arrange
            ConsoleUi consoleUi = CreateMockConsoleUi();

            // Act
            consoleUi.PrintResultToConsole(
                wordCountResult,
                isIndexOptionSet);

            // Assert
            var consoleWrapper = consoleUi.GetConsole() as MockConsoleWrapper;

            consoleWrapper.MockConsole.ToString().Should().Be(expectedResult);
        }
Пример #5
0
        public void Should_Count_Words_Of_Supplied_Text(string text, string[] dictionaryWords, WordCountResult expectedResult)
        {
            // Arrange
            Interactor interactor = CreateInteractor();

            // Act
            WordCountResult result = interactor.CountWords(
                text,
                dictionaryWords);

            // Assert
            result.NumberOfWords.Should().Be(expectedResult.NumberOfWords);
            result.AverageWordLength.Should().Be(expectedResult.AverageWordLength);
            result.NumberOfUniqueWords.Should().Be(expectedResult.NumberOfUniqueWords);
            result.Index.Should().BeEquivalentTo(expectedResult.Index, config => config.WithStrictOrdering());
        }
Пример #6
0
 protected void WordCount(object sender, WriterCommandEventArgs args)
 {
     if (args.Mode == WriterCommandEventMode.QueryState)
     {
         args.Enabled = args.Document != null;
     }
     else if (args.Mode == WriterCommandEventMode.Invoke)
     {
         if (args.Document != null)
         {
             DomElementList list = new DomElementList();
             if (args.Document.Selection.Length != 0)
             {
                 // 计算被选择区域
                 list = args.Document.Selection.ContentElements.Clone();
             }
             else
             {
                 // 计算整个文档
                 foreach (DomDocumentContentElement ce in args.Document.Elements)
                 {
                     if (ce.IsEmpty == false)
                     {
                         list.AddRange(ce.Content);
                     }
                 }
             }
             WordCountResult result = new WordCountResult(args.Document, list);
             args.Result = result;
             if (args.ShowUI)
             {
                 using (dlgWordCount dlg = new dlgWordCount())
                 {
                     dlg.CountResult = result;
                     dlg.ShowDialog(args.EditorControl);
                 }
             }
             args.RefreshLevel = UIStateRefreshLevel.None;
         }
     }
 }
Пример #7
0
 private void PrintSummary(WordCountResult wordCountResult) =>
 _console.WriteLine($"Number of words: {wordCountResult.NumberOfWords}, " +
                    $"unique: {wordCountResult.NumberOfUniqueWords}; " +
                    $"average word length: {string.Format(CultureInfo.InvariantCulture, "{0:0.00}", wordCountResult.AverageWordLength)} characters");