From 2484b18da2573ae06158e41cc8b27d8bef6a1cf2 Mon Sep 17 00:00:00 2001 From: ChenX Date: Tue, 19 Jun 2018 15:15:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B5=8B=E8=AF=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__snapshots__/offset.test.ts.snap | 51 +++++++++++++++++++ __test__/Polyline/offset.test.ts | 31 ++++++----- 2 files changed, 69 insertions(+), 13 deletions(-) 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 82b5d5178..969da90cb 100644 --- a/__test__/Polyline/offset.test.ts +++ b/__test__/Polyline/offset.test.ts @@ -1,8 +1,21 @@ import { Factory } from "../../src/DatabaseServices/CADFactory"; import { CADFile } from "../../src/DatabaseServices/CADFile"; import { Polyline } from "../../src/DatabaseServices/Polyline"; +import { Entity } from "../../src/DatabaseServices/Entity"; Factory(Polyline); +// 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圆与直线补圆弧', () => { let f = new CADFile(); @@ -14,26 +27,18 @@ 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); });