Exemple #1
0
        public void OverlapsAnyTests()
        {
            var intervals = new List <Interval>(_intervalSetOne);

            intervals.Sort();
            var tree = IntervalTree.Build(intervals);

            Assert.True(tree.OverlapsAny(5, 13));
            Assert.False(tree.OverlapsAny(0, 4));
        }
        public void SpeedTestBuild100kIntervals()
        {
            IntervalTree<int, DateTime> tree = new IntervalTree<int, DateTime>();
            for (int i = 0; i < 100 * 1000; i++)
            {
                tree.AddInterval(ZERO.AddHours(i), ZERO.AddHours(i + 200), i);
            }

            Stopwatch stopWatch = Stopwatch.StartNew();
            tree.Build();
            stopWatch.Stop();

            Assert.IsTrue(stopWatch.ElapsedMilliseconds < 3 * 1000, "Build took more then 4s - it took " + stopWatch.Elapsed);
        }
                public RangeTreeLookup(System.Collections.Generic.IReadOnlyCollection <ExecutionPathGroup> executionPathGroups, ExecutionPathGroup emptyGroup)
                {
                    _emptyGroup = emptyGroup;

                    foreach (var executionPathGroup in executionPathGroups)
                    {
                        var range = CreateRange(executionPathGroup.Match);

                        _minValue = Math.Min(_minValue, range.Minimum);
                        _maxValue = Math.Max(_maxValue, range.Maximum);
                    }

                    _intervalTree = IntervalTree.Build(executionPathGroups, e => CreateRange(e.Match));
                }
Exemple #4
0
        public void SpeedTestBuild100kIntervals()
        {
            IntervalTree <int, int> tree = new IntervalTree <int, int>();

            for (int i = 0; i < 100 * 1000; i++)
            {
                tree.AddInterval(i, i + 200, i);
            }

            Stopwatch stopWatch = Stopwatch.StartNew();

            tree.Build();
            stopWatch.Stop();

            Assert.IsTrue(stopWatch.ElapsedMilliseconds < 3 * 1000, "Build took more then 4s - it took " + stopWatch.Elapsed);
        }
Exemple #5
0
        public void SpeedTestIntersectingIntervals_GetRange()
        {
            IntervalTree <int, DateTime> tree = new IntervalTree <int, DateTime>();

            for (int i = 0; i < 100 * 1000; i++)
            {
                tree.AddInterval(ZERO.AddHours(i), ZERO.AddHours(i + 200), i);
            }
            tree.Build();

            Stopwatch stopWatch = Stopwatch.StartNew();
            var       result    = tree.Get(ZERO.AddHours(50 * 1000), ZERO.AddHours(52 * 1000));

            stopWatch.Stop();

            Assert.IsTrue(stopWatch.ElapsedMilliseconds < 100);
        }
Exemple #6
0
        public void SpeedTestIntersectingIntervals_GetPoint()
        {
            IntervalTree <int, int> tree = new IntervalTree <int, int>();

            for (int i = 0; i < 100 * 1000; i++)
            {
                tree.AddInterval(i, i + 200, i);
            }
            tree.Build();

            Stopwatch stopWatch = Stopwatch.StartNew();
            var       result    = tree.Get(50 * 1000);

            stopWatch.Stop();

            Assert.IsTrue(stopWatch.ElapsedMilliseconds < 100);
        }
Exemple #7
0
        public void GetOverlappingIntervals()
        {
            var intervals = new List <Interval>(_intervalSetOne);

            intervals.Sort();
            var tree = IntervalTree.Build(intervals);


            var expectedIntervals = new Interval[]
            {
                _intervalSetOne[2], _intervalSetOne[1], _intervalSetOne[3]
            };


            var observedIntervals = tree.GetOverlappingIntervals(new Interval(5, 13)).OrderBy(x => x.Begin);

            Assert.Equal(expectedIntervals, observedIntervals);
        }
        public void SpeedTestIntersectingIntervals_GetPoint()
        {
            IntervalTree<int, DateTime> tree = new IntervalTree<int, DateTime>();
            for (int i = 0; i < 100 * 1000; i++)
            {
                tree.AddInterval(ZERO.AddHours(i), ZERO.AddHours(i + 200), i);
            }

            tree.Build();

            Stopwatch stopWatch = Stopwatch.StartNew();
            var result = tree.Get(ZERO.AddHours(50 * 1000));
            stopWatch.Stop();

            Assert.IsTrue(stopWatch.ElapsedMilliseconds < 100);
        }
 public void BuildEmptyIntervalTree()
 {
     IntervalTree<int, DateTime> emptyTree = new IntervalTree<int, DateTime>();
     emptyTree.Build();
 }
Exemple #10
0
        public void BuildEmptyIntervalTree()
        {
            IntervalTree <int, DateTime> emptyTree = new IntervalTree <int, DateTime>();

            emptyTree.Build();
        }
Exemple #11
0
        public void BuildEmptyIntervalTree()
        {
            IntervalTree <int, int> emptyTree = new IntervalTree <int, int>();

            emptyTree.Build();
        }