Example #1
0
        public void Perform()
        {
            var dialog = new OpenFileDialog
            {
                InitialDirectory = Path.GetFullPath(filePath.WordsFilePath),
                DefaultExt       = "txt",
                Filter           = "Файлы (*.txt)|*.txt"
            };
            var res = dialog.ShowDialog();

            if (res != DialogResult.OK)
            {
                return;
            }
            filePath.WordsFilePath = dialog.FileName;
            var words = reader.Read();

            res = SettingsForm.For(preprocessorSettings).ShowDialog();
            if (res != DialogResult.OK)
            {
                return;
            }
            var preprocessed = preprocessors.Aggregate(words, (current, preprocessor) => preprocessor.Process(current));
            var infos        = frequencyCounter.CountWordFrequencies(preprocessed);
            var wordInfos    = applicator.GetWordsAndRectangles(infos);

            painter.Paint(applicator.WordsCenter, wordInfos);
            imageHolder.UpdateUi();
        }
Example #2
0
        public void SetCenter()
        {
            var applicator = new LayouterApplicator(layouter, new FontSettings());

            applicator.GetWordsAndRectangles(wordInfos);

            applicator.WordsCenter.Should().Be(layouter().Center);
        }
Example #3
0
        public void Apply_ForEachWord()
        {
            var applicator = new LayouterApplicator(layouter, new FontSettings());

            var result = applicator.GetWordsAndRectangles(wordInfos);

            result.Count().Should().Be(wordInfos.Length);
        }
Example #4
0
        public void BeNotSuccess_WhenNullArgument()
        {
            var applicator = new LayouterApplicator(layouter, new FontSettings());

            var result = applicator.GetWordsAndRectangles(null);

            result.IsSuccess.Should().BeFalse();
        }
Example #5
0
        public void ThrowsException_WhenNullArgument()
        {
            var applicator = new LayouterApplicator(layouter, new FontSettings());

            Action runner = () =>
            {
                var en = applicator.GetWordsAndRectangles(null);
                en.First();
            };

            runner.Should().Throw <ArgumentNullException>();
        }
Example #6
0
        public void SetCorrect_FontSize(float fontFactor)
        {
            var applicator = new LayouterApplicator(layouter, new FontSettings
            {
                FontSizeFactor = fontFactor
            });

            var result = applicator.GetWordsAndRectangles(wordInfos);

            foreach (var info in result)
            {
                info.FontSize.Should().Be(info.Frequency * fontFactor);
            }
        }
Example #7
0
 public void Perform()
 {
     ShowOpenFileDialog <string>()
     .Then(s => reader.Read())
     .Then(ShowSettingsDialog)
     .Then(words => preprocessors.Aggregate(words,
                                            (current, wordsPreprocessor) => wordsPreprocessor.Process(current).GetValueOrThrow()))
     .Then(frequencyCounter.CountWordFrequencies)
     .Then(words => applicator.GetWordsAndRectangles(words.ToArray()))
     .Then(wordInfos => painter.Paint(applicator.WordsCenter, wordInfos))
     .Then(none => imageHolder.UpdateUi())
     .OnFail(error =>
     {
         if (error != "")
         {
             MessageBox.Show(error);
         }
     });
 }