diff --git a/__test__/EdgeSealing/__snapshots__/rel_knif_board.seal.test.ts.snap b/__test__/EdgeSealing/__snapshots__/rel_knif_board.seal.test.ts.snap new file mode 100644 index 000000000..1baf0b36e --- /dev/null +++ b/__test__/EdgeSealing/__snapshots__/rel_knif_board.seal.test.ts.snap @@ -0,0 +1,20 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`关联切割造成的封边拆单错误 1`] = ` +Array [ + 0.7, + 0.7, + 0, + 0, + 1.3, + 0.7, +] +`; + +exports[`关联切割造成的封边拆单错误 2`] = `"0.7"`; + +exports[`关联切割造成的封边拆单错误 3`] = `"0.7"`; + +exports[`关联切割造成的封边拆单错误 4`] = `"1.3"`; + +exports[`关联切割造成的封边拆单错误 5`] = `"0.7"`; diff --git a/__test__/EdgeSealing/rel_knif_board.seal.test.ts b/__test__/EdgeSealing/rel_knif_board.seal.test.ts new file mode 100644 index 000000000..25956bc3d --- /dev/null +++ b/__test__/EdgeSealing/rel_knif_board.seal.test.ts @@ -0,0 +1,33 @@ +import { inflateBase64 } from "../../src/Common/inflate"; +import { CADFiler } from "../../src/DatabaseServices/CADFiler"; +import { Database } from "../../src/DatabaseServices/Database"; +import { Board } from "../../src/DatabaseServices/Entity/Board"; +import { LoadBoardsFromFileData } from "../Utils/LoadEntity.util"; +LoadBoardsFromFileData; + +test('关联切割造成的封边拆单错误', () => +{ + let str = "WebCADSuperCopy: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"; + str = str.substr(16); + str = inflateBase64(str); + let f = new CADFiler(JSON.parse(str)); + f.Read(); + let shopId = f.Read(); + + let db = new Database(); + db.FileRead(f); + + for (let e of db.ModelSpace.Entitys) + if (e instanceof Board) + { + for (let sbr of e.SplitBoards) + { + expect(sbr.BoardProcessOption.highSealed.map(s => s.size)).toMatchSnapshot(); + expect(sbr.BoardProcessOption.sealedUp).toMatchSnapshot(); + expect(sbr.BoardProcessOption.sealedDown).toMatchSnapshot(); + expect(sbr.BoardProcessOption.sealedLeft).toMatchSnapshot(); + expect(sbr.BoardProcessOption.sealedRight).toMatchSnapshot(); + } + } + +}); diff --git a/__test__/Utils/LoadEntity.util.ts b/__test__/Utils/LoadEntity.util.ts index a9fecd2c7..250cbe66c 100644 --- a/__test__/Utils/LoadEntity.util.ts +++ b/__test__/Utils/LoadEntity.util.ts @@ -5,6 +5,8 @@ import { Curve } from "../../src/DatabaseServices/Entity/Curve"; import { Entity } from "../../src/DatabaseServices/Entity/Entity"; import { Polyline } from "../../src/DatabaseServices/Entity/Polyline"; import { Region } from "../../src/DatabaseServices/Entity/Region"; +import { GroupRecord } from "../../src/DatabaseServices/GroupTableRecord"; +import { HardwareCompositeEntity } from "../../src/DatabaseServices/Hardware/HardwareCompositeEntity"; import { HardwareTopline } from "../../src/DatabaseServices/Hardware/HardwareTopline"; import { RoomHolePolyline } from "../../src/DatabaseServices/Room/Entity/Wall/Hole/RoomHolePolyline"; import { RoomWallArc } from "../../src/DatabaseServices/Room/Entity/Wall/RoomWallArc"; @@ -25,6 +27,8 @@ RoomWallLine; RoomHolePolyline; RoomWallArc; Text; +HardwareCompositeEntity; +GroupRecord; export function LoadEntityFromFileData(data: any) {