[svn] commit: r3559 - /branches/trac397/src/bin/auth/tests/rbt_datasrc_unittest.cc

BIND 10 source code commits bind10-changes at lists.isc.org
Thu Nov 18 06:23:24 UTC 2010


Author: chenzhengzhang
Date: Thu Nov 18 06:23:24 2010
New Revision: 3559

Log:
update rbt unittest

Modified:
    branches/trac397/src/bin/auth/tests/rbt_datasrc_unittest.cc

Modified: branches/trac397/src/bin/auth/tests/rbt_datasrc_unittest.cc
==============================================================================
--- branches/trac397/src/bin/auth/tests/rbt_datasrc_unittest.cc (original)
+++ branches/trac397/src/bin/auth/tests/rbt_datasrc_unittest.cc Thu Nov 18 06:23:24 2010
@@ -161,7 +161,6 @@
     successor_node = successor_node->successor();
     EXPECT_EQ(Name("q"), successor_node->getName());
 }
-}
 
 TEST_F(RBTreeTest, eraseName) {
     EXPECT_EQ(0, rbtree.insert(Name("k"), &rbtnode));
@@ -190,7 +189,7 @@
     EXPECT_EQ(0, rbtree.erase(Name("k")));
     EXPECT_EQ(0, rbtree.erase(Name("y")));
 
-    // can't delete non terminal
+    // can't delete shadow node
     EXPECT_EQ(1, rbtree.erase(Name("d.e.f")));
     EXPECT_EQ(RBTree<int>::NOTFOUND, rbtree.find(Name("w.y.d.e.f"), &rbtnode));
     EXPECT_EQ(0, rbtree.erase(Name("p.w.y.d.e.f")));
@@ -238,8 +237,6 @@
     // delete all the nodes one by one
     EXPECT_EQ(0, rbtree.erase(Name("c")));
     EXPECT_EQ(9, rbtree.getNodeCount());
-    EXPECT_EQ(1, rbtree.erase(Name("g.h")));
-    EXPECT_EQ(9, rbtree.getNodeCount());
     EXPECT_EQ(0, rbtree.erase(Name("a")));
     EXPECT_EQ(8, rbtree.getNodeCount());
     EXPECT_EQ(0, rbtree.erase(Name("b")));
@@ -257,8 +254,15 @@
      *                   |
      *                   j
      */
-    // can't delete non-terminal node
-    EXPECT_EQ(1, rbtree.erase(Name("z.d.e.f")));
+    // can't delete shadow node
+    EXPECT_EQ(0, rbtree.insert(Name("d.e.f"), &rbtnode));
+    EXPECT_EQ(RBTree<int>::EXACTMATCH, rbtree.find(Name("d.e.f"), &rbtnode));
+    EXPECT_EQ(0, rbtree.erase(Name("d.e.f")));
+    EXPECT_EQ(RBTree<int>::NOTFOUND, rbtree.find(Name("d.e.f"), &rbtnode));
+    // d.e.f node become shadow
+    EXPECT_EQ(1, rbtree.erase(Name("d.e.f")));
+    // z is a shdow node
+    EXPECT_EQ(0, rbtree.erase(Name("z.d.e.f")));
     EXPECT_EQ(6, rbtree.getNodeCount());
     EXPECT_EQ(0, rbtree.erase(Name("j.z.d.e.f")));
     EXPECT_EQ(5, rbtree.getNodeCount());
@@ -359,3 +363,4 @@
     EXPECT_EQ(0, rbtree.getNodeCount());
 }
 
+}




More information about the bind10-changes mailing list