Y-SLD/assets/plugins/leaflet/markercluster/spec/suites/QuickHullSpec.js

53 lines
1.4 KiB
JavaScript

describe('quickhull', function () {
describe('getDistant', function () {
it('zero distance', function () {
var bl = [
{ lat: 0, lng: 0 },
{ lat: 0, lng: 10 }
];
expect(L.QuickHull.getDistant({ lat: 0, lng: 0 }, bl)).to.eql(0);
});
it('non-zero distance', function () {
var bl = [
{ lat: 0, lng: 0 },
{ lat: 0, lng: 10 }
];
expect(L.QuickHull.getDistant({ lat: 5, lng: 5 }, bl)).to.eql(-50);
});
});
describe('getConvexHull', function () {
it('creates a hull', function () {
expect(L.QuickHull.getConvexHull([ { lat: 0, lng: 0 },
{ lat: 10, lng: 0 },
{ lat: 10, lng: 10 },
{ lat: 0, lng: 10 },
{ lat: 5, lng: 5 }
])).to.eql([
{ lat: 0, lng: 10 },
{ lat: 10, lng: 10 },
{ lat: 10, lng: 0 },
{ lat: 0, lng: 0 }
]);
});
it('creates a hull for vertically-aligned objects', function () {
expect(L.QuickHull.getConvexHull([ { lat: 0, lng: 0 },
{ lat: 5, lng: 0 },
{ lat: 10, lng: 0 }
])).to.eql([
{ lat: 0, lng: 0 },
{ lat: 10, lng: 0 }
]);
});
it('creates a hull for horizontally-aligned objects', function () {
expect(L.QuickHull.getConvexHull([ { lat: 0, lng: 0 },
{ lat: 0, lng: 5 },
{ lat: 0, lng: 10 }
])).to.eql([
{ lat: 0, lng: 0 },
{ lat: 0, lng: 10 }
]);
});
});
});