32 lines
1.5 KiB
JavaScript
32 lines
1.5 KiB
JavaScript
'use strict';
|
|
|
|
const assert = require('assert/strict');
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
const compiler = require('../src');
|
|
|
|
assert.equal(typeof compiler.laneGeometry.laneCenterline, 'function');
|
|
assert.equal(typeof compiler.gaodeReference.convertGeoJson, 'function');
|
|
assert.equal(typeof compiler.turnLaneArrows.buildCustomTurnLaneArrows, 'function');
|
|
assert.equal(typeof compiler.complexJunction.buildComplexJunctionGeometry, 'function');
|
|
assert.equal(typeof compiler.nativeRoad.compileRoadModel, 'function');
|
|
assert.equal(typeof compiler.check.checkOutput, 'function');
|
|
assert.equal(typeof compiler.layerManifest.manifestForArea, 'function');
|
|
const manifest = compiler.layerManifest.manifestForArea('fixture');
|
|
assert.equal(manifest.contract, 'native-road-package/v1.1');
|
|
assert.equal(manifest.layers.length, 12);
|
|
assert.deepEqual(
|
|
manifest.layers.filter((layer) => layer.role === 'semantic').map((layer) => layer.source),
|
|
['lane_centerlines', 'connectors'],
|
|
);
|
|
assert.equal(manifest.layers.find((layer) => layer.source === 'center_lines').splitBy.cases[0].match, 'white');
|
|
const fixture = path.join(__dirname, 'fixtures', 'fengshu-er-road.osm');
|
|
assert.ok(fs.existsSync(fixture));
|
|
assert.throws(() => compiler.compiler.validateInput({ id: 'area' }), /RoadCompilerInput/);
|
|
const model = compiler.nativeRoad.compileRoadModel(fs.readFileSync(fixture, 'utf8'), {
|
|
schema: 'native-road-overrides/v1',
|
|
overrides: [],
|
|
});
|
|
assert.equal(model.roads.length, 24);
|
|
console.log('road compiler package tests passed');
|