import { LoadCurvesFromFileData } from "../Utils/LoadEntity.util"; import { RegionParse } from "../../src/Geometry/RegionParse"; import { Polyline } from "../../src/DatabaseServices/Entity/Polyline"; import "../Utils/jest.util"; test('面域分析测试', () => { let cus = LoadCurvesFromFileData(require("./curves.json")); let reg = new RegionParse(cus); expect(reg.RegionsOutline.length).toMatchSnapshot(); expect(reg.RegionsInternal.length).toMatchSnapshot(); for (let routes of [...reg.RegionsOutline, ...reg.RegionsInternal]) { let pl = Polyline.Combine(routes.map(r => r.curve), 1e-3); expect(pl.Length).toMatchNumberSnapshot(); } }); test('因为顶点精度问题导致的角度精度问题', () => { let cus = LoadCurvesFromFileData(require("./curves2.json")); let reg = new RegionParse(cus); expect(reg.RegionsOutline.length).toMatchSnapshot(); expect(reg.RegionsInternal.length).toMatchSnapshot(); for (let routes of [...reg.RegionsOutline, ...reg.RegionsInternal]) { let pl = Polyline.Combine(routes.map(r => r.curve), 1e-3); expect(pl.Length).toMatchNumberSnapshot(); } });