summaryrefslogtreecommitdiff
path: root/jstests/core/index/geo/geo_circle4.js
blob: c2194142795e0317c28fa25c81fabb3e9dc15a1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Reported as server-848.
function test(index) {
    db.server848.drop();

    radius = 0.0001;
    center = [5, 52];

    db.server848.save({"_id": 1, "loc": {"x": 4.9999, "y": 52}});
    db.server848.save({"_id": 2, "loc": {"x": 5, "y": 52}});
    db.server848.save({"_id": 3, "loc": {"x": 5.0001, "y": 52}});
    db.server848.save({"_id": 4, "loc": {"x": 5, "y": 52.0001}});
    db.server848.save({"_id": 5, "loc": {"x": 5, "y": 51.9999}});
    db.server848.save({"_id": 6, "loc": {"x": 4.9999, "y": 52.0001}});
    db.server848.save({"_id": 7, "loc": {"x": 5.0001, "y": 52.0001}});
    db.server848.save({"_id": 8, "loc": {"x": 4.9999, "y": 51.9999}});
    db.server848.save({"_id": 9, "loc": {"x": 5.0001, "y": 51.9999}});
    if (index) {
        db.server848.createIndex({loc: "2d"});
    }
    r = db.server848.find({"loc": {"$within": {"$center": [center, radius]}}}, {_id: 1});
    assert.eq(5, r.count(), "A1");
    // FIXME: surely code like this belongs in utils.js.
    a = r.toArray();
    x = [];
    for (k in a) {
        x.push(a[k]["_id"]);
    }
    x.sort();
    assert.eq([1, 2, 3, 4, 5], x, "B1");
}

test(false);
test(true);