19
19
using MongoDB . Bson ;
20
20
using MongoDB . Driver ;
21
21
using MongoDB . Driver . Builders ;
22
+ using MongoDB . Driver . Core . Misc ;
22
23
using MongoDB . Driver . Linq ;
23
24
using Xunit ;
24
25
@@ -46,10 +47,14 @@ public void TestExplainFromLinqQueryEqualsExplainFromCursor()
46
47
var linqExplain = _collection . AsQueryable < C > ( ) . Where ( c => c . X == 2 && c . Y == 1 ) . Take ( 1 ) . Explain ( ) ;
47
48
var queryExplain = _collection . FindAs < C > ( Query . And ( Query . EQ ( "X" , 2 ) , Query . EQ ( "Y" , 1 ) ) ) . SetLimit ( 1 ) . Explain ( ) ;
48
49
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" ] ;
51
55
52
- Assert . Equal ( linqQuery , findQuery ) ;
56
+ Assert . Equal ( linqQuery , findQuery ) ;
57
+ }
53
58
}
54
59
55
60
[ Fact ]
@@ -58,10 +63,14 @@ public void TestVerboseExplainFromLinqQueryEqualsVerboseExplainFromCursor()
58
63
var linqExplain = _collection . AsQueryable < C > ( ) . Where ( c => c . X == 2 && c . Y == 1 ) . Take ( 1 ) . Explain ( true ) ;
59
64
var queryExplain = _collection . FindAs < C > ( Query . And ( Query . EQ ( "X" , 2 ) , Query . EQ ( "Y" , 1 ) ) ) . SetLimit ( 1 ) . Explain ( true ) ;
60
65
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" ] ;
63
71
64
- Assert . Equal ( linqQuery , findQuery ) ;
72
+ Assert . Equal ( linqQuery , findQuery ) ;
73
+ }
65
74
}
66
75
67
76
[ Fact ]
0 commit comments