public void TearDown()
 {
     if (TestContext.CurrentContext.Result.Outcome.Status == TestStatus.Failed)
     {
         var bitmaper = new Bitmaper();
         bitmaper.Draw(_rectangles, $"rects_{TestContext.CurrentContext.Test.Name}_{DateTime.Now.Ticks}.bmp");
     }
 }
        public void PutNextRectangle_ShouldAddRectanglesWithAllowableDensity()
        {
            Point center = _fixture.Create <Point>();
            CircularCloudLayouter sut = new CircularCloudLayouter(center);
            var rectangleSizes        = _fixture.Build <Size>()
                                        .With(size => size.Width, () => NumberValueFactories.InRange(10, 100))
                                        .With(size => size.Height, () => NumberValueFactories.InRange(10, 100))
                                        .CreateMany(100);

            /*_rectangles = rectangleSizes
             *  .Select(size => sut.PutNextRectangle(size));
             * _rectangles = _rectangles.Append(new Rectangle(new Point(center.X - 1, center.Y - 1), new Size(3, 3)));*/

            var bitmaper = new Bitmaper();

            foreach (var rectangleSize in rectangleSizes)
            {
                _rectangles = _rectangles.Append(sut.PutNextRectangle(rectangleSize));
                bitmaper.Draw(_rectangles, "debug.bmp");
            }
            var density = CalculateDensity(center, _rectangles);

            density.Should().BeGreaterOrEqualTo(0.8);
        }