[svn] commit: r3464 - /branches/trac397/src/bin/auth/tests/rbt_datasrc_unittest.cc
BIND 10 source code commits
bind10-changes at lists.isc.org
Fri Nov 5 11:35:03 UTC 2010
Author: chenzhengzhang
Date: Fri Nov 5 11:35:02 2010
New Revision: 3464
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 Fri Nov 5 11:35:02 2010
@@ -75,8 +75,6 @@
TEST_F(RBTreeTest, insertNames) {
// a node is considered to "formally" exist only if it has data
// associated with it
-
- // EXPECT_EQ(0, rbtree.insert(Name("r"), &rbtnode));
// return 0, since node "d.e.f" doesn't have data
EXPECT_EQ(0, rbtree.insert(Name("d.e.f"), &rbtnode));
EXPECT_EQ(Name("d.e.f"), rbtnode->getName());
@@ -117,6 +115,10 @@
EXPECT_EQ(0, rbtree.insert(Name("l.a"), &rbtnode));
EXPECT_EQ(Name("l"), rbtnode->getName());
EXPECT_EQ(21, rbtree.getNodeCount());
+
+ EXPECT_EQ(0, rbtree.insert(Name("r.d.e.f"), &rbtnode));
+ EXPECT_EQ(0, rbtree.insert(Name("s.d.e.f"), &rbtnode));
+ EXPECT_EQ(23, rbtree.getNodeCount());
}
TEST_F(RBTreeTest, findName) {
@@ -169,7 +171,10 @@
}
TEST_F(RBTreeTest, eraseName) {
- EXPECT_EQ(13, rbtree.getNodeCount());
+ EXPECT_EQ(0, rbtree.insert(Name("r.d.e.f"), &rbtnode));
+ EXPECT_EQ(0, rbtree.insert(Name("s.d.e.f"), &rbtnode));
+ EXPECT_EQ(15, rbtree.getNodeCount());
+
// can't delete non terminal
int ret = rbtree.erase(Name("d.e.f"));
EXPECT_EQ(1, ret);
@@ -179,12 +184,12 @@
rbtnode->addRRset(rrset);
ret = rbtree.erase(Name("p.w.y.d.e.f"));
EXPECT_EQ(0, ret);
- EXPECT_EQ(12, rbtree.getNodeCount());
+ EXPECT_EQ(14, rbtree.getNodeCount());
EXPECT_EQ(RBTree::NOTFOUND, rbtree.find(Name("p.w.y.d.e.f"), &rbtnode));
ret = rbtree.erase(Name("q.w.y.d.e.f"));
EXPECT_EQ(0, ret);
- EXPECT_EQ(11, rbtree.getNodeCount());
+ EXPECT_EQ(13, rbtree.getNodeCount());
EXPECT_EQ(RBTree::NOTFOUND, rbtree.find(Name("q.w.y.d.e.f"), &rbtnode));
// o would not be rejoined with w.y if w.y had data
@@ -199,58 +204,75 @@
* c | g.h
* | |
* w.y i
- * / | \
- * x | z
- * | |
- * o j
+ * / | \
+ * s | z
+ * / \ | |
+ * r x o j
*/
// z would be rejoined with d.e.f, since d.e.f has no data associated with the key
ret = rbtree.erase(Name("o.w.y.d.e.f"));
EXPECT_EQ(0, ret);
+ EXPECT_EQ(12, rbtree.getNodeCount());
+ ret = rbtree.erase(Name("w.y.d.e.f"));
+ EXPECT_EQ(0, ret);
+ EXPECT_EQ(11, rbtree.getNodeCount());
+ ret = rbtree.erase(Name("x.d.e.f"));
+ EXPECT_EQ(0, ret);
EXPECT_EQ(10, rbtree.getNodeCount());
- ret = rbtree.erase(Name("w.y.d.e.f"));
- EXPECT_EQ(0, ret);
- EXPECT_EQ(9, rbtree.getNodeCount());
- ret = rbtree.erase(Name("x.d.e.f"));
- EXPECT_EQ(0, ret);
- EXPECT_EQ(7, rbtree.getNodeCount());
/*
* b
* / \
- * a z.d.e.f
- * / | \
- * c j g.h
- * |
- * i
+ * a d.e.f
+ * / | \
+ * c s g.h
+ * / \ |
+ * r z i
+ * |
+ * j
*/
// erase a non-exist node
ret = rbtree.erase(Name("x.d.e.f"));
EXPECT_EQ(1, ret);
// delete all the nodes one by one
- ret = rbtree.erase(Name("a"));
- EXPECT_EQ(0, ret);
- EXPECT_EQ(6, rbtree.getNodeCount());
+ ret = rbtree.erase(Name("c"));
+ EXPECT_EQ(0, ret);
+ EXPECT_EQ(9, rbtree.getNodeCount());
ret = rbtree.erase(Name("g.h"));
EXPECT_EQ(1, ret);
+ EXPECT_EQ(9, rbtree.getNodeCount());
+ ret = rbtree.erase(Name("a"));
+ EXPECT_EQ(0, ret);
+ EXPECT_EQ(8, rbtree.getNodeCount());
+ ret = rbtree.erase(Name("b"));
+ EXPECT_EQ(0, ret);
+ EXPECT_EQ(7, rbtree.getNodeCount());
+ ret = rbtree.erase(Name("i.g.h"));
+ EXPECT_EQ(0, ret);
EXPECT_EQ(6, rbtree.getNodeCount());
- ret = rbtree.erase(Name("c"));
+ /*
+ * d.e.f
+ * | \
+ * s g.h
+ * / \
+ * r z
+ * |
+ * j
+ */
+ ret = rbtree.erase(Name("r.d.e.f"));
EXPECT_EQ(0, ret);
EXPECT_EQ(5, rbtree.getNodeCount());
- ret = rbtree.erase(Name("b"));
+ ret = rbtree.erase(Name("j.z.d.e.f"));
EXPECT_EQ(0, ret);
EXPECT_EQ(4, rbtree.getNodeCount());
- ret = rbtree.erase(Name("i.g.h"));
- EXPECT_EQ(0, ret);
- EXPECT_EQ(3, rbtree.getNodeCount());
- ret = rbtree.erase(Name("j.z.d.e.f"));
+ ret = rbtree.erase(Name("z.d.e.f"));
EXPECT_EQ(0, ret);
EXPECT_EQ(2, rbtree.getNodeCount());
+ ret = rbtree.erase(Name("s.d.e.f"));
+ EXPECT_EQ(0, ret);
+ EXPECT_EQ(1, rbtree.getNodeCount());
ret = rbtree.erase(Name("g.h"));
- EXPECT_EQ(0, ret);
- EXPECT_EQ(1, rbtree.getNodeCount());
- ret = rbtree.erase(Name("z.d.e.f"));
EXPECT_EQ(0, ret);
EXPECT_EQ(0, rbtree.getNodeCount());
}
More information about the bind10-changes
mailing list