Exemplo n.º 1
0
        public void SlidingWindowRemovesPointsInNoLongerInWindow()
        {
            var points                = CreateTestPoints();
            var windowSize            = 1;
            var windowPositioningType = WindowPositioningType.CenteredAtPosition;
            var sut = new SlidingWindow <Point2D>(points, p => p.X, windowSize, windowPositioningType);

            sut.SetPosition(2.2);
            Assert.That(sut.Count(), Is.EqualTo(2));
            Assert.That(sut.Select(p => p.X), Is.EquivalentTo(new[] { 2, 2.5 }));
            sut.SetPosition(3.1);
            Assert.That(sut.Count(), Is.EqualTo(1));
            Assert.That(sut.Select(p => p.X), Is.EquivalentTo(new[] { 3 }));
        }