53 lines
1.4 KiB
JavaScript
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 }
|
||
|
]);
|
||
|
});
|
||
|
});
|
||
|
});
|