public void BlackQuadAddEventShouldBeCalledTwentyTimes() { var qt = new RegionQuadtree <int>(3); qt.Set(1); var times = 0; qt.OnQuadAdded += (s, a) => { times++; }; qt.Unset(new Point2i(0, 0)); qt.Unset(new Point2i(4, 4)); Assert.Equal(20, times); }
public void BlackQuadRemoveEventShouldBeCalledFiveTimes() { var qt = new RegionQuadtree <int>(3); qt.Set(1); var times = 0; qt.OnQuadRemoving += (s, a) => { times++; }; qt.Unset(new Point2i(0, 0)); qt.Unset(new Point2i(0, 1)); Assert.Equal(5, times); }
public void WhiteQuadRemoveEventShouldBeCalledOnce() { var qt = new RegionQuadtree <int>(3); var times = 0; qt.OnQuadRemoving += (s, a) => { times++; }; qt.Set(new Point2i(0, 0), 1); qt.Unset(new Point2i(0, 0)); // Remove event should not be called twice qt.Unset(new Point2i(0, 0)); Assert.Equal(1, times); }
public void BlackQuadAddEventShouldBeCalledTwelveTimes() { var qt = new RegionQuadtree <int>(3); qt.Set(1); var times = 0; qt.OnQuadAdded += (s, a) => { times++; }; qt.Unset(new Point2i(0, 0)); Assert.Equal(12, times); // Remove event should not be called twice qt.Unset(new Point2i(0, 0)); Assert.Equal(12, times); }