summaryrefslogtreecommitdiff
path: root/jstests/core/geo_polygon3.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/geo_polygon3.js')
-rw-r--r--jstests/core/geo_polygon3.js104
1 files changed, 57 insertions, 47 deletions
diff --git a/jstests/core/geo_polygon3.js b/jstests/core/geo_polygon3.js
index 495ecb189b1..887e81701cd 100644
--- a/jstests/core/geo_polygon3.js
+++ b/jstests/core/geo_polygon3.js
@@ -4,51 +4,61 @@
var numTests = 31;
-for( var n = 0; n < numTests; n++ ){
-
- t = db.geo_polygon3;
- t.drop();
-
- num = 0;
- for ( x=1; x < 9; x++ ){
- for ( y= 1; y < 9; y++ ){
- o = { _id : num++ , loc : [ x , y ] };
- t.save( o );
- }
- }
-
- t.ensureIndex( { loc : "2d" }, { bits : 2 + n } );
-
- triangle = [[0,0], [1,1], [0,2]];
-
- // Look at only a small slice of the data within a triangle
- assert.eq( 1 , t.find( { loc: { "$within": { "$polygon" : triangle }}} ).itcount() , "Triangle Test" );
-
-
- boxBounds = [ [0,0], [0,10], [10,10], [10,0] ];
-
- assert.eq( num , t.find( { loc : { "$within" : { "$polygon" : boxBounds } } } ).itcount() , "Bounding Box Test" );
-
- // Look in a box much bigger than the one we have data in
- boxBounds = [[-100,-100], [-100, 100], [100,100], [100,-100]];
- assert.eq( num , t.find( { loc : { "$within" : { "$polygon" : boxBounds } } } ).itcount() , "Big Bounding Box Test" );
-
- t.drop();
-
- pacman = [
- [0,2], [0,4], [2,6], [4,6], // Head
- [6,4], [4,3], [6,2], // Mouth
- [4,0], [2,0] // Bottom
- ];
-
- t.save({loc: [1,3] }); // Add a point that's in
- t.ensureIndex( { loc : "2d" }, { bits : 2 + t } );
-
- assert.eq( 1 , t.find({loc : { $within : { $polygon : pacman }}} ).itcount() , "Pacman single point" );
-
- t.save({ loc : [5, 3] }); // Add a point that's out right in the mouth opening
- t.save({ loc : [3, 7] }); // Add a point above the center of the head
- t.save({ loc : [3,-1] }); // Add a point below the center of the bottom
-
- assert.eq( 1 , t.find({loc : { $within : { $polygon : pacman }}} ).itcount() , "Pacman double point" );
+for (var n = 0; n < numTests; n++) {
+ t = db.geo_polygon3;
+ t.drop();
+
+ num = 0;
+ for (x = 1; x < 9; x++) {
+ for (y = 1; y < 9; y++) {
+ o = {
+ _id: num++,
+ loc: [x, y]
+ };
+ t.save(o);
+ }
+ }
+
+ t.ensureIndex({loc: "2d"}, {bits: 2 + n});
+
+ triangle = [[0, 0], [1, 1], [0, 2]];
+
+ // Look at only a small slice of the data within a triangle
+ assert.eq(1, t.find({loc: {"$within": {"$polygon": triangle}}}).itcount(), "Triangle Test");
+
+ boxBounds = [[0, 0], [0, 10], [10, 10], [10, 0]];
+
+ assert.eq(
+ num, t.find({loc: {"$within": {"$polygon": boxBounds}}}).itcount(), "Bounding Box Test");
+
+ // Look in a box much bigger than the one we have data in
+ boxBounds = [[-100, -100], [-100, 100], [100, 100], [100, -100]];
+ assert.eq(num,
+ t.find({loc: {"$within": {"$polygon": boxBounds}}}).itcount(),
+ "Big Bounding Box Test");
+
+ t.drop();
+
+ pacman = [
+ [0, 2],
+ [0, 4],
+ [2, 6],
+ [4, 6], // Head
+ [6, 4],
+ [4, 3],
+ [6, 2], // Mouth
+ [4, 0],
+ [2, 0] // Bottom
+ ];
+
+ t.save({loc: [1, 3]}); // Add a point that's in
+ t.ensureIndex({loc: "2d"}, {bits: 2 + t});
+
+ assert.eq(1, t.find({loc: {$within: {$polygon: pacman}}}).itcount(), "Pacman single point");
+
+ t.save({loc: [5, 3]}); // Add a point that's out right in the mouth opening
+ t.save({loc: [3, 7]}); // Add a point above the center of the head
+ t.save({loc: [3, -1]}); // Add a point below the center of the bottom
+
+ assert.eq(1, t.find({loc: {$within: {$polygon: pacman}}}).itcount(), "Pacman double point");
}