Beispiel #1
0
        public void Remove_root()
        {
            var bst = new ArrayBst <int>(int.MinValue, 16);

            bst.Add(5);
            bst.Add(3);
            bst.Add(8);
            bst.Add(1);
            bst.Add(4);
            bst.Add(6);
            bst.Add(9);
            bst.Add(7);

            bst.Remove(5);
            Assert.False(bst.Find(5));
            Assert.True(bst.Find(6));

            Assert.True(bst.Find(1));
        }
Beispiel #2
0
        public void Add_more_than_size()
        {
            var bst = new ArrayBst <int>(int.MinValue, 8);

            bst.Add(5);
            bst.Add(3);
            bst.Add(8);
            bst.Add(1);
            bst.Add(4);
            bst.Add(6);
            bst.Add(9);
            bst.Add(7);

            //now we will need a re-allocation
            bst.Add(2);
            bst.Add(10);

            Assert.True(bst.Find(2));
            Assert.True(bst.Find(10));
        }
Beispiel #3
0
        public void Add_and_find()
        {
            var bst = new ArrayBst <int>(int.MinValue);

            bst.Add(5);
            bst.Add(3);
            bst.Add(8);
            bst.Add(1);
            bst.Add(4);
            bst.Add(6);
            bst.Add(9);
            bst.Add(7);

            Assert.True(bst.Find(1));
            Assert.True(bst.Find(3));
            Assert.True(bst.Find(6));
            Assert.True(bst.Find(9));
            Assert.True(bst.Find(7));

            Assert.False(bst.Find(0));
            Assert.False(bst.Find(10));
        }