From ce5018749338d7d252f3e6d8e96b5fe5ec1f5eba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E8=AF=97=E6=B4=A5?= <2723065175@qq.com> Date: Tue, 6 Feb 2024 03:15:35 +0000 Subject: [PATCH] =?UTF-8?q?!2579=20=E5=BC=80=E5=8F=91:BBS=E6=9D=BF?= =?UTF-8?q?=E5=B0=81=E8=BE=B9=E5=AE=BD=E5=BA=A6=E5=80=BC=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __test__/BBS/seal_width.test.ts | 77 +++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 __test__/BBS/seal_width.test.ts diff --git a/__test__/BBS/seal_width.test.ts b/__test__/BBS/seal_width.test.ts new file mode 100644 index 000000000..70841230a --- /dev/null +++ b/__test__/BBS/seal_width.test.ts @@ -0,0 +1,77 @@ +import { lookOverBoardInfosTool } from "../../src/Add-on/LookOverBoardInfos/LookOverBoardInfosTool"; +import { HostApplicationServices } from "../../src/ApplicationServices/HostApplicationServices"; +import { Board } from "../../src/DatabaseServices/Entity/Board"; +import { LoadEntityFromFileData } from "../Utils/LoadEntity.util"; + +//只填写拆单厚的板,板厚18,拆单厚30 +let data1 = [1, "Board", 10, 2, 15582, 0, 1, 11, 71, [0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 9061.163081999983, 0, 120.81939073568778, 1], 15581, 0, 1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9061.163081999983, 0, 120.81939073568778, 1], 0, 0, 1, 3, 2000, 600, 18, true, "Polyline", 10, 2, 0, 0, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, 1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, 1, 2, 4, [0, 0], 0, [600, 0], 0, [600, 2000], 0, [0, 2000], 0, true, 0, 3, 0, 0, 0, 0, 0, 13, 1, "左侧板", "主卧", "下柜", "", "", "", 0, 0, "三合一", 2, 0, "1", "1", "1", "1", "", "", "30", 4, "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, null, 0, 0]; +let br1 = LoadEntityFromFileData(data1)[0] as Board; + +//填写所有拆单值的板,板厚18,拆单厚20 +let data2 = [1, "Board", 10, 2, 15583, 0, 1, 11, 71, [0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 10243.163081999983, 0, 120.81939073568778, 1], 15581, 0, 1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9061.163081999983, 0, 120.81939073568778, 1], 0, 0, 1, 3, 2000, 600, 18, true, "Polyline", 10, 2, 0, 0, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, 1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, 1, 2, 4, [0, 0], 0, [600, 0], 0, [600, 2000], 0, [0, 2000], 0, true, 0, 3, 0, 0, 0, 0, 0, 13, 1, "右侧板", "主卧", "下柜", "", "", "", 0, 1, "三合一", 2, 0, "1", "1", "1", "1", "H", "W", "20", 4, "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, null, 0, 0]; +let br2 = LoadEntityFromFileData(data2)[0] as Board; + +const partialSplitValueCanTakesEffect = HostApplicationServices.chaidanOption.partialSplitValueCanTakesEffect; +const regex = /-(\d+)-/; + +describe('局部拆单值可生效', () => +{ + beforeEach(() => + { + HostApplicationServices.chaidanOption.partialSplitValueCanTakesEffect = true; + }); + + test('板封边宽值', () => + { + const { sealCount } = lookOverBoardInfosTool.GetCount([br1, br2]); + + const match1 = sealCount[0].name.match(regex); + if (match1) + { + expect(match1[1]).toBe("30"); + } + + const match2 = sealCount[1].name.match(regex); + if (match2) + { + expect(match2[1]).toBe("20"); + } + }); + + afterEach(() => + { + HostApplicationServices.chaidanOption.partialSplitValueCanTakesEffect = partialSplitValueCanTakesEffect; + }); + +}); + +describe('局部拆单值不生效', () => +{ + beforeEach(() => + { + HostApplicationServices.chaidanOption.partialSplitValueCanTakesEffect = false; + }); + + test('板封边宽值', () => + { + const { sealCount } = lookOverBoardInfosTool.GetCount([br1, br2]); + + const match1 = sealCount[0].name.match(regex); + if (match1) + { + expect(match1[1]).toBe("18"); + } + + const match2 = sealCount[1].name.match(regex); + if (match2) + { + expect(match2[1]).toBe("20"); + } + }); + + afterEach(() => + { + HostApplicationServices.chaidanOption.partialSplitValueCanTakesEffect = partialSplitValueCanTakesEffect; + }); + +});