diff --git a/test/combine_ways.js b/test/combine_ways.js
index 4757e9f..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 = '';
@@ -51,3 +59,34 @@ 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);
+});
+
+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);
+});