public void TestCount()
        {
            BottomUpCoverFieldTree <Rect> fieldTree = new BottomUpCoverFieldTree <Rect>(0.3, 1);
            List <Rect> rects = new List <Rect>()
            {
                new Rect(new Point(1, 1), new Size(1, 1)),
                new Rect(new Point(3, 3), new Size(1, 1)),
                new Rect(new Point(-3, 2), new Size(1, 1)),
                new Rect(new Point(-1, 0), new Size(1, 1)),
                new Rect(new Point(-2, -2), new Size(1, 1)),
                new Rect(new Point(2, -2), new Size(1, 1)),
                new Rect(new Point(3, -3), new Size(1, 1))
            };

            fieldTree.AddMany(rects);
            Assert.AreEqual(fieldTree.Count(), 7);

            int totalNum = 7;

            foreach (var item in rects)
            {
                fieldTree.Remove(item);
                totalNum -= 1;
                Assert.AreEqual(fieldTree.Count(), totalNum);
            }
            Assert.AreEqual(fieldTree.IsEmpty(), true);
        }
        public void AddSingleRectangleAndRemove()
        {
            BottomUpCoverFieldTree <Rect> fieldTree = new BottomUpCoverFieldTree <Rect>(0.3);

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

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