Esempio n. 1
0
 public void SetUp()
 {
     imageSettings       = new ImageSettings();
     spiralCloudLayouter = new SpiralCloudLayouter(imageSettings);
     for (var i = 0; i < 70; i++)
     {
         spiralCloudLayouter.PutNextRectangle(MakeRandomSize());
     }
 }
Esempio n. 2
0
        public void PutNextRectangle_PlaceRectangleOnSpiral()
        {
            var circularCloudLayouter = new SpiralCloudLayouter(imageSettings);
            var centerX     = imageSettings.Width / 2;
            var centerY     = imageSettings.Height / 2;
            var coordinates = new[]
            {
                new Point(centerX, centerY), new Point(centerX, centerY + 1), new Point(centerX - 1, centerY + 1),
                new Point(centerX - 1, centerY), new Point(centerX - 2, centerY), new Point(centerX - 2, centerY - 1),
                new Point(centerX - 1, centerY - 2), new Point(centerX - 1, centerY - 3),
                new Point(centerX, centerY - 3),
                new Point(centerX + 1, centerY - 3), new Point(centerX + 2, centerY - 3),
                new Point(centerX + 3, centerY - 2)
            };

            foreach (var pointOnSpiral in coordinates)
            {
                var rectangle = circularCloudLayouter.PutNextRectangle(new Size(1, 1));
                rectangle.GetValueOrThrow().Location.GetDistanceTo(pointOnSpiral).Should()
                .BeLessOrEqualTo(1.05 * rectangle.GetValueOrThrow().GetDiagonal());
            }
        }
Esempio n. 3
0
 public void PutNextRectangle_ResultWithError_RectangleSizeLessOrEqualZero()
 {
     spiralCloudLayouter.PutNextRectangle(new Size(0, 0)).IsSuccess.Should().BeFalse();
 }