Add ol.geom.flat.lineStringInterpolate

This commit is contained in:
Tom Payne
2013-11-26 16:26:53 +01:00
parent d45734634a
commit 321837f157
2 changed files with 104 additions and 0 deletions

View File

@@ -54,6 +54,48 @@ describe('ol.geom.flat', function() {
});
describe('ol.geom.flat.lineStringInterpolate', function() {
it('returns the expected value for single points', function() {
var flatCoordinates = [0, 1];
var point =
ol.geom.flat.lineStringInterpolate(flatCoordinates, 0, 2, 2, 0.5);
expect(point).to.eql([0, 1]);
});
it('returns the expected value for simple line segments', function() {
var flatCoordinates = [0, 1, 2, 3];
var point =
ol.geom.flat.lineStringInterpolate(flatCoordinates, 0, 4, 2, 0.5);
expect(point).to.eql([1, 2]);
});
it('returns the expected value when the mid point is an existing ' +
'coordinate', function() {
var flatCoordinates = [0, 1, 2, 3, 4, 5];
var point =
ol.geom.flat.lineStringInterpolate(flatCoordinates, 0, 6, 2, 0.5);
expect(point).to.eql([2, 3]);
});
it('returns the expected value when the midpoint falls halfway between ' +
'two existing coordinates', function() {
var flatCoordinates = [0, 1, 2, 3, 4, 5, 6, 7];
var point =
ol.geom.flat.lineStringInterpolate(flatCoordinates, 0, 8, 2, 0.5);
expect(point).to.eql([3, 4]);
});
it('returns the expected value when the coordinates are not evenly spaced',
function() {
var flatCoordinates = [0, 1, 2, 3, 6, 7];
var point =
ol.geom.flat.lineStringInterpolate(flatCoordinates, 0, 6, 2, 0.5);
expect(point).to.eql([3, 4]);
});
});
describe('ol.geom.flat.linearRingIsClockwise', function() {
it('identifies clockwise rings', function() {