Exemplo n.º 1
0
        public Result <IEnumerable <Tag> > GetTagsCloud()
        {
            var frequencyDictResult = fileHandler.GetWordsFrequencyDict();

            if (!frequencyDictResult.IsSuccess)
            {
                return(Result.Fail <IEnumerable <Tag> >(frequencyDictResult.Error));
            }
            var tagsCloudResult = algorithmToBuild.GetTags(frequencyDictResult.Value);

            if (!tagsCloudResult.IsSuccess)
            {
                return(Result.Fail <IEnumerable <Tag> >(tagsCloudResult.Error));
            }
            return(tagsCloudResult);
        }
Exemplo n.º 2
0
        public void TextHandler_GivesRightFrequencyDict_OnSingleWords()
        {
            var lines      = new[] { "Hi", "my", "dear", "friend" };
            var textReader = A.Fake <ITextReader>();

            A.CallTo(() => textReader.GetLines()).Returns(lines);
            var wordsEliminator = A.Fake <IDullWordsEliminator>();

            A.CallTo(() => wordsEliminator.IsDull(null)).WithAnyArguments().Returns(false);
            var defaultTextHandler = new TextHandler(textReader, wordsEliminator);

            var dict = defaultTextHandler.GetWordsFrequencyDict().Value;

            foreach (var word in lines)
            {
                dict.Should().ContainKey(word.ToLower());
                dict.Should().Contain(new KeyValuePair <string, int>(word.ToLower(), 1));
            }
        }
Exemplo n.º 3
0
        public void TextHandler_SplittedLinesIntoWords()
        {
            var lines      = new[] { "Hi my friend.", "Hi, my friend!" };
            var textReader = A.Fake <ITextReader>();

            A.CallTo(() => textReader.GetLines()).Returns(lines);
            var wordsEliminator = A.Fake <IDullWordsEliminator>();

            A.CallTo(() => wordsEliminator.IsDull(null)).WithAnyArguments().Returns(false);
            var defaultTextHandler = new TextHandler(textReader, wordsEliminator);

            var dict = defaultTextHandler.GetWordsFrequencyDict().Value;

            dict.Should().ContainKey("hi");
            dict.Should().Contain(new KeyValuePair <string, int>("hi", 2));
            dict.Should().ContainKey("my");
            dict.Should().Contain(new KeyValuePair <string, int>("my", 2));
            dict.Should().ContainKey("friend");
            dict.Should().Contain(new KeyValuePair <string, int>("friend", 2));
        }