UNPKG

ev-olcs

Version:

OpenLayers Cesium integration and plugin library

32 lines 3.62 kB
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==