summaryrefslogtreecommitdiff
path: root/src/mongo/db/matcher/expression_leaf_test.cpp
diff options
context:
space:
mode:
authorEliot Horowitz <eliot@10gen.com>2013-05-16 15:29:32 -0400
committerEliot Horowitz <eliot@10gen.com>2013-05-16 18:16:30 -0400
commit6fa7a15256d8058b982bf259cad34c051c1f245a (patch)
tree917002b526bf0141e25e3543a7497eef18488aad /src/mongo/db/matcher/expression_leaf_test.cpp
parent8a59bbfdd1b947ef42de4a1e598c6cc06c459b19 (diff)
downloadmongo-6fa7a15256d8058b982bf259cad34c051c1f245a.tar.gz
SERVER-6400: Remove NinMatchExpression, $nin is now just a parses issue
Diffstat (limited to 'src/mongo/db/matcher/expression_leaf_test.cpp')
-rw-r--r--src/mongo/db/matcher/expression_leaf_test.cpp127
1 files changed, 0 insertions, 127 deletions
diff --git a/src/mongo/db/matcher/expression_leaf_test.cpp b/src/mongo/db/matcher/expression_leaf_test.cpp
index 17109b4f00e..8bd74fc2da7 100644
--- a/src/mongo/db/matcher/expression_leaf_test.cpp
+++ b/src/mongo/db/matcher/expression_leaf_test.cpp
@@ -1549,131 +1549,4 @@ namespace mongo {
}
*/
- TEST( NinMatchExpression, MatchesElementSingle ) {
- BSONObj operands = BSON_ARRAY( 1 );
- BSONObj match = BSON( "a" << 2 );
- BSONObj notMatch = BSON( "a" << 1 );
- NinMatchExpression nin;
- nin.getArrayFilterEntries()->addEquality( operands.firstElement() );
- ASSERT( nin.matchesSingleElement( match[ "a" ] ) );
- ASSERT( !nin.matchesSingleElement( notMatch[ "a" ] ) );
- }
-
- TEST( NinMatchExpression, MatchesElementMultiple ) {
- BSONArray operand = BSON_ARRAY( 1 << "r" << true << 1 );
- BSONObj match = BSON( "a" << false );
- BSONObj notMatchFirst = BSON( "a" << 1 );
- BSONObj notMatchSecond = BSON( "a" << "r" );
- BSONObj notMatchThird = BSON( "a" << true );
- NinMatchExpression nin;
- nin.getArrayFilterEntries()->addEquality( operand[0] );
- nin.getArrayFilterEntries()->addEquality( operand[1] );
- nin.getArrayFilterEntries()->addEquality( operand[2] );
- nin.getArrayFilterEntries()->addEquality( operand[3] );
- ASSERT( nin.matchesSingleElement( match[ "a" ] ) );
- ASSERT( !nin.matchesSingleElement( notMatchFirst[ "a" ] ) );
- ASSERT( !nin.matchesSingleElement( notMatchSecond[ "a" ] ) );
- ASSERT( !nin.matchesSingleElement( notMatchThird[ "a" ] ) );
- }
-
- TEST( NinMatchExpression, MatchesScalar ) {
- BSONObj operand = BSON_ARRAY( 5 );
- NinMatchExpression nin;
- nin.init( "a" );
- nin.getArrayFilterEntries()->addEquality( operand.firstElement() );
- ASSERT( nin.matchesBSON( BSON( "a" << 4 ), NULL ) );
- ASSERT( !nin.matchesBSON( BSON( "a" << 5 ), NULL ) );
- ASSERT( !nin.matchesBSON( BSON( "a" << 5.0 ), NULL ) );
- }
-
- TEST( NinMatchExpression, MatchesArrayValue ) {
- BSONObj operand = BSON_ARRAY( 5 );
- NinMatchExpression nin;
- nin.init( "a" );
- nin.getArrayFilterEntries()->addEquality( operand.firstElement() );
- ASSERT( !nin.matchesBSON( BSON( "a" << BSON_ARRAY( 5.0 << 6 ) ), NULL ) );
- ASSERT( nin.matchesBSON( BSON( "a" << BSON_ARRAY( 6 << 7 ) ), NULL ) );
- ASSERT( nin.matchesBSON( BSON( "a" << BSON_ARRAY( BSON_ARRAY( 5 ) ) ), NULL ) );
- }
-
- TEST( NinMatchExpression, MatchesNull ) {
- BSONObjBuilder ninArray;
- ninArray.appendNull( "0" );
- BSONObj operand = ninArray.obj();
- NinMatchExpression nin;
- nin.init( "a" );
- nin.getArrayFilterEntries()->addEquality( operand.firstElement() );
- ASSERT( !nin.matchesBSON( BSONObj(), NULL ) );
- ASSERT( !nin.matchesBSON( BSON( "a" << BSONNULL ), NULL ) );
- ASSERT( nin.matchesBSON( BSON( "a" << 4 ), NULL ) );
- }
-
- TEST( NinMatchExpression, MatchesFullArray ) {
- BSONArray operand = BSON_ARRAY( BSON_ARRAY( 1 << 2 ) << 4 << 5 );
- NinMatchExpression nin;
- nin.init( "a" );
- nin.getArrayFilterEntries()->addEquality( operand[0] );
- nin.getArrayFilterEntries()->addEquality( operand[1] );
- nin.getArrayFilterEntries()->addEquality( operand[2] );
- ASSERT( !nin.matchesBSON( BSON( "a" << BSON_ARRAY( 1 << 2 ) ), NULL ) );
- ASSERT( nin.matchesBSON( BSON( "a" << BSON_ARRAY( 1 << 2 << 3 ) ), NULL ) );
- ASSERT( nin.matchesBSON( BSON( "a" << BSON_ARRAY( 1 ) ), NULL ) );
- ASSERT( nin.matchesBSON( BSON( "a" << 1 ), NULL ) );
- }
-
- TEST( NinMatchExpression, ElemMatchKey ) {
- BSONArray operand = BSON_ARRAY( 5 << 2 );
- NinMatchExpression nin;
- nin.init( "a" );
- nin.getArrayFilterEntries()->addEquality( operand[0] );
- nin.getArrayFilterEntries()->addEquality( operand[1] );
-
- MatchDetails details;
- details.requestElemMatchKey();
- ASSERT( !nin.matchesBSON( BSON( "a" << 2 ), &details ) );
- ASSERT( !details.hasElemMatchKey() );
- ASSERT( nin.matchesBSON( BSON( "a" << 3 ), &details ) );
- ASSERT( !details.hasElemMatchKey() );
- ASSERT( nin.matchesBSON( BSON( "a" << BSON_ARRAY( 1 << 3 << 6 ) ), &details ) );
- // The elemMatchKey feature is not implemented for $nin.
- ASSERT( !details.hasElemMatchKey() );
- }
-
- TEST( NinMatchExpression, Equivalent ) {
- BSONArray operand = BSON_ARRAY( 5 << 2 );
-
- NinMatchExpression e1;
- NinMatchExpression e2;
- NinMatchExpression e3;
-
- e1.init( "a" );
- e2.init( "a" );
- e3.init( "b" );
-
- e1.getArrayFilterEntries()->addEquality( operand[0] );
- e1.getArrayFilterEntries()->addEquality( operand[1] );
-
- e2.getArrayFilterEntries()->addEquality( operand[0] );
-
- e3.getArrayFilterEntries()->addEquality( operand[0] );
- e3.getArrayFilterEntries()->addEquality( operand[1] );
-
- ASSERT( e1.equivalent( &e1 ) );
- ASSERT( !e1.equivalent( &e2 ) );
- ASSERT( !e1.equivalent( &e3 ) );
- }
-
-
- /**
- TEST( NinMatchExpression, MatchesIndexKey ) {
- BSONObj operand = BSON( "$nin" << BSON_ARRAY( 5 ) );
- NinMatchExpression nin;
- ASSERT( nin.init( "a", operand[ "$nin" ] ).isOK() );
- IndexSpec indexSpec( BSON( "a" << 1 ) );
- BSONObj indexKey = BSON( "" << "7" );
- ASSERT( MatchMatchExpression::PartialMatchResult_Unknown ==
- nin.matchesIndexKey( indexKey, indexSpec ) );
- }
- */
-
}