public TagCloudCommand( TagCloudPainter tagCloudPainter, WordFrequency wordFrequency, IImageSizeProvider imageSizeProvider, IFontFamilyProvider fontFamilyProvider, Func <Point, ILayoutAlgorithm> algorithmGenerator, Func <ILayoutAlgorithm, TagCloudLayouter> layouterGenerator, FileReader fileReader) { this.tagCloudPainter = tagCloudPainter; this.wordFrequency = wordFrequency; this.imageSizeProvider = imageSizeProvider; this.fontFamilyProvider = fontFamilyProvider; this.algorithmGenerator = algorithmGenerator; this.layouterGenerator = layouterGenerator; this.fileReader = fileReader; }
public CloudDrawAction(IFileReader reader, IWordsPreprocessor[] preprocessors, FrequencyCounter frequencyCounter, WordsPreprocessorSettings preprocessorSettings, IFilePathProvider filePath, TagCloudPainter painter, LayouterApplicator applicator, PictureBoxImageHolder imageHolder) { this.reader = reader; this.preprocessors = preprocessors; this.frequencyCounter = frequencyCounter; this.preprocessorSettings = preprocessorSettings; this.filePath = filePath; this.painter = painter; this.applicator = applicator; this.imageHolder = imageHolder; }
public void SetUp() { var imageSavers = new List <IImageSaver> { new PngSaver(), new JpgSaver() }; var fileReaders = new List <IFileAllLinesReader> { new TxtReader(), new DocReader() }; var fileReader = new FileReader(new FileReaderProvider(fileReaders)); var imageHolder = new ImageHolder(new ImageSaverProvider(imageSavers)); var imageSettings = new ImageSettings(); var wordFrequency = new WordFrequency(new GrammemeChecker()); var painter = new TagCloudPainter(imageHolder, imageSettings); var algorithmGenerator = new Func <Point, ILayoutAlgorithm>(x => new SpiralAlgorithm(x)); var layoutGenerator = new Func <ILayoutAlgorithm, TagCloudLayouter>(x => new TagCloudLayouter(x)); tagCloudCommand = new TagCloudCommand( painter, wordFrequency, imageSettings, imageSettings, algorithmGenerator, layoutGenerator, fileReader); saveCommand = new SaveCommand(imageHolder); addColorCommand = new AddColorCommand(imageSettings); setFontCommand = new SetFontCommand(imageSettings); setImageSizeCommand = new SetImageSizeCommand(imageSettings); }