summaryrefslogtreecommitdiff
path: root/src/mongo/db/range_arithmetic_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/range_arithmetic_test.cpp')
-rw-r--r--src/mongo/db/range_arithmetic_test.cpp203
1 files changed, 98 insertions, 105 deletions
diff --git a/src/mongo/db/range_arithmetic_test.cpp b/src/mongo/db/range_arithmetic_test.cpp
index 79632689bb7..074e9efe0cb 100644
--- a/src/mongo/db/range_arithmetic_test.cpp
+++ b/src/mongo/db/range_arithmetic_test.cpp
@@ -31,131 +31,124 @@
namespace {
- using mongo::MINKEY;
- using mongo::MAXKEY;
- using mongo::rangeOverlaps;
- using mongo::rangeMapOverlaps;
- using mongo::RangeMap;
- using mongo::RangeVector;
- using std::make_pair;
-
- TEST(BSONRange, SmallerLowerRangeNonSubset) {
- ASSERT_TRUE(rangeOverlaps(BSON("x" << 100), BSON("x" << 200),
- BSON("x" << 50), BSON("x" << 200)));
- ASSERT_TRUE(rangeOverlaps(BSON("x" << 100), BSON("x" << 200),
- BSON("x" << 60), BSON("x" << 199)));
-
- ASSERT_FALSE(rangeOverlaps(BSON("x" << 100), BSON("x" << 200),
- BSON("x" << 70), BSON("x" << 99)));
- ASSERT_FALSE(rangeOverlaps(BSON("x" << 100), BSON("x" << 200),
- BSON("x" << 80), BSON("x" << 100)));
- }
-
- TEST(BSONRange, BiggerUpperRangeNonSubset) {
- ASSERT_TRUE(rangeOverlaps(BSON("x" << 100), BSON("x" << 200),
- BSON("x" << 150), BSON("x" << 200)));
- ASSERT_TRUE(rangeOverlaps(BSON("x" << 100), BSON("x" << 200),
- BSON("x" << 160), BSON("x" << 201)));
- ASSERT_TRUE(rangeOverlaps(BSON("x" << 100), BSON("x" << 200),
- BSON("x" << 170), BSON("x" << 220)));
-
- ASSERT_FALSE(rangeOverlaps(BSON("x" << 100), BSON("x" << 200),
- BSON("x" << 200), BSON("x" << 240)));
- }
-
- TEST(BSONRange, RangeIsSubsetOfOther) {
- ASSERT_TRUE(rangeOverlaps(BSON("x" << 100), BSON("x" << 200),
- BSON("x" << 70), BSON("x" << 300)));
- ASSERT_TRUE(rangeOverlaps(BSON("x" << 100), BSON("x" << 200),
- BSON("x" << 140), BSON("x" << 180)));
- }
-
- TEST(BSONRange, EqualRange) {
- ASSERT_TRUE(rangeOverlaps(BSON("x" << 100), BSON("x" << 200),
- BSON("x" << 100), BSON("x" << 200)));
- }
-
- TEST(RangeMap, RangeMapOverlap) {
-
- RangeMap rangeMap;
- rangeMap.insert( make_pair( BSON( "x" << 100 ), BSON( "x" << 200 ) ) );
- rangeMap.insert( make_pair( BSON( "x" << 200 ), BSON( "x" << 300 ) ) );
- rangeMap.insert( make_pair( BSON( "x" << 300 ), BSON( "x" << 400 ) ) );
-
- RangeVector overlap;
- getRangeMapOverlap( rangeMap, BSON( "x" << 50 ), BSON( "x" << 350 ), &overlap );
+using mongo::MINKEY;
+using mongo::MAXKEY;
+using mongo::rangeOverlaps;
+using mongo::rangeMapOverlaps;
+using mongo::RangeMap;
+using mongo::RangeVector;
+using std::make_pair;
+
+TEST(BSONRange, SmallerLowerRangeNonSubset) {
+ ASSERT_TRUE(
+ rangeOverlaps(BSON("x" << 100), BSON("x" << 200), BSON("x" << 50), BSON("x" << 200)));
+ ASSERT_TRUE(
+ rangeOverlaps(BSON("x" << 100), BSON("x" << 200), BSON("x" << 60), BSON("x" << 199)));
+
+ ASSERT_FALSE(
+ rangeOverlaps(BSON("x" << 100), BSON("x" << 200), BSON("x" << 70), BSON("x" << 99)));
+ ASSERT_FALSE(
+ rangeOverlaps(BSON("x" << 100), BSON("x" << 200), BSON("x" << 80), BSON("x" << 100)));
+}
- ASSERT( !overlap.empty() );
- ASSERT_EQUALS( overlap.size(), 3u );
- }
+TEST(BSONRange, BiggerUpperRangeNonSubset) {
+ ASSERT_TRUE(
+ rangeOverlaps(BSON("x" << 100), BSON("x" << 200), BSON("x" << 150), BSON("x" << 200)));
+ ASSERT_TRUE(
+ rangeOverlaps(BSON("x" << 100), BSON("x" << 200), BSON("x" << 160), BSON("x" << 201)));
+ ASSERT_TRUE(
+ rangeOverlaps(BSON("x" << 100), BSON("x" << 200), BSON("x" << 170), BSON("x" << 220)));
- TEST(RangeMap, RangeMapOverlapPartial) {
+ ASSERT_FALSE(
+ rangeOverlaps(BSON("x" << 100), BSON("x" << 200), BSON("x" << 200), BSON("x" << 240)));
+}
- RangeMap rangeMap;
- rangeMap.insert( make_pair( BSON( "x" << 100 ), BSON( "x" << 200 ) ) );
- rangeMap.insert( make_pair( BSON( "x" << 200 ), BSON( "x" << 300 ) ) );
+TEST(BSONRange, RangeIsSubsetOfOther) {
+ ASSERT_TRUE(
+ rangeOverlaps(BSON("x" << 100), BSON("x" << 200), BSON("x" << 70), BSON("x" << 300)));
+ ASSERT_TRUE(
+ rangeOverlaps(BSON("x" << 100), BSON("x" << 200), BSON("x" << 140), BSON("x" << 180)));
+}
- RangeVector overlap;
- getRangeMapOverlap( rangeMap, BSON( "x" << 150 ), BSON( "x" << 250 ), &overlap );
+TEST(BSONRange, EqualRange) {
+ ASSERT_TRUE(
+ rangeOverlaps(BSON("x" << 100), BSON("x" << 200), BSON("x" << 100), BSON("x" << 200)));
+}
- ASSERT( !overlap.empty() );
- ASSERT_EQUALS( overlap.size(), 2u );
- }
+TEST(RangeMap, RangeMapOverlap) {
+ RangeMap rangeMap;
+ rangeMap.insert(make_pair(BSON("x" << 100), BSON("x" << 200)));
+ rangeMap.insert(make_pair(BSON("x" << 200), BSON("x" << 300)));
+ rangeMap.insert(make_pair(BSON("x" << 300), BSON("x" << 400)));
- TEST(RangeMap, RangeMapOverlapInner) {
+ RangeVector overlap;
+ getRangeMapOverlap(rangeMap, BSON("x" << 50), BSON("x" << 350), &overlap);
- RangeMap rangeMap;
- rangeMap.insert( make_pair( BSON( "x" << 100 ), BSON( "x" << 200 ) ) );
+ ASSERT(!overlap.empty());
+ ASSERT_EQUALS(overlap.size(), 3u);
+}
- RangeVector overlap;
- getRangeMapOverlap( rangeMap, BSON( "x" << 125 ), BSON( "x" << 150 ), &overlap );
+TEST(RangeMap, RangeMapOverlapPartial) {
+ RangeMap rangeMap;
+ rangeMap.insert(make_pair(BSON("x" << 100), BSON("x" << 200)));
+ rangeMap.insert(make_pair(BSON("x" << 200), BSON("x" << 300)));
- ASSERT( !overlap.empty() );
- ASSERT_EQUALS( overlap.size(), 1u );
- }
+ RangeVector overlap;
+ getRangeMapOverlap(rangeMap, BSON("x" << 150), BSON("x" << 250), &overlap);
- TEST(RangeMap, RangeMapNoOverlap) {
+ ASSERT(!overlap.empty());
+ ASSERT_EQUALS(overlap.size(), 2u);
+}
- RangeMap rangeMap;
- rangeMap.insert( make_pair( BSON( "x" << 100 ), BSON( "x" << 200 ) ) );
- rangeMap.insert( make_pair( BSON( "x" << 300 ), BSON( "x" << 400 ) ) );
+TEST(RangeMap, RangeMapOverlapInner) {
+ RangeMap rangeMap;
+ rangeMap.insert(make_pair(BSON("x" << 100), BSON("x" << 200)));
- RangeVector overlap;
- getRangeMapOverlap( rangeMap, BSON( "x" << 200 ), BSON( "x" << 300 ), &overlap );
+ RangeVector overlap;
+ getRangeMapOverlap(rangeMap, BSON("x" << 125), BSON("x" << 150), &overlap);
- ASSERT( overlap.empty() );
- }
+ ASSERT(!overlap.empty());
+ ASSERT_EQUALS(overlap.size(), 1u);
+}
- TEST(RangeMap, RangeMapOverlaps) {
+TEST(RangeMap, RangeMapNoOverlap) {
+ RangeMap rangeMap;
+ rangeMap.insert(make_pair(BSON("x" << 100), BSON("x" << 200)));
+ rangeMap.insert(make_pair(BSON("x" << 300), BSON("x" << 400)));
- RangeMap rangeMap;
- rangeMap.insert( make_pair( BSON( "x" << 100 ), BSON( "x" << 200 ) ) );
+ RangeVector overlap;
+ getRangeMapOverlap(rangeMap, BSON("x" << 200), BSON("x" << 300), &overlap);
- ASSERT( rangeMapOverlaps( rangeMap, BSON( "x" << 100 ), BSON( "x" << 200 ) ) );
- ASSERT( rangeMapOverlaps( rangeMap, BSON( "x" << 99 ), BSON( "x" << 200 ) ) );
- ASSERT( rangeMapOverlaps( rangeMap, BSON( "x" << 100 ), BSON( "x" << 201 ) ) );
- ASSERT( rangeMapOverlaps( rangeMap, BSON( "x" << 100 ), BSON( "x" << 200 ) ) );
- ASSERT( !rangeMapOverlaps( rangeMap, BSON( "x" << 99 ), BSON( "x" << 100 ) ) );
- ASSERT( !rangeMapOverlaps( rangeMap, BSON( "x" << 200 ), BSON( "x" << 201 ) ) );
- }
+ ASSERT(overlap.empty());
+}
- TEST(RangeMap, RangeMapContains) {
+TEST(RangeMap, RangeMapOverlaps) {
+ RangeMap rangeMap;
+ rangeMap.insert(make_pair(BSON("x" << 100), BSON("x" << 200)));
- RangeMap rangeMap;
- rangeMap.insert( make_pair( BSON( "x" << 100 ), BSON( "x" << 200 ) ) );
+ ASSERT(rangeMapOverlaps(rangeMap, BSON("x" << 100), BSON("x" << 200)));
+ ASSERT(rangeMapOverlaps(rangeMap, BSON("x" << 99), BSON("x" << 200)));
+ ASSERT(rangeMapOverlaps(rangeMap, BSON("x" << 100), BSON("x" << 201)));
+ ASSERT(rangeMapOverlaps(rangeMap, BSON("x" << 100), BSON("x" << 200)));
+ ASSERT(!rangeMapOverlaps(rangeMap, BSON("x" << 99), BSON("x" << 100)));
+ ASSERT(!rangeMapOverlaps(rangeMap, BSON("x" << 200), BSON("x" << 201)));
+}
- ASSERT( rangeMapContains( rangeMap, BSON( "x" << 100 ), BSON( "x" << 200 ) ) );
- ASSERT( !rangeMapContains( rangeMap, BSON( "x" << 99 ), BSON( "x" << 200 ) ) );
- ASSERT( !rangeMapContains( rangeMap, BSON( "x" << 100 ), BSON( "x" << 201 ) ) );
- }
+TEST(RangeMap, RangeMapContains) {
+ RangeMap rangeMap;
+ rangeMap.insert(make_pair(BSON("x" << 100), BSON("x" << 200)));
- TEST(RangeMap, RangeMapContainsMinMax) {
+ ASSERT(rangeMapContains(rangeMap, BSON("x" << 100), BSON("x" << 200)));
+ ASSERT(!rangeMapContains(rangeMap, BSON("x" << 99), BSON("x" << 200)));
+ ASSERT(!rangeMapContains(rangeMap, BSON("x" << 100), BSON("x" << 201)));
+}
- RangeMap rangeMap;
- rangeMap.insert( make_pair( BSON( "x" << MINKEY ), BSON( "x" << MAXKEY ) ) );
+TEST(RangeMap, RangeMapContainsMinMax) {
+ RangeMap rangeMap;
+ rangeMap.insert(make_pair(BSON("x" << MINKEY), BSON("x" << MAXKEY)));
- ASSERT( rangeMapContains( rangeMap, BSON( "x" << MINKEY ), BSON( "x" << MAXKEY ) ) );
- ASSERT( !rangeMapContains( rangeMap, BSON( "x" << 1 ), BSON( "x" << MAXKEY ) ) );
- ASSERT( !rangeMapContains( rangeMap, BSON( "x" << MINKEY ), BSON( "x" << 1 ) ) );
- }
+ ASSERT(rangeMapContains(rangeMap, BSON("x" << MINKEY), BSON("x" << MAXKEY)));
+ ASSERT(!rangeMapContains(rangeMap, BSON("x" << 1), BSON("x" << MAXKEY)));
+ ASSERT(!rangeMapContains(rangeMap, BSON("x" << MINKEY), BSON("x" << 1)));
+}
}