mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 18:34:02 +00:00
25 lines
911 B
JavaScript
25 lines
911 B
JavaScript
import test from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
import { normalizeOsrmSteps, ROUTE_STEPS_MAX } from './routeSteps.js';
|
|
const step = (type) => ({
|
|
maneuver: { type, location: [10, 20] },
|
|
distance: 10,
|
|
duration: 1,
|
|
});
|
|
test('exact-cap routes remain complete and boundary exits retain their distance', () => {
|
|
const steps = Array.from({ length: ROUTE_STEPS_MAX }, () => step('turn'));
|
|
assert.equal(normalizeOsrmSteps({ legs: [{ steps }] }).truncated, false);
|
|
assert.equal(
|
|
normalizeOsrmSteps({ legs: [{ steps: [...steps, step('turn')] }] })
|
|
.truncated,
|
|
true,
|
|
);
|
|
steps[steps.length - 1] = step('roundabout');
|
|
const result = normalizeOsrmSteps({
|
|
legs: [{ steps: [...steps, step('exit roundabout')] }],
|
|
});
|
|
assert.equal(result.truncated, false);
|
|
assert.equal(result.steps.length, ROUTE_STEPS_MAX);
|
|
assert.equal(result.steps.at(-1).distanceM, 20);
|
|
});
|