Example #1
0
        public void TestIsSpaceFalse()
        {
            int[] radius = { 10, 0, 5, 100, 20, 40, 50 };
            int   y      = 300;

            PointF[] circleCenter =
            {
                new PointF(0,     0),
                new PointF(501, 301),
                new PointF(496,  15),
                new PointF(120, 220),
                new PointF(480, 300),
                new PointF(460, 261),
                new PointF(510, 250)
            };

            for (int i = 0; i < radius.Length; i++)
            {
                PackingCircles.radius = radius[i];
                PackingCircles.distanceBetweenCircles = 0;
                PackingCircles.height = y;

                PackingCircles.Circle circle = new PackingCircles.Circle(
                    PackingCircles.radius,
                    PackingCircles.distanceBetweenCircles,
                    circleCenter[i]);

                bool result = PackingCircles.IsSpace(circle);

                Assert.IsFalse(result);
            }
        }
Example #2
0
        public void TestIsSpaceTrue()
        {
            int[] radius = { 10, 0, 5, 100, 20, 40, 50 };
            int   y      = 300;

            PackingCircles.borderDistance = 50;

            PointF[] circleCenter =
            {
                new PointF(60,   60),
                new PointF(450, 250),
                new PointF(445,  65),
                new PointF(150, 150),
                new PointF(430, 230),
                new PointF(410, 210),
                new PointF(400, 200)
            };

            for (int i = 0; i < radius.Length; i++)
            {
                PackingCircles.radius = radius[i];
                PackingCircles.distanceBetweenCircles = 0;
                PackingCircles.height = y;

                PackingCircles.Circle circle = new PackingCircles.Circle(
                    PackingCircles.radius,
                    PackingCircles.distanceBetweenCircles,
                    circleCenter[i]);

                bool result = PackingCircles.IsSpace(circle);

                Assert.IsTrue(result);
            }
        }
Example #3
0
        public void TestGetNextCircleFirstRowFirstCircleNoSpace()
        {
            PackingCircles.radius = 380;
            PackingCircles.distanceBetweenCircles = 0;
            PackingCircles.height         = 400;
            PackingCircles.borderDistance = 50;

            PackingCircles.Circle result = PackingCircles.GetNextCircle(null);

            Assert.IsNull(result);
        }
Example #4
0
        public void TestGetNextCircleFirstRowFirstCircleHasSpace()
        {
            PackingCircles.radius = 10;
            PackingCircles.distanceBetweenCircles = 0;
            PackingCircles.height         = 400;
            PackingCircles.borderDistance = 50;

            PackingCircles.Circle expected = new PackingCircles.Circle(
                PackingCircles.radius = 10,
                PackingCircles.distanceBetweenCircles = 0,
                new PointF(60, 60));

            PackingCircles.Circle result = PackingCircles.GetNextCircle(null);

            Assert.AreEqual(expected, result);
        }
Example #5
0
        private Ellipse createEllipse(PackingCircles.Circle c, int areaHeight)
        {
            Ellipse ellipse = new Ellipse();

            SolidColorBrush blackBrush = new SolidColorBrush();

            blackBrush.Color = Colors.Black;

            ellipse.Width           = c.r * 2;
            ellipse.Height          = c.r * 2;
            ellipse.Stroke          = blackBrush;
            ellipse.StrokeThickness = 1;

            Canvas.SetLeft(ellipse, c.coords.X - c.r);
            Canvas.SetTop(ellipse, areaHeight - c.coords.Y - c.r);

            return(ellipse);
        }