public void PutNextRectangle_PlaceFirstRectangleOnCenter_WhenOnlyOneRectangle() { var rectangle = new SpiralCloudLayouter(imageSettings) .PutNextRectangle(MakeRandomSize()); rectangle.GetValueOrThrow().X.Should().Be(imageSettings.Width / 2); rectangle.GetValueOrThrow().Y.Should().Be(imageSettings.Height / 2); }
public void SetUp() { imageSettings = new ImageSettings(); spiralCloudLayouter = new SpiralCloudLayouter(imageSettings); for (var i = 0; i < 70; i++) { spiralCloudLayouter.PutNextRectangle(MakeRandomSize()); } }
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()); } }