public void TestINN()
        {
            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.IsEmpty(), false);

            fieldTree.InitIncrementalNearestNeighbor(0, 0);
            var r = fieldTree.IncrementalNearestNeighborFindNext();

            Assert.AreEqual(r.Equals(new Rect(new Point(-1, 0), new Size(1, 1))), true);
            r = fieldTree.IncrementalNearestNeighborFindNext();
            Assert.AreEqual(r.Equals(new Rect(new Point(1, 1), new Size(1, 1))), true);
            r = fieldTree.IncrementalNearestNeighborFindNext();
            Assert.AreEqual(r.Equals(new Rect(new Point(2, -2), new Size(1, 1))) || r.Equals(new Rect(new Point(-2, -2), new Size(1, 1))), true);
            r = fieldTree.IncrementalNearestNeighborFindNext();
            Assert.AreEqual(r.Equals(new Rect(new Point(2, -2), new Size(1, 1))) || r.Equals(new Rect(new Point(-2, -2), new Size(1, 1))), true);
            r = fieldTree.IncrementalNearestNeighborFindNext();
            Assert.AreEqual(r.Equals(new Rect(new Point(-3, 2), new Size(1, 1))), true);
            r = fieldTree.IncrementalNearestNeighborFindNext();
            Assert.AreEqual(r.Equals(new Rect(new Point(3, 3), new Size(1, 1))) || r.Equals(new Rect(new Point(3, -3), new Size(1, 1))), true);
            r = fieldTree.IncrementalNearestNeighborFindNext();
            Assert.AreEqual(r.Equals(new Rect(new Point(3, 3), new Size(1, 1))) || r.Equals(new Rect(new Point(3, -3), new Size(1, 1))), true);
            r = fieldTree.IncrementalNearestNeighborFindNext();
            Assert.AreEqual(r, null);
        }