@@ -26,24 +26,28 @@ if ( shouldRun ) {
2626 for ( var n = 0 ; n < numTests ; n ++ ) {
2727 t . dropIndexes ( )
2828 t . ensureIndex ( { loc : "2d" } , { bits : 2 + n } ) ;
29-
30-
29+
3130 assert . eq ( 9 , t . find ( { loc : { "$within" : { "$polygon" : [ [ 0 , 0 ] , [ 1 , 1 ] , [ 0 , 2 ] ] } } } ) . count ( ) , "Triangle Test" ) ;
3231 assert . eq ( num , t . find ( { loc : { "$within" : { "$polygon" : [ [ - 180 , - 180 ] , [ - 180 , 180 ] , [ 180 , 180 ] , [ 180 , - 180 ] ] } } } ) . count ( ) , "Bounding Box Test" ) ;
33-
32+
3433 assert . eq ( 441 , t . find ( { loc : { "$within" : { "$polygon" : [ [ 0 , 0 ] , [ 0 , 10 ] , [ 10 , 10 ] , [ 10 , 0 ] ] } } } ) . count ( ) , "Square Test" ) ;
3534 assert . eq ( 25 , t . find ( { loc : { "$within" : { "$polygon" : [ [ 0 , 0 ] , [ 0 , 2 ] , [ 2 , 2 ] , [ 2 , 0 ] ] } } } ) . count ( ) , "Square Test 2" ) ;
36- if ( 0 ) { // SERVER-3726
37- assert . eq ( 331 , t . find ( { loc : { "$within" : { "$polygon" : [ [ 0 , 0 ] , [ 0 , 10 ] , [ 10 , 10 ] , [ 10 , 0 ] , [ 5 , 5 ] ] } } } ) . count ( ) , "Square Missing Chunk Test" ) ;
38- assert . eq ( 21 , t . find ( { loc : { "$within" : { "$polygon" : [ [ 0 , 0 ] , [ 0 , 2 ] , [ 2 , 2 ] , [ 2 , 0 ] , [ 1 , 1 ] ] } } } ) . count ( ) , "Square Missing Chunk Test 2" ) ;
35+
36+ if ( 1 ) { // SERVER-3726
37+ // Points exactly on diagonals may be in or out, depending on how the error calculating the slope falls.
38+ assert . between ( 341 - 18 , t . find ( { loc : { "$within" : { "$polygon" : [ [ 0 , 0 ] , [ 0 , 10 ] , [ 10 , 10 ] , [ 10 , 0 ] , [ 5 , 5 ] ] } } } ) . count ( ) , 341 , "Square Missing Chunk Test" , true ) ;
39+ assert . between ( 21 - 2 , t . find ( { loc : { "$within" : { "$polygon" : [ [ 0 , 0 ] , [ 0 , 2 ] , [ 2 , 2 ] , [ 2 , 0 ] , [ 1 , 1 ] ] } } } ) . count ( ) , 21 , "Square Missing Chunk Test 2" , true ) ;
3940 }
40-
41+
4142 assert . eq ( 1 , t . find ( { loc : { "$within" : { "$polygon" : [ [ 0 , 0 ] , [ 0 , 0 ] , [ 0 , 0 ] ] } } } ) . count ( ) , "Point Test" ) ;
42- if ( 0 ) { // SERVER-3725
43- assert . eq ( 5 , t . find ( { loc : { "$within" : { "$polygon" : [ [ 0 , 0 ] , [ 1 , 0 ] , [ 2 , 0 ] ] } } } ) . count ( ) , "Line Test 1" ) ;
44- assert . eq ( 3 , t . find ( { loc : { "$within" : { "$polygon" : [ [ 0 , 0 ] , [ 0 , 0 ] , [ 1 , 0 ] ] } } } ) . count ( ) , "Line Test 2" ) ;
45- assert . eq ( 5 , t . find ( { loc : { "$within" : { "$polygon" : [ [ 0 , 2 ] , [ 0 , 1 ] , [ 0 , 0 ] ] } } } ) . count ( ) , "Line Test 3" ) ;
43+
44+ // SERVER-3725
45+ {
46+ assert . eq ( 5 , t . find ( { loc : { "$within" : { "$polygon" : [ [ 0 , 0 ] , [ 1 , 0 ] , [ 2 , 0 ] ] } } } ) . count ( ) , "Line Test 1" ) ;
47+ assert . eq ( 3 , t . find ( { loc : { "$within" : { "$polygon" : [ [ 0 , 0 ] , [ 0 , 0 ] , [ 1 , 0 ] ] } } } ) . count ( ) , "Line Test 2" ) ;
48+ assert . eq ( 5 , t . find ( { loc : { "$within" : { "$polygon" : [ [ 0 , 2 ] , [ 0 , 1 ] , [ 0 , 0 ] ] } } } ) . count ( ) , "Line Test 3" ) ;
4649 }
50+
4751 assert . eq ( 3 , t . find ( { loc : { "$within" : { "$polygon" : [ [ 0 , 1 ] , [ 0 , 0 ] , [ 0 , 0 ] ] } } } ) . count ( ) , "Line Test 4" ) ;
4852 }
4953}
0 commit comments