Esempio n. 1
0
        public void CreateRectangleFromMiddlePointAndSize_ShouldReturnCorrectRectangle()
        {
            var expectedRectangle = new Rectangle(new Point(0, 0), new Size(4, 4));

            var result = RectangleExtensions.CreateRectangleFromMiddlePointAndSize(new Point(2, 2), new Size(4, 4));

            result.Should().BeEquivalentTo(expectedRectangle);
        }
Esempio n. 2
0
        public Rectangle PutNextRectangle(Size rectangleSize)
        {
            if (rectangleSize.Width <= 0 || rectangleSize.Height <= 0)
            {
                throw new ArgumentException("Width and height of the rectangle must be positive");
            }

            Rectangle rectangle;

            do
            {
                var possiblePoint = _spiral.GetNextPoint();
                rectangle = RectangleExtensions.CreateRectangleFromMiddlePointAndSize(possiblePoint, rectangleSize);
            } while (rectangle.IntersectsWith(_rectangles));

            var result = MoveToCanvasCenter(rectangle);

            _rectangles.Add(result);
            return(result);
        }