11// Axis aligned circles - hard-to-find precision errors possible with exact distances here
22
3- t = db . axisaligned
3+ t = db . axisaligned ;
44t . drop ( ) ;
55
6- scale = [ 1 , 10 , 1000 , 10000 ]
7- bits = [ 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]
8- radius = [ 0.0001 , 0.001 , 0.01 , 0.1 ]
9- center = [ [ 5 , 52 ] , [ 6 , 53 ] , [ 7 , 54 ] , [ 8 , 55 ] , [ 9 , 56 ] ]
6+ scale = [ 1 , 10 , 1000 , 10000 ] ;
7+ bits = [ 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] ;
8+ radius = [ 0.0001 , 0.001 , 0.01 , 0.1 ] ;
9+ center = [ [ 5 , 52 ] , [ 6 , 53 ] , [ 7 , 54 ] , [ 8 , 55 ] , [ 9 , 56 ] ] ;
1010
11- bound = [ ]
11+ bound = [ ] ;
1212for ( var j = 0 ; j < center . length ; j ++ ) bound . push ( [ - 180 , 180 ] ) ;
1313
1414// Scale all our values to test different sizes
15- radii = [ ]
16- centers = [ ]
17- bounds = [ ]
15+ radii = [ ] ;
16+ centers = [ ] ;
17+ bounds = [ ] ;
1818
1919for ( var s = 0 ; s < scale . length ; s ++ ) {
2020 for ( var i = 0 ; i < radius . length ; i ++ ) {
21- radii . push ( radius [ i ] * scale [ s ] )
21+ radii . push ( radius [ i ] * scale [ s ] ) ;
2222 }
2323
2424 for ( var j = 0 ; j < center . length ; j ++ ) {
25- centers . push ( [ center [ j ] [ 0 ] * scale [ s ] , center [ j ] [ 1 ] * scale [ s ] ] )
26- bounds . push ( [ bound [ j ] [ 0 ] * scale [ s ] , bound [ j ] [ 1 ] * scale [ s ] ] )
25+ centers . push ( [ center [ j ] [ 0 ] * scale [ s ] , center [ j ] [ 1 ] * scale [ s ] ] ) ;
26+ bounds . push ( [ bound [ j ] [ 0 ] * scale [ s ] , bound [ j ] [ 1 ] * scale [ s ] ] ) ;
2727 }
2828}
2929
30- radius = radii
31- center = centers
32- bound = bounds
30+ radius = radii ;
31+ center = centers ;
32+ bound = bounds ;
3333
3434
3535for ( var b = 0 ; b < bits . length ; b ++ ) {
36- printjson ( radius )
37- printjson ( centers )
36+ printjson ( radius ) ;
37+ printjson ( centers ) ;
3838
3939 for ( var i = 0 ; i < radius . length ; i ++ ) {
4040 for ( var j = 0 ; j < center . length ; j ++ ) {
4141 printjson ( { center : center [ j ] , radius : radius [ i ] , bits : bits [ b ] } ) ;
4242
43- t . drop ( )
43+ t . drop ( ) ;
4444
4545 // Make sure our numbers are precise enough for this test
4646 if ( ( center [ j ] [ 0 ] - radius [ i ] == center [ j ] [ 0 ] ) || ( center [ j ] [ 1 ] - radius [ i ] == center [ j ] [ 1 ] ) )
@@ -65,7 +65,7 @@ for ( var b = 0; b < bits.length; b++ ) {
6565 // These are invalid cases, so we skip them.
6666 if ( ! res . ok ) continue ;
6767
68- print ( "DOING WITHIN QUERY " )
68+ print ( "DOING WITHIN QUERY " ) ;
6969 r = t . find ( { "loc" : { "$within" : { "$center" : [ center [ j ] , radius [ i ] ] } } } ) ;
7070
7171 assert . eq ( 5 , r . count ( ) ) ;
@@ -74,18 +74,18 @@ for ( var b = 0; b < bits.length; b++ ) {
7474 a = r . toArray ( ) ;
7575 x = [ ] ;
7676 for ( k in a )
77- x . push ( a [ k ] [ "_id" ] )
78- x . sort ( )
77+ x . push ( a [ k ] [ "_id" ] ) ;
78+ x . sort ( ) ;
7979 assert . eq ( [ 1 , 2 , 3 , 4 , 5 ] , x ) ;
8080
81- print ( " DOING NEAR QUERY " )
81+ print ( " DOING NEAR QUERY " ) ;
8282 //printjson( center[j] )
83- r = t . find ( { loc : { $near : center [ j ] , $maxDistance : radius [ i ] } } , { _id : 1 } )
83+ r = t . find ( { loc : { $near : center [ j ] , $maxDistance : radius [ i ] } } , { _id : 1 } ) ;
8484 assert . eq ( 5 , r . count ( ) ) ;
8585
86- print ( " DOING DIST QUERY " )
86+ print ( " DOING DIST QUERY " ) ;
8787
88- a = db . runCommand ( { geoNear : "axisaligned" , near : center [ j ] , maxDistance : radius [ i ] } ) . results
88+ a = db . runCommand ( { geoNear : "axisaligned" , near : center [ j ] , maxDistance : radius [ i ] } ) . results ;
8989 assert . eq ( 5 , a . length ) ;
9090
9191 var distance = 0 ;
0 commit comments