예제 #1
0
        public void CloudPainter_ShouldCallUpdate_OnlyOnce()
        {
            var painter = new CloudPainter(imageHolder, settings, palette, layouter);

            painter.Paint();

            A.CallTo(() => imageHolder.UpdateUi()).WithAnyArguments().MustHaveHappenedOnceExactly();
        }
예제 #2
0
        public void CloudPainter_ShouldCallDrawRectangle_ExactTimesThatSpecifiedInSettings()
        {
            var iterations = 10;

            A.CallTo(() => settings.IterationsCount).Returns(iterations);
            var painter = new CloudPainter(imageHolder, settings, palette, layouter);

            painter.Paint();

            A.CallTo(() => graphics.DrawRectangle(default, default)).WithAnyArguments().MustHaveHappened(iterations, Times.Exactly);
예제 #3
0
        private static void GenerateLayoutAndSaveToFile(string filePath, Point center, Size canvasSize, int rectCount)
        {
            var layouter         = new CircularCloudLayouter(center);
            var placedRectangles = RandomEntitiesFabric.GetRandomLayout(layouter, rectCount);

            using (var painter = new CloudPainter(canvasSize))
            {
                painter.PaintRectangles(placedRectangles)
                .SaveToFile(filePath);
            }
        }
예제 #4
0
        public void CloudPainter_ShouldCallLayouterExactTimesThatSpecifiedInSettings()
        {
            var iterations = 10;

            A.CallTo(() => settings.IterationsCount).Returns(iterations);
            var painter = new CloudPainter(imageHolder, settings, palette, layouter);

            painter.Paint();

            A.CallTo(() => layouter.PutNextRectangle(new Size(10, 10))).WithAnyArguments().MustHaveHappened(iterations, Times.Exactly);
        }
예제 #5
0
파일: TagCloudTests.cs 프로젝트: pa1ch/tdd
 public void TearDown()
 {
     if (TestContext.CurrentContext.Result.Outcome.Status != TestStatus.Passed)
     {
         var directory = TestContext.CurrentContext.TestDirectory;
         var filename  = TestContext.CurrentContext.Test.Name;
         var path      = Path.GetFullPath($"{directory}\\..\\..\\FailedTestsImages\\{filename}.png");
         var painter   = new CloudPainter();
         var image     = painter.CreateNewTagCloud(tagCloud);
         TestContext.Out.WriteLine($"Tag cloud visualization saved to file {path}");
         painter.SaveCloudImage(image, path);
     }
 }
        public void TearDown()
        {
            if (TestContext.CurrentContext.Result.Outcome.Status == TestStatus.Passed ||
                currentLayout.Count == 0)
            {
                return;
            }

            var name = TestContext.CurrentContext.Test.Name;
            var path = Path.Combine(TestContext.CurrentContext.TestDirectory, $"{name}.bmp");

            using (var painter = new CloudPainter(new Size(CanvasSideLength, CanvasSideLength)))
            {
                painter.PaintRectangles(currentLayout)
                .SaveToFile(path);
            }
            Console.WriteLine($"Tag cloud visualization saved to file {path}");
        }
예제 #7
0
 public void SetUp()
 {
     painter = new CloudPainter("cloud");
 }