예제 #1
0
        public Result <IEnumerable <TagStat> > Parse(string pathToWords, string pathToBoringWords = null)
        {
            var wordsResult = generalWordsReader.ReadFrom(pathToWords)
                              .AppendToErrorFromLeft($"Can't read words from \"{pathToWords}\":\n");

            if (!wordsResult.IsSuccess)
            {
                return(Result.Fail <IEnumerable <TagStat> >(wordsResult.Error));
            }

            var boringWordsResult = string.IsNullOrEmpty(pathToBoringWords)
                ? Result.Ok(new HashSet <string>())
                : generalWordsReader.ReadFrom(pathToBoringWords)
                                    .Then(readWords => new HashSet <string>(readWords))
                                    .AppendToErrorFromLeft($"Can't read boring words from \"{pathToBoringWords}\":\n");

            return(boringWordsResult.IsSuccess
                ? wordsProcessor.Process(wordsResult.Value, boringWordsResult.Value, settings.MaxUniqueWordsCount)
                : Result.Fail <IEnumerable <TagStat> >(boringWordsResult.Error));
        }
예제 #2
0
 public void ReturnError_WhenCantFindReaderForParticularFileExtension()
 {
     generalWordsReader.ReadFrom("file.with_wrong_format").IsSuccess.Should().BeFalse();
 }