コード例 #1
0
            public void Test1()
            {
                // Arrange
                var intervalTree = new IntervalSearchTree();

                // Act
                intervalTree.Insert(1, 5);

                // Assert
                Assert.AreEqual(1, intervalTree.Root.c1);
                Assert.AreEqual(5, intervalTree.Root.c2);
                Assert.AreEqual(5, intervalTree.Root.Max);
            }
コード例 #2
0
            public void Test4()
            {
                // Arrange
                var intervalTree = new IntervalSearchTree();

                intervalTree.Insert(2, 5);
                intervalTree.Insert(3, 10);
                intervalTree.Insert(7, 13);

                // Act
                // Assert
                Assert.IsFalse(intervalTree.Overlap(0, 1));
                Assert.IsTrue(intervalTree.Overlap(2, 3));
                Assert.IsTrue(intervalTree.Overlap(6, 12));
                Assert.IsFalse(intervalTree.Overlap(15, 21));
            }
コード例 #3
0
            public void Test3()
            {
                // Arrange
                var intervalTree = new IntervalSearchTree();

                // Act
                intervalTree.Insert(1, 5);
                intervalTree.Insert(3, 10);
                intervalTree.Insert(0, 20);

                // Assert
                Assert.AreEqual(1, intervalTree.Root.c1);
                Assert.AreEqual(5, intervalTree.Root.c2);
                Assert.AreEqual(20, intervalTree.Root.Max);

                Assert.AreEqual(0, intervalTree.Root.Left.c1);
                Assert.AreEqual(20, intervalTree.Root.Left.c2);
                Assert.AreEqual(20, intervalTree.Root.Left.Max);

                Assert.AreEqual(3, intervalTree.Root.Right.c1);
                Assert.AreEqual(10, intervalTree.Root.Right.c2);
                Assert.AreEqual(10, intervalTree.Root.Right.Max);
            }