@@ -47,13 +47,16 @@ public void TestExplainFromLinqQueryEqualsExplainFromCursor()
47
47
var linqExplain = _collection . AsQueryable < C > ( ) . Where ( c => c . X == 2 && c . Y == 1 ) . Take ( 1 ) . Explain ( ) ;
48
48
var queryExplain = _collection . FindAs < C > ( Query . And ( Query . EQ ( "X" , 2 ) , Query . EQ ( "Y" , 1 ) ) ) . SetLimit ( 1 ) . Explain ( ) ;
49
49
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 ) )
50
+ // not all versions and/or topologies of the server return a queryPlanner.parsedQuery element in the explain result
51
+ if ( linqExplain . Contains ( "queryPlanner" ) )
52
52
{
53
- var linqQuery = linqExplain [ "queryPlanner" ] [ "parsedQuery" ] ;
54
- var findQuery = queryExplain [ "queryPlanner" ] [ "parsedQuery" ] ;
53
+ if ( linqExplain [ "queryPlanner" ] . AsBsonDocument . Contains ( "parsedQuery" ) )
54
+ {
55
+ var linqQuery = linqExplain [ "queryPlanner" ] [ "parsedQuery" ] ;
56
+ var findQuery = queryExplain [ "queryPlanner" ] [ "parsedQuery" ] ;
55
57
56
- Assert . Equal ( linqQuery , findQuery ) ;
58
+ Assert . Equal ( linqQuery , findQuery ) ;
59
+ }
57
60
}
58
61
}
59
62
@@ -63,13 +66,16 @@ public void TestVerboseExplainFromLinqQueryEqualsVerboseExplainFromCursor()
63
66
var linqExplain = _collection . AsQueryable < C > ( ) . Where ( c => c . X == 2 && c . Y == 1 ) . Take ( 1 ) . Explain ( true ) ;
64
67
var queryExplain = _collection . FindAs < C > ( Query . And ( Query . EQ ( "X" , 2 ) , Query . EQ ( "Y" , 1 ) ) ) . SetLimit ( 1 ) . Explain ( true ) ;
65
68
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 ) )
69
+ // not all versions and/or topologies of the server return a queryPlanner.parsedQuery element in the explain result
70
+ if ( linqExplain . Contains ( "queryPlanner" ) )
68
71
{
69
- var linqQuery = linqExplain [ "queryPlanner" ] [ "parsedQuery" ] ;
70
- var findQuery = queryExplain [ "queryPlanner" ] [ "parsedQuery" ] ;
72
+ if ( linqExplain [ "queryPlanner" ] . AsBsonDocument . Contains ( "parsedQuery" ) )
73
+ {
74
+ var linqQuery = linqExplain [ "queryPlanner" ] [ "parsedQuery" ] ;
75
+ var findQuery = queryExplain [ "queryPlanner" ] [ "parsedQuery" ] ;
71
76
72
- Assert . Equal ( linqQuery , findQuery ) ;
77
+ Assert . Equal ( linqQuery , findQuery ) ;
78
+ }
73
79
}
74
80
}
75
81
0 commit comments