public void TearDown() { var context = TestContext.CurrentContext; if (context.Result.Outcome.Status != TestStatus.Failed) { return; } var dir = Path.Combine(context.TestDirectory, "Failed layouts"); Directory.CreateDirectory(dir); var file = Path.ChangeExtension(context.Test.Name, "png"); var path = Path.Combine(dir, file); var visualizer = new TagsCloudVisualizer(); var layouter = GetTestProperty <CircularCloudLayouter>(LayouterKey); var rectangles = layouter.Rectangles.ToArray(); using (var bitmap = Painter.Colorize(rectangles).Then(visualizer.Visualize).Value) { bitmap.Save(path); } TestContext.WriteLine($"Tag cloud visualization saved to file {path}"); }
public TagsCloudGenerator( IWordsFileReader wordReader, IEnumerable <IWordProcessor> processors, IWordMeasurer wordMeasurer, IRectangleLayouter layouter, IPainter painter, TagsCloudVisualizer visualizer) { this.layouter = layouter; this.wordReader = wordReader; this.processors = processors; this.wordMeasurer = wordMeasurer; this.painter = painter; this.visualizer = visualizer; }
public void TearDown() { var context = TestContext.CurrentContext; if (context.Result.Outcome.Status == TestStatus.Failed) { var outputFile = $@"{context.TestDirectory}\FailedTests\{context.Test.Name}.png"; var visualizer = new TagsCloudVisualizer(new TagsCloudVisualizerConfiguration( new Font("Arial", 15), new Colors(Color.White, Color.Blue))); var bitmap = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); var graphics = Graphics.FromImage(bitmap); visualizer.DrawRectangles(graphics, layouter.Rectangles); bitmap.Save(outputFile); Console.WriteLine($"Tag cloud visualization saved to file {outputFile}"); } }