diff --git a/__test__/Polyline/__snapshots__/offset.test.ts.snap b/__test__/Polyline/__snapshots__/offset.test.ts.snap index 6f5bb4853..945e1a284 100644 --- a/__test__/Polyline/__snapshots__/offset.test.ts.snap +++ b/__test__/Polyline/__snapshots__/offset.test.ts.snap @@ -101,3 +101,54 @@ Array [ ], ] `; + +exports[`IKKGK圆与直线补圆弧 3`] = ` +Array [ + 1, + Array [ + "Polyline", + 1, + 1, + -1, + false, + 7, + -1, + Array [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + ], + 2, + 3, + Array [ + -28.166325866517482, + 26.523418698930218, + ], + 0, + Array [ + -40.232543460173595, + 17.223029145747052, + ], + -2.8074677582773755, + Array [ + -49.51728832490683, + 19.64066475707001, + ], + 0, + false, + ], +] +`; diff --git a/__test__/Polyline/offset.test.ts b/__test__/Polyline/offset.test.ts index b9fc8d02a..c5a72a53c 100644 --- a/__test__/Polyline/offset.test.ts +++ b/__test__/Polyline/offset.test.ts @@ -2,6 +2,7 @@ import { Factory } from "../../src/DatabaseServices/CADFactory"; import { CADFile } from "../../src/DatabaseServices/CADFile"; import { Polyline } from "../../src/DatabaseServices/Polyline"; import { Curve } from "../../src/DatabaseServices/Curve"; +import { Entity } from "../../src/DatabaseServices/Entity"; Factory(Polyline); function loadFile(data) @@ -15,6 +16,17 @@ function loadFile(data) } return cus; } +// file.only +function EntityToMatchSnapshot(ens: Entity[]) +{ + let f = new CADFile(); + f.Write(ens.length); + + for (let e of ens) + f.WriteObject(e); + + expect(f.Data).toMatchSnapshot(); +} test('IKKGK圆与直线补圆弧', () => { @@ -27,28 +39,20 @@ test('IKKGK圆与直线补圆弧', () => //负1 左边. 禁止补圆弧 let cus = pl.GetOffsetCurves(-1); - f.Data = []; - f.Write(cus.length); - - cus.forEach(c => f.WriteObject(c)); - - expect(f.Data).toMatchSnapshot(); + EntityToMatchSnapshot(cus); + pl.GetOffsetCurves(-5.654208780429431); + // //翻转曲线后测试 pl.Reverse(); cus = pl.GetOffsetCurves(1); - f.Data = []; - f.Write(cus.length); - cus.forEach(c => f.WriteObject(c)); - expect(f.Data).toMatchSnapshot(); - - + EntityToMatchSnapshot(cus); //圆丢失的问题 cus = pl.GetOffsetCurves(-1.926388985025112); - expect(cus.length).toBe(1); + EntityToMatchSnapshot(cus); }); test('多段线偏移测试1', () =>