From 2ca96d8970698d6130be2dcf4129be877cd8df82 Mon Sep 17 00:00:00 2001 From: Kevin Nowaczyk Date: Fri, 25 Apr 2025 10:40:02 -0400 Subject: [PATCH 1/3] Update combine_ways.js --- test/combine_ways.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/combine_ways.js b/test/combine_ways.js index 4757e9f..cf5cda6 100644 --- a/test/combine_ways.js +++ b/test/combine_ways.js @@ -51,3 +51,18 @@ test('Test combining 2 unaligned ways', () => { let expected = parser.parseFromString(way3, 'text/xml'); expect(result[0].outerHTML).toBe(way3); }); + +test('Test combining 3 ways 1->2->3', () => { + var way1 = ''; + var way2 = ''; + var way3 = ''; + var way4 = ''; + let parser = new window.DOMParser(); + let xml1 = parser.parseFromString(way1, 'text/xml').getElementsByTagName('way')[0]; + let xml2 = parser.parseFromString(way2, 'text/xml').getElementsByTagName('way')[0]; + let xml3 = parser.parseFromString(way3, 'text/xml').getElementsByTagName('way')[0]; + let result = BuildingShapeUtils.combineWays([xml1, xml2, xml3]); + expect(result.length).toBe(1); + let expected = parser.parseFromString(way4, 'text/xml'); + expect(result[0].outerHTML).toBe(way3); +}); From 4a6e252fb04ef24c0efc80448adcfd77d6fbf7fb Mon Sep 17 00:00:00 2001 From: Kevin Nowaczyk Date: Fri, 25 Apr 2025 10:43:55 -0400 Subject: [PATCH 2/3] Update combine_ways.js --- test/combine_ways.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/combine_ways.js b/test/combine_ways.js index cf5cda6..a78a0ad 100644 --- a/test/combine_ways.js +++ b/test/combine_ways.js @@ -66,3 +66,19 @@ test('Test combining 3 ways 1->2->3', () => { let expected = parser.parseFromString(way4, 'text/xml'); expect(result[0].outerHTML).toBe(way3); }); + +test('Test combining 4 ways', () => { + var way1 = ''; + var way2 = ''; + var way3 = ''; + var way4 = ''; + var way5 = ''; + let parser = new window.DOMParser(); + let xml1 = parser.parseFromString(way1, 'text/xml').getElementsByTagName('way')[0]; + let xml2 = parser.parseFromString(way2, 'text/xml').getElementsByTagName('way')[0]; + let xml3 = parser.parseFromString(way3, 'text/xml').getElementsByTagName('way')[0]; + let result = BuildingShapeUtils.combineWays([xml1, xml2, xml3]); + expect(result.length).toBe(1); + let expected = parser.parseFromString(way4, 'text/xml'); + expect(result[0].outerHTML).toBe(way3); +}); From d40554a7e3df37b71f19f67782510f101f6d97c0 Mon Sep 17 00:00:00 2001 From: Kevin Nowaczyk Date: Fri, 25 Apr 2025 15:33:32 -0400 Subject: [PATCH 3/3] Combining (#81) * Update combine_ways.je --- test/combine_ways.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test/combine_ways.js b/test/combine_ways.js index a78a0ad..1a08699 100644 --- a/test/combine_ways.js +++ b/test/combine_ways.js @@ -13,6 +13,14 @@ import { Shape } from 'three'; import { BuildingShapeUtils } from '../src/extras/BuildingShapeUtils.js'; // import { JSDOM } from 'jsdom'; +test('Test no combining necessary. one open way', () => { + var way1 = ''; + let parser = new window.DOMParser(); + let xml1 = parser.parseFromString(way1, 'text/xml').getElementsByTagName('way')[0]; + let result = BuildingShapeUtils.combineWays([xml1]); + expect(result.length).toBe(0); +}); + test('Test combining 2 ways 1->2', () => { var way1 = ''; var way2 = '';