ev-olcs
Version:
OpenLayers Cesium integration and plugin library
32 lines • 3.62 kB
JavaScript
import test from 'node:test';
import assert from 'node:assert';
import { dashPattern } from './FeatureConverter.js';
function olPatternAsBinary(pattern) {
const pattern16 = dashPattern(pattern);
return pattern16.toString(2);
}
test('pattern-100-100', (t) => {
// Whatever the scaling, the result should be the same.
// Only propoprtion matters.
assert.strictEqual(olPatternAsBinary([100, 100]), '1111111100000000');
assert.strictEqual(olPatternAsBinary([1, 1]), '1111111100000000');
assert.strictEqual(olPatternAsBinary([999999, 999999]), '1111111100000000');
});
test('pattern-100-100-100-100', (t) => {
// We should see 4 dashes of equal length.
assert.strictEqual(olPatternAsBinary([100, 100, 100, 100]), '1111000011110000');
});
test('pattern-too-long', (t) => {
// When the pattern is too long, here we have 200 segments
// we should still ensure that the pattern is well formed (I guess):
// - starts with a 1:
// - ends with a 0.
assert.strictEqual(olPatternAsBinary(Array.from({ length: 200 }, _ => 1)), '1000000000000000');
});
test('pattern-uneven', (t) => {
// When the pattern is uneven, it is duplicated
assert.strictEqual(olPatternAsBinary([6, 1, 2, 6, 1, 2]), '1111101100000100');
assert.strictEqual(olPatternAsBinary([6, 1, 2]), '1111101100000100');
assert.strictEqual(olPatternAsBinary([12, 2, 4]), '1111101100000100');
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaFBhdHRlcm5Db252ZXJzaW9uLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb2xjcy9kYXNoUGF0dGVybkNvbnZlcnNpb24udGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBRWpDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRCxTQUFTLGlCQUFpQixDQUFDLE9BQWlCO0lBQzFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQUVELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQzVCLHVEQUF1RDtJQUN2RCw0QkFBNEI7SUFDNUIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDdEUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDbEUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFDOUUsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNwQywwQ0FBMEM7SUFDMUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztBQUNsRixDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQzdCLDBEQUEwRDtJQUMxRCxvRUFBb0U7SUFDcEUscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixNQUFNLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFDL0YsQ0FBQyxDQUFDLENBQUM7QUFHSCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUMzQiwrQ0FBK0M7SUFDL0MsTUFBTSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQzlFLE1BQU0sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUNyRSxNQUFNLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFDeEUsQ0FBQyxDQUFDLENBQUMifQ==