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(); }
public void SetCenter() { var applicator = new LayouterApplicator(layouter, new FontSettings()); applicator.GetWordsAndRectangles(wordInfos); applicator.WordsCenter.Should().Be(layouter().Center); }
public void Apply_ForEachWord() { var applicator = new LayouterApplicator(layouter, new FontSettings()); var result = applicator.GetWordsAndRectangles(wordInfos); result.Count().Should().Be(wordInfos.Length); }
public void BeNotSuccess_WhenNullArgument() { var applicator = new LayouterApplicator(layouter, new FontSettings()); var result = applicator.GetWordsAndRectangles(null); result.IsSuccess.Should().BeFalse(); }
public void ThrowsException_WhenNullArgument() { var applicator = new LayouterApplicator(layouter, new FontSettings()); Action runner = () => { var en = applicator.GetWordsAndRectangles(null); en.First(); }; runner.Should().Throw <ArgumentNullException>(); }
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); } }
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); } }); }