diff options
author | David Storch <david.storch@10gen.com> | 2018-08-22 18:44:59 -0400 |
---|---|---|
committer | David Storch <david.storch@10gen.com> | 2018-09-05 17:46:49 -0400 |
commit | df8b812c2b41635197c500577283929b1116efd7 (patch) | |
tree | 5c211c06e46c7b563481be4e58dd40d6477f875a /src/mongo/db/field_ref_test.cpp | |
parent | b231de1297d81e08efcd3eb510f322fd719dd42f (diff) | |
download | mongo-df8b812c2b41635197c500577283929b1116efd7.tar.gz |
SERVER-36109 Provide planner with multikey metadata for $** indexes.
Diffstat (limited to 'src/mongo/db/field_ref_test.cpp')
-rw-r--r-- | src/mongo/db/field_ref_test.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/mongo/db/field_ref_test.cpp b/src/mongo/db/field_ref_test.cpp index 60c143d5da8..654444bc472 100644 --- a/src/mongo/db/field_ref_test.cpp +++ b/src/mongo/db/field_ref_test.cpp @@ -799,4 +799,42 @@ TEST(RemoveLastPartLong, AppendThenSetPartThenRemove) { ASSERT_EQUALS("a.b.0.d.1.f", path.dottedField()); } +TEST(RemoveLastPartLong, FieldRefCopyConstructor) { + FieldRef original("a.b.c"); + FieldRef copy = original; + ASSERT_EQ(original, copy); +} + +TEST(RemoveLastPartLong, FieldRefCopyAssignment) { + FieldRef original("a.b.c"); + FieldRef other("x.y.z"); + ASSERT_NE(original, other); + other = original; + ASSERT_EQ(original, other); +} + +TEST(RemoveLastPartLong, FieldRefFromCopyAssignmentIsValidAfterOriginalIsDeleted) { + FieldRef copy("x.y.z"); + { + FieldRef original("a.b.c"); + ASSERT_NE(original, copy); + copy = original; + } + ASSERT_EQ(copy, FieldRef("a.b.c")); +} + +TEST(RemoveLastPartLong, FieldRefFromCopyAssignmentIsADeepCopy) { + FieldRef original("a.b.c"); + FieldRef other("x.y.z"); + ASSERT_NE(original, other); + other = original; + ASSERT_EQ(original, other); + + original.setPart(1u, "foo"); + original.appendPart("bar"); + ASSERT_EQ(original, FieldRef("a.foo.c.bar")); + + ASSERT_EQ(other, FieldRef("a.b.c")); +} + } // namespace |