public void QuadTreePoint2DRemovalTest()
        {
            var tree = new QuadTreePoint2D(10, 10);

            var p1 = new Point2D(0, 0);
            var p2 = new Point2D(5, 5);
            var p3 = new Point2D(10, 10);
            var p4 = new Point2D(10, 10);

            tree.AddItems(new[] { p1, p2, p3, p4 });

            Assert.AreEqual(4, tree.ItemCount);

            tree.RemoveItem(p3);

            Assert.AreEqual(3, tree.ItemCount);
            Assert.AreEqual(true, tree.HasItem(p1));
            Assert.AreEqual(true, tree.HasItem(p2));
            Assert.AreEqual(true, tree.HasItem(p4));

            tree.RemoveItems(new[] { p1, p2 });

            Assert.AreEqual(1, tree.ItemCount);
            Assert.AreEqual(true, tree.HasItem(p4));

            tree.RemoveAllItems();

            Assert.AreEqual(0, tree.ItemCount);
        }