コード例 #1
0
        public void CanMaintainDirtyFlag()
        {
            var qt = new PointQuadtree <int>();

            // New empty inverted index isn't dirty:
            Assert.False(qt.IsDirty);

            qt.Add(0, new Point(0, 0));

            // After adding an item, it's dirty:
            Assert.True(qt.IsDirty);

            qt.Build();

            // After building, the index is clean:
            Assert.False(qt.IsDirty);

            qt.Add(1, new Point(1, 1));

            // After adding items, index is dirty:
            Assert.True(qt.IsDirty);

            qt.Clear();

            // After clearing, index is empty and thus clean:
            Assert.False(qt.IsDirty);
        }
コード例 #2
0
        public void CanBoundingBox()
        {
            var qt = new PointQuadtree <int>();

            Assert.False(qt.IsDirty);
            Assert.Equal(0, qt.ItemCount);
            Assert.Null(qt.BoundingBox);

            qt.Add(33, new Point(3, 3));
            qt.Build();

            Assert.NotNull(qt.BoundingBox);
            Assert.Equal(new Envelope(3, 3, 3, 3), qt.BoundingBox);

            qt.Add(55, new Point(5, 5));
            qt.Build();

            Assert.NotNull(qt.BoundingBox);
            Assert.Equal(new Envelope(3, 3, 5, 5), qt.BoundingBox);

            qt.Clear();

            Assert.False(qt.IsDirty);
            Assert.Null(qt.BoundingBox);
        }