1919using MongoDB . Bson ;
2020using MongoDB . Driver ;
2121using MongoDB . Driver . Builders ;
22+ using MongoDB . Driver . Core . Misc ;
2223using MongoDB . Driver . Linq ;
2324using Xunit ;
2425
@@ -46,10 +47,14 @@ public void TestExplainFromLinqQueryEqualsExplainFromCursor()
4647 var linqExplain = _collection . AsQueryable < C > ( ) . Where ( c => c . X == 2 && c . Y == 1 ) . Take ( 1 ) . Explain ( ) ;
4748 var queryExplain = _collection . FindAs < C > ( Query . And ( Query . EQ ( "X" , 2 ) , Query . EQ ( "Y" , 1 ) ) ) . SetLimit ( 1 ) . Explain ( ) ;
4849
49- var linqQuery = linqExplain [ "queryPlanner" ] [ "parsedQuery" ] ;
50- var findQuery = queryExplain [ "queryPlanner" ] [ "parsedQuery" ] ;
50+ // prior to 3.0.0 this is just a smoke test because the explain output did not have much that could be compared
51+ if ( CoreTestConfiguration . ServerVersion >= new SemanticVersion ( 3 , 0 , 0 ) )
52+ {
53+ var linqQuery = linqExplain [ "queryPlanner" ] [ "parsedQuery" ] ;
54+ var findQuery = queryExplain [ "queryPlanner" ] [ "parsedQuery" ] ;
5155
52- Assert . Equal ( linqQuery , findQuery ) ;
56+ Assert . Equal ( linqQuery , findQuery ) ;
57+ }
5358 }
5459
5560 [ Fact ]
@@ -58,10 +63,14 @@ public void TestVerboseExplainFromLinqQueryEqualsVerboseExplainFromCursor()
5863 var linqExplain = _collection . AsQueryable < C > ( ) . Where ( c => c . X == 2 && c . Y == 1 ) . Take ( 1 ) . Explain ( true ) ;
5964 var queryExplain = _collection . FindAs < C > ( Query . And ( Query . EQ ( "X" , 2 ) , Query . EQ ( "Y" , 1 ) ) ) . SetLimit ( 1 ) . Explain ( true ) ;
6065
61- var linqQuery = linqExplain [ "queryPlanner" ] [ "parsedQuery" ] ;
62- var findQuery = queryExplain [ "queryPlanner" ] [ "parsedQuery" ] ;
66+ // prior to 3.0.0 this is just a smoke test because the explain output did not have much that could be compared
67+ if ( CoreTestConfiguration . ServerVersion >= new SemanticVersion ( 3 , 0 , 0 ) )
68+ {
69+ var linqQuery = linqExplain [ "queryPlanner" ] [ "parsedQuery" ] ;
70+ var findQuery = queryExplain [ "queryPlanner" ] [ "parsedQuery" ] ;
6371
64- Assert . Equal ( linqQuery , findQuery ) ;
72+ Assert . Equal ( linqQuery , findQuery ) ;
73+ }
6574 }
6675
6776 [ Fact ]
0 commit comments