import { Polyline } from "../../src/DatabaseServices/Entity/Polyline"; import { PointsSimplify2PolylineAndParseArc } from "../../src/DatabaseServices/SplineConver2Polyline"; import { LoadEntityFromFileData } from "../Utils/LoadEntity.util"; import "../Utils/jest.util"; test('简化多段线成为圆弧', () => { let ents = LoadEntityFromFileData(require("./points_polyline_file.json")) as Polyline[]; for (let pl of ents) { let pl1 = PointsSimplify2PolylineAndParseArc(pl.LineData.map(p => p.pt), undefined, 0.1, true); let pl2 = PointsSimplify2PolylineAndParseArc(pl.LineData.map(p => p.pt), undefined, 0.1, false); expect(pl1.LineData.length).toMatchSnapshot(); expect(pl2.LineData.length).toMatchSnapshot(); expect(pl1.Length).toMatchNumberSnapshot(); expect(pl2.Length).toMatchNumberSnapshot(); } }); test('小恐龙简化', () => { let ents = LoadEntityFromFileData(require("./kl.json")) as Polyline[]; for (let pl of ents) { let pl1 = PointsSimplify2PolylineAndParseArc(pl.LineData.map(p => p.pt), undefined, 0.1, true); let pl2 = PointsSimplify2PolylineAndParseArc(pl.LineData.map(p => p.pt), undefined, 0.1, false); expect(pl1.LineData.length).toMatchSnapshot(); expect(pl2.LineData.length).toMatchSnapshot(); expect(pl1.Length).toMatchNumberSnapshot(); expect(pl2.Length).toMatchNumberSnapshot(); } });