diff options
Diffstat (limited to 'src/mongo/db/field_ref_set_test.cpp')
-rw-r--r-- | src/mongo/db/field_ref_set_test.cpp | 218 |
1 files changed, 109 insertions, 109 deletions
diff --git a/src/mongo/db/field_ref_set_test.cpp b/src/mongo/db/field_ref_set_test.cpp index 95323ca6fc5..aa5bd3cc322 100644 --- a/src/mongo/db/field_ref_set_test.cpp +++ b/src/mongo/db/field_ref_set_test.cpp @@ -33,112 +33,112 @@ namespace { - using mongo::FieldRef; - using mongo::FieldRefSet; - - TEST(EmptySet, Normal) { - // insert "b" - FieldRefSet fieldSet; - FieldRef bSimple("b"); - const FieldRef* conflict; - ASSERT_TRUE(fieldSet.insert(&bSimple, &conflict)); - ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); - - // insert "a", OK - FieldRef aSimple("a"); - ASSERT_TRUE(fieldSet.insert(&aSimple, &conflict)); - ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); - - // insert "c", OK - FieldRef cSimple("c"); - ASSERT_TRUE(fieldSet.insert(&cSimple, &conflict)); - ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); - } - - TEST(EmptySet, Conflict) { - // insert "a.b" - FieldRefSet fieldSet; - FieldRef aDotB("a.b"); - const FieldRef* conflict; - ASSERT_TRUE(fieldSet.insert(&aDotB, &conflict)); - ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); - - // insert "a", conflicts with "a.b" - FieldRef prefix("a"); - ASSERT_FALSE(fieldSet.insert(&prefix, &conflict)); - ASSERT_EQUALS(aDotB, *conflict); - - // insert "a.b.c", conflicts with "a.b" - FieldRef superSet("a.b.c"); - ASSERT_FALSE(fieldSet.insert(&superSet, &conflict)); - ASSERT_EQUALS(aDotB, *conflict); - } - - TEST(EmptySet, EmptyField) { - // Old data may have empty field names. We test that we can catch conflicts if we try - // to insert an empty field twice. - FieldRefSet fieldSet; - FieldRef empty; - const FieldRef* conflict; - ASSERT_TRUE(fieldSet.insert(&empty, &conflict)); - ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); - - ASSERT_FALSE(fieldSet.insert(&empty, &conflict)); - ASSERT_EQUALS(empty, *conflict); - } - - TEST(NotEmptySet, Normal) { - // insert "b.c" and "b.e" - FieldRefSet fieldSet; - FieldRef bDotC("b.c"); - FieldRef bDotE("b.e"); - const FieldRef* conflict; - ASSERT_TRUE(fieldSet.insert(&bDotC, &conflict)); - ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); - ASSERT_TRUE(fieldSet.insert(&bDotE, &conflict)); - ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); - - // insert "a" before, OK - FieldRef aSimple("a"); - ASSERT_TRUE(fieldSet.insert(&aSimple, &conflict)); - ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); - - // insert "b.d" in the middle, OK - FieldRef bDotD("b.d"); - ASSERT_TRUE(fieldSet.insert(&bDotD, &conflict)); - ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); - - // insert "c" after, OK - FieldRef cSimple("c"); - ASSERT_TRUE(fieldSet.insert(&cSimple, &conflict)); - ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); - } - - TEST(NotEmpty, Conflict) { - // insert "b.c" and "b.e" - FieldRefSet fieldSet; - FieldRef bDotC("b.c"); - FieldRef bDotE("b.e"); - const FieldRef* conflict; - ASSERT_TRUE(fieldSet.insert(&bDotC, &conflict)); - ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); - ASSERT_TRUE(fieldSet.insert(&bDotE, &conflict)); - ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); - - // insert "b" before, conflicts "b.c" - FieldRef bSimple("b"); - ASSERT_FALSE(fieldSet.insert(&bSimple, &conflict)); - ASSERT_EQUALS(bDotC, *conflict); - - // insert: "b.c.d" in the "middle", conflicts "b.c" - FieldRef bDotCDotD("b.c.d"); - ASSERT_FALSE(fieldSet.insert(&bDotCDotD, &conflict)); - ASSERT_EQUALS(bDotC, *conflict); - - // insert: "b.e.f" at the end, conflicts "b.e" - FieldRef bDotEDotF("b.e.f"); - ASSERT_FALSE(fieldSet.insert(&bDotEDotF, &conflict)); - ASSERT_EQUALS(bDotE, *conflict); - } - -} // unnamed namespace +using mongo::FieldRef; +using mongo::FieldRefSet; + +TEST(EmptySet, Normal) { + // insert "b" + FieldRefSet fieldSet; + FieldRef bSimple("b"); + const FieldRef* conflict; + ASSERT_TRUE(fieldSet.insert(&bSimple, &conflict)); + ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); + + // insert "a", OK + FieldRef aSimple("a"); + ASSERT_TRUE(fieldSet.insert(&aSimple, &conflict)); + ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); + + // insert "c", OK + FieldRef cSimple("c"); + ASSERT_TRUE(fieldSet.insert(&cSimple, &conflict)); + ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); +} + +TEST(EmptySet, Conflict) { + // insert "a.b" + FieldRefSet fieldSet; + FieldRef aDotB("a.b"); + const FieldRef* conflict; + ASSERT_TRUE(fieldSet.insert(&aDotB, &conflict)); + ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); + + // insert "a", conflicts with "a.b" + FieldRef prefix("a"); + ASSERT_FALSE(fieldSet.insert(&prefix, &conflict)); + ASSERT_EQUALS(aDotB, *conflict); + + // insert "a.b.c", conflicts with "a.b" + FieldRef superSet("a.b.c"); + ASSERT_FALSE(fieldSet.insert(&superSet, &conflict)); + ASSERT_EQUALS(aDotB, *conflict); +} + +TEST(EmptySet, EmptyField) { + // Old data may have empty field names. We test that we can catch conflicts if we try + // to insert an empty field twice. + FieldRefSet fieldSet; + FieldRef empty; + const FieldRef* conflict; + ASSERT_TRUE(fieldSet.insert(&empty, &conflict)); + ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); + + ASSERT_FALSE(fieldSet.insert(&empty, &conflict)); + ASSERT_EQUALS(empty, *conflict); +} + +TEST(NotEmptySet, Normal) { + // insert "b.c" and "b.e" + FieldRefSet fieldSet; + FieldRef bDotC("b.c"); + FieldRef bDotE("b.e"); + const FieldRef* conflict; + ASSERT_TRUE(fieldSet.insert(&bDotC, &conflict)); + ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); + ASSERT_TRUE(fieldSet.insert(&bDotE, &conflict)); + ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); + + // insert "a" before, OK + FieldRef aSimple("a"); + ASSERT_TRUE(fieldSet.insert(&aSimple, &conflict)); + ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); + + // insert "b.d" in the middle, OK + FieldRef bDotD("b.d"); + ASSERT_TRUE(fieldSet.insert(&bDotD, &conflict)); + ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); + + // insert "c" after, OK + FieldRef cSimple("c"); + ASSERT_TRUE(fieldSet.insert(&cSimple, &conflict)); + ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); +} + +TEST(NotEmpty, Conflict) { + // insert "b.c" and "b.e" + FieldRefSet fieldSet; + FieldRef bDotC("b.c"); + FieldRef bDotE("b.e"); + const FieldRef* conflict; + ASSERT_TRUE(fieldSet.insert(&bDotC, &conflict)); + ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); + ASSERT_TRUE(fieldSet.insert(&bDotE, &conflict)); + ASSERT_EQUALS(static_cast<const FieldRef*>(NULL), conflict); + + // insert "b" before, conflicts "b.c" + FieldRef bSimple("b"); + ASSERT_FALSE(fieldSet.insert(&bSimple, &conflict)); + ASSERT_EQUALS(bDotC, *conflict); + + // insert: "b.c.d" in the "middle", conflicts "b.c" + FieldRef bDotCDotD("b.c.d"); + ASSERT_FALSE(fieldSet.insert(&bDotCDotD, &conflict)); + ASSERT_EQUALS(bDotC, *conflict); + + // insert: "b.e.f" at the end, conflicts "b.e" + FieldRef bDotEDotF("b.e.f"); + ASSERT_FALSE(fieldSet.insert(&bDotEDotF, &conflict)); + ASSERT_EQUALS(bDotE, *conflict); +} + +} // unnamed namespace |