Test with NearestDirectionFunction
This commit is contained in:
@@ -475,34 +475,94 @@ describe('ol/array.js', function () {
|
|||||||
expect(linearFindNearest(arr, 1000, 1)).to.eql(0);
|
expect(linearFindNearest(arr, 1000, 1)).to.eql(0);
|
||||||
expect(linearFindNearest(arr, 1000, -1)).to.eql(0);
|
expect(linearFindNearest(arr, 1000, -1)).to.eql(0);
|
||||||
|
|
||||||
|
expect(linearFindNearest(arr, 999, -1)).to.eql(1);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
linearFindNearest(arr, 901, function (value, high, low) {
|
||||||
|
return value - (low + (high - low) * 0.8);
|
||||||
|
})
|
||||||
|
).to.eql(0);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
linearFindNearest(arr, 900, function (value, high, low) {
|
||||||
|
return value - (low + (high - low) * 0.8);
|
||||||
|
})
|
||||||
|
).to.eql(1);
|
||||||
|
|
||||||
expect(linearFindNearest(arr, 900, 0)).to.eql(0);
|
expect(linearFindNearest(arr, 900, 0)).to.eql(0);
|
||||||
expect(linearFindNearest(arr, 900, 1)).to.eql(0);
|
expect(linearFindNearest(arr, 900, 1)).to.eql(0);
|
||||||
expect(linearFindNearest(arr, 900, -1)).to.eql(1);
|
expect(linearFindNearest(arr, 900, -1)).to.eql(1);
|
||||||
|
|
||||||
|
expect(linearFindNearest(arr, 751, 0)).to.eql(0);
|
||||||
|
|
||||||
expect(linearFindNearest(arr, 750, 0)).to.eql(1);
|
expect(linearFindNearest(arr, 750, 0)).to.eql(1);
|
||||||
expect(linearFindNearest(arr, 750, 1)).to.eql(0);
|
expect(linearFindNearest(arr, 750, 1)).to.eql(0);
|
||||||
expect(linearFindNearest(arr, 750, -1)).to.eql(1);
|
expect(linearFindNearest(arr, 750, -1)).to.eql(1);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
linearFindNearest(arr, 551, function (value, high, low) {
|
||||||
|
return value - (low + (high - low) * 0.1);
|
||||||
|
})
|
||||||
|
).to.eql(0);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
linearFindNearest(arr, 550, function (value, high, low) {
|
||||||
|
return value - (low + (high - low) * 0.1);
|
||||||
|
})
|
||||||
|
).to.eql(1);
|
||||||
|
|
||||||
expect(linearFindNearest(arr, 550, 0)).to.eql(1);
|
expect(linearFindNearest(arr, 550, 0)).to.eql(1);
|
||||||
expect(linearFindNearest(arr, 550, 1)).to.eql(0);
|
expect(linearFindNearest(arr, 550, 1)).to.eql(0);
|
||||||
expect(linearFindNearest(arr, 550, -1)).to.eql(1);
|
expect(linearFindNearest(arr, 550, -1)).to.eql(1);
|
||||||
|
|
||||||
|
expect(linearFindNearest(arr, 501, 1)).to.eql(0);
|
||||||
|
|
||||||
expect(linearFindNearest(arr, 500, 0)).to.eql(1);
|
expect(linearFindNearest(arr, 500, 0)).to.eql(1);
|
||||||
expect(linearFindNearest(arr, 500, 1)).to.eql(1);
|
expect(linearFindNearest(arr, 500, 1)).to.eql(1);
|
||||||
expect(linearFindNearest(arr, 500, -1)).to.eql(1);
|
expect(linearFindNearest(arr, 500, -1)).to.eql(1);
|
||||||
|
|
||||||
|
expect(linearFindNearest(arr, 499, -1)).to.eql(2);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
linearFindNearest(arr, 451, function (value, high, low) {
|
||||||
|
return value - (low + (high - low) * 0.875);
|
||||||
|
})
|
||||||
|
).to.eql(1);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
linearFindNearest(arr, 450, function (value, high, low) {
|
||||||
|
return value - (low + (high - low) * 0.875);
|
||||||
|
})
|
||||||
|
).to.eql(2);
|
||||||
|
|
||||||
expect(linearFindNearest(arr, 450, 0)).to.eql(1);
|
expect(linearFindNearest(arr, 450, 0)).to.eql(1);
|
||||||
expect(linearFindNearest(arr, 450, 1)).to.eql(1);
|
expect(linearFindNearest(arr, 450, 1)).to.eql(1);
|
||||||
expect(linearFindNearest(arr, 450, -1)).to.eql(2);
|
expect(linearFindNearest(arr, 450, -1)).to.eql(2);
|
||||||
|
|
||||||
|
expect(linearFindNearest(arr, 301, 0)).to.eql(1);
|
||||||
|
|
||||||
expect(linearFindNearest(arr, 300, 0)).to.eql(2);
|
expect(linearFindNearest(arr, 300, 0)).to.eql(2);
|
||||||
expect(linearFindNearest(arr, 300, 1)).to.eql(1);
|
expect(linearFindNearest(arr, 300, 1)).to.eql(1);
|
||||||
expect(linearFindNearest(arr, 300, -1)).to.eql(2);
|
expect(linearFindNearest(arr, 300, -1)).to.eql(2);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
linearFindNearest(arr, 201, function (value, high, low) {
|
||||||
|
return value - (low + (high - low) * 0.25);
|
||||||
|
})
|
||||||
|
).to.eql(1);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
linearFindNearest(arr, 200, function (value, high, low) {
|
||||||
|
return value - (low + (high - low) * 0.25);
|
||||||
|
})
|
||||||
|
).to.eql(2);
|
||||||
|
|
||||||
expect(linearFindNearest(arr, 200, 0)).to.eql(2);
|
expect(linearFindNearest(arr, 200, 0)).to.eql(2);
|
||||||
expect(linearFindNearest(arr, 200, 1)).to.eql(1);
|
expect(linearFindNearest(arr, 200, 1)).to.eql(1);
|
||||||
expect(linearFindNearest(arr, 200, -1)).to.eql(2);
|
expect(linearFindNearest(arr, 200, -1)).to.eql(2);
|
||||||
|
|
||||||
|
expect(linearFindNearest(arr, 101, 1)).to.eql(1);
|
||||||
|
|
||||||
expect(linearFindNearest(arr, 100, 0)).to.eql(2);
|
expect(linearFindNearest(arr, 100, 0)).to.eql(2);
|
||||||
expect(linearFindNearest(arr, 100, 1)).to.eql(2);
|
expect(linearFindNearest(arr, 100, 1)).to.eql(2);
|
||||||
expect(linearFindNearest(arr, 100, -1)).to.eql(2);
|
expect(linearFindNearest(arr, 100, -1)).to.eql(2);
|
||||||
|
|||||||
@@ -1177,6 +1177,64 @@ describe('ol/tilegrid/TileGrid.js', function () {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('getZForResolution (NearestDirectionFunction)', function () {
|
||||||
|
it('returns the expected z value', function () {
|
||||||
|
const tileGrid = new TileGrid({
|
||||||
|
resolutions: resolutions,
|
||||||
|
origin: origin,
|
||||||
|
tileSize: tileSize,
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(
|
||||||
|
tileGrid.getZForResolution(626, function (value, high, low) {
|
||||||
|
return value - (low + (high - low) * 0.25);
|
||||||
|
})
|
||||||
|
).to.eql(0);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
tileGrid.getZForResolution(625, function (value, high, low) {
|
||||||
|
return value - (low + (high - low) * 0.25);
|
||||||
|
})
|
||||||
|
).to.eql(1);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
tileGrid.getZForResolution(476, function (value, high, low) {
|
||||||
|
return value - (low + (high - low) * 0.9);
|
||||||
|
})
|
||||||
|
).to.eql(1);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
tileGrid.getZForResolution(475, function (value, high, low) {
|
||||||
|
return value - (low + (high - low) * 0.9);
|
||||||
|
})
|
||||||
|
).to.eql(2);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
tileGrid.getZForResolution(201, function (value, high, low) {
|
||||||
|
return value - (low + (high - low) * 0.666666667);
|
||||||
|
})
|
||||||
|
).to.eql(2);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
tileGrid.getZForResolution(200, function (value, high, low) {
|
||||||
|
return value - (low + (high - low) * 0.666666667);
|
||||||
|
})
|
||||||
|
).to.eql(3);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
tileGrid.getZForResolution(126, function (value, high, low) {
|
||||||
|
return value - (low + (high - low) * 0.166666667);
|
||||||
|
})
|
||||||
|
).to.eql(2);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
tileGrid.getZForResolution(125, function (value, high, low) {
|
||||||
|
return value - (low + (high - low) * 0.166666667);
|
||||||
|
})
|
||||||
|
).to.eql(3);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('getTileRangeForTileCoordAndZ()', function () {
|
describe('getTileRangeForTileCoordAndZ()', function () {
|
||||||
const tileGrid = createForExtent(
|
const tileGrid = createForExtent(
|
||||||
getProjection('EPSG:3857').getExtent(),
|
getProjection('EPSG:3857').getExtent(),
|
||||||
|
|||||||
Reference in New Issue
Block a user