diff options
author | Aaron <aaron@10gen.com> | 2012-03-29 23:09:10 -0700 |
---|---|---|
committer | Aaron <aaron@10gen.com> | 2012-04-06 21:48:54 -0700 |
commit | a4cd061f60ed902ffd4e4f7aae688623565a2d78 (patch) | |
tree | a1bad9ede816cb49425ae81a0b71a8783742756e /src/mongo/dbtests/queryutiltests.cpp | |
parent | 6a8f01b10c055ca8a3bf3ce1eaf7893a1b92b1c6 (diff) | |
download | mongo-a4cd061f60ed902ffd4e4f7aae688623565a2d78.tar.gz |
SERVER-5450 Extract validateCurrentInterval() from FieldRangeVectorIterator::advance().
Diffstat (limited to 'src/mongo/dbtests/queryutiltests.cpp')
-rw-r--r-- | src/mongo/dbtests/queryutiltests.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/mongo/dbtests/queryutiltests.cpp b/src/mongo/dbtests/queryutiltests.cpp index 1fce06e36e4..87c644d2353 100644 --- a/src/mongo/dbtests/queryutiltests.cpp +++ b/src/mongo/dbtests/queryutiltests.cpp @@ -1263,6 +1263,26 @@ namespace QueryUtilTests { } }; + class AdvanceRange : public Base { + BSONObj query() { return fromjson( "{a:{$gt:2,$lt:8}}" ); } + BSONObj index() { return fromjson( "{a:1}" ); } + void check() { + assertAdvanceToNext( BSON( "a" << 2 ) ); + assertAdvanceToNext( BSON( "a" << 4 ) ); + assertAdvanceToNext( BSON( "a" << 5 ) ); + assertDoneAdvancing( BSON( "a" << 9 ) ); + } + }; + + class AdvanceInRange : public Base { + BSONObj query() { return fromjson( "{a:{$in:[0,1]},b:{$gt:2,$lt:8}}" ); } + BSONObj index() { return fromjson( "{a:1,b:1}" ); } + void check() { + assertAdvanceToNext( BSON( "a" << 0 << "b" << 5 ) ); + assertAdvanceToNext( BSON( "a" << 0 << "b" << 5 ) ); + } + }; + class AdvanceRangeIn : public Base { BSONObj query() { return fromjson( "{a:{$gt:2,$lt:8},b:{$in:[0,1]}}" ); } BSONObj index() { return fromjson( "{a:1,b:1}" ); } @@ -1281,6 +1301,15 @@ namespace QueryUtilTests { } }; + class AdvanceRangeRangeMultiple : public Base { + BSONObj query() { return fromjson( "{a:{$gt:2,$lt:8},b:{$gt:1,$lt:4}}" ); } + BSONObj index() { return fromjson( "{a:1,b:1}" ); } + void check() { + assertAdvanceToNext( BSON( "a" << 4 << "b" << 3 ) ); + assertAdvanceToNext( BSON( "a" << 4 << "b" << 3 ) ); + } + }; + class AdvanceRangeRangeIn : public Base { BSONObj query() { return fromjson( "{a:{$gt:2,$lt:8},b:{$gt:1,$lt:4},c:{$in:[6,7]}}" ); } BSONObj index() { return fromjson( "{a:1,b:1,c:1}" ); } @@ -1481,8 +1510,11 @@ namespace QueryUtilTests { add<FieldRangeVectorIteratorTests::AdvanceToNextIntervalIntermediateEqualityCompound>(); add<FieldRangeVectorIteratorTests::BeforeLowerBound>(); add<FieldRangeVectorIteratorTests::AdvanceToNextExclusiveIntervalCompound>(); + add<FieldRangeVectorIteratorTests::AdvanceRange>(); + add<FieldRangeVectorIteratorTests::AdvanceInRange>(); add<FieldRangeVectorIteratorTests::AdvanceRangeIn>(); add<FieldRangeVectorIteratorTests::AdvanceRangeRange>(); + add<FieldRangeVectorIteratorTests::AdvanceRangeRangeMultiple>(); add<FieldRangeVectorIteratorTests::AdvanceRangeRangeIn>(); add<FieldRangeVectorIteratorTests::AdvanceRangeMixedIn>(); add<FieldRangeVectorIteratorTests::AdvanceMixedMixedIn>(); |