public void SetSettings(IFileReader reader, ICloudLayouter layouter, IPreprocessor preprocessor, IImageSaver saver, ICloudBuilder builder) { this.reader = reader; this.layouter = layouter; this.preprocessor = preprocessor; this.saver = saver; this.cloudBuilder = builder; }
public CloudImageBuilder( ICloudBuilder builder, IWordReader reader, IWordWeighter weighter, IWordDrawer drawer, Size imageSize ) { _weighter = weighter; _drawer = drawer; BuildCloudImage(builder, reader, imageSize); }
private void BuildCloudImage(ICloudBuilder builder, IWordReader reader, Size imageSize) { _cloudImage = new Bitmap(imageSize.Width, imageSize.Height); var graphics = Graphics.FromImage(_cloudImage); var weightedWords = _weighter.WeightWords(reader); foreach (var weightedWord in weightedWords) { var rectanglePlace = builder.PutNextRectangle(_drawer.GetWordSize(graphics, weightedWord)); graphics.DrawRectangle(Pens.RoyalBlue, rectanglePlace); _drawer.DrawWord(graphics, weightedWord, rectanglePlace); } }
public void SetUp() { var wordsFilterMock = Substitute.For <IWordsFilter>(); wordsFilterMock.Filter(Arg.Any <IEnumerable <string> >()).Returns(Enumerable.Repeat("mock", 100)); var fileReaderMock = Substitute.For <IFileReader>(); fileReaderMock.ReadFile(Arg.Any <string>()).Returns(Enumerable.Repeat("mock", 100)); var layoutNormalizerMock = Substitute.For <ILayoutNormalizer>(); var rect = new Rectangle(0, 0, 1000, 1000); var wordInRect = new WordInRect("kek", rect, new Font("Arial", 10)); layoutNormalizerMock.GetMainRect(Arg.Any <IEnumerable <WordInRect> >()).Returns(rect); layoutNormalizerMock.ShiftLayout(Arg.Any <IEnumerable <WordInRect> >(), rect) .Returns(Enumerable.Repeat(wordInRect, 100).ToArray()); var builder = new ContainerBuilder(); builder.RegisterInstance(new FrequencyAnalyzer()).As <IFrequencyAnalyzer>(); builder.RegisterInstance(new DictionaryNormalizer()).As <IDictionaryNormalizer>(); builder.RegisterInstance(new CloudLayouter(new Point(0, 0), 1)) .As <ICloudLayouter>(); builder.RegisterInstance(wordsFilterMock).As <IWordsFilter>(); builder.RegisterInstance(layoutNormalizerMock).As <ILayoutNormalizer>(); builder.RegisterType <CloudBuilder>().As <ICloudBuilder>(); builder.RegisterType <CloudDrawer>().As <ICloudDrawer>(); builder.RegisterInstance(fileReaderMock).As <IFileReader>(); builder.RegisterInstance(new CloudSaver()).As <ICloudSaver>(); var container = builder.Build(); cloudBuilder = container.Resolve <ICloudBuilder>(); }
public void RebuildCloudImage(ICloudBuilder builder, IWordReader reader, Size imageSize) { BuildCloudImage(builder, reader, imageSize); }