Ejemplo n.º 1
0
        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 = visualizer.Visualize(Painter.Colorize(rectangles)))
            {
                bitmap.Save(path);
            }

            TestContext.WriteLine($"Tag cloud visualization saved to file {path}");
        }
Ejemplo n.º 2
0
        public Image Create(TagsCloudSettings settings)
        {
            var words = processors.Aggregate(wordReader.ReadAllWords(settings.WordsPath),
                                             (current, processor) => processor.Process(current)).ToArray();
            var tags = WordCounter.Count(words)
                       .Select(word =>
            {
                var(font, size) = wordMeasurer.Measure(word);
                return(new Tag(word.Value, font, layouter.PutNextRectangle(size)));
            })
                       .ToArray();

            return(visualizer.Visualize(painter.Colorize(tags)));
        }