public void TestClear()
        {
            BottomUpCoverFieldTree <Rect> fieldTree = new BottomUpCoverFieldTree <Rect>(0.3);

            Rect rect1 = new Rect(new Point(2, 2), new Size(3, 3));
            Rect rect2 = new Rect(new Point(-2, 2), new Size(1, 1));
            Rect rect3 = new Rect(new Point(3, 2), new Size(1, 2));
            Rect rect4 = new Rect(new Point(2, -2), new Size(1, 1));

            fieldTree.Add(rect1);
            fieldTree.Add(rect2);
            fieldTree.Add(rect3);
            fieldTree.Add(rect4);
            fieldTree.Clear();
            Assert.AreEqual(fieldTree.IsEmpty(), true);
        }
        public void AddSingleRectangle()
        {
            BottomUpCoverFieldTree <Rect> fieldTree = new BottomUpCoverFieldTree <Rect>(0.3);

            Rect rect1 = new Rect(new Point(2, 2), new Size(3, 3));

            fieldTree.Add(rect1);
            Assert.AreEqual(fieldTree.IsEmpty(), false);
        }
        public void AddSingleRectangleAndPop()
        {
            BottomUpCoverFieldTree <Rect> fieldTree = new BottomUpCoverFieldTree <Rect>(0.3);

            Rect rect1 = new Rect(new Point(2, 2), new Size(3, 3));

            fieldTree.Add(rect1);
            Rect r = fieldTree.PopNearestObject(0, 0);

            Assert.AreEqual(fieldTree.IsEmpty(), true);
            Assert.AreEqual(r, rect1);
        }