public void Analyze_ReturnCorrectWordsFrequencies()
        {
            var words = new List <string>()
            {
                "он", "не", "рассказал", "всей", "эх", "правда", "не", "правда", "эх", "эх"
            };
            var expected = new Dictionary <string, int>()
            {
                ["рассказал"] = 1,
                ["он"]        = 1,
                ["эх"]        = 3,
                ["не"]        = 2,
                ["правда"]    = 2,
                ["всей"]      = 1
            };

            analyzer.Analyze(words).Should().BeEquivalentTo(expected);
        }
示例#2
0
 public Result <TagsCloud> CreateTagsCloud(string textFilePath, IFontSettings fontSettings)
 {
     return(sourceWordsProvider.Get()
            .Then
            (
                words => wordsAnalyzer
                .Analyze(words)
                .OrderByDescending(kvp => kvp.Value)
                .ToDictionary(kvp => kvp.Key, kvp => kvp.Value)
            )
            .Then(frequencyByWord => GetTags(frequencyByWord, fontSettings))
            .Then(tags => new TagsCloud(tags, layouter.CloudWidth, layouter.CloudHeight, layouter.Center))
            .RefineError("Cannot create tags cloud"));
 }