forked from MapComplete/MapComplete
		
	
		
			
	
	
		
			691 lines
		
	
	
	
		
			25 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			691 lines
		
	
	
	
		
			25 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								import {describe} from 'mocha'
							 | 
						||
| 
								 | 
							
								import {expect} from 'chai'
							 | 
						||
| 
								 | 
							
								import {Utils} from "../../../../Utils";
							 | 
						||
| 
								 | 
							
								import {OsmObject, OsmRelation} from "../../../../Logic/Osm/OsmObject";
							 | 
						||
| 
								 | 
							
								import {InPlaceReplacedmentRTSH, TurnRestrictionRSH} from "../../../../Logic/Osm/Actions/RelationSplitHandler";
							 | 
						||
| 
								 | 
							
								import {Changes} from "../../../../Logic/Osm/Changes";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								describe("RelationSplitHandler", () => {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    Utils.injectJsonDownloadForTests(
							 | 
						||
| 
								 | 
							
								        "https://www.openstreetmap.org/api/0.6/node/1124134958/ways",
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            "version": "0.6",
							 | 
						||
| 
								 | 
							
								            "generator": "CGImap 0.8.5 (2937646 spike-07.openstreetmap.org)",
							 | 
						||
| 
								 | 
							
								            "copyright": "OpenStreetMap and contributors",
							 | 
						||
| 
								 | 
							
								            "attribution": "http://www.openstreetmap.org/copyright",
							 | 
						||
| 
								 | 
							
								            "license": "http://opendatacommons.org/licenses/odbl/1-0/",
							 | 
						||
| 
								 | 
							
								            "elements": [{
							 | 
						||
| 
								 | 
							
								                "type": "way",
							 | 
						||
| 
								 | 
							
								                "id": 97038428,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2019-06-19T12:26:24Z",
							 | 
						||
| 
								 | 
							
								                "version": 6,
							 | 
						||
| 
								 | 
							
								                "changeset": 71399984,
							 | 
						||
| 
								 | 
							
								                "user": "Pieter Vander Vennet",
							 | 
						||
| 
								 | 
							
								                "uid": 3818858,
							 | 
						||
| 
								 | 
							
								                "nodes": [1124134958, 323729212, 323729351, 2542460408, 187073405],
							 | 
						||
| 
								 | 
							
								                "tags": {
							 | 
						||
| 
								 | 
							
								                    "highway": "residential",
							 | 
						||
| 
								 | 
							
								                    "name": "Brugs-Kerkhofstraat",
							 | 
						||
| 
								 | 
							
								                    "sett:pattern": "arc",
							 | 
						||
| 
								 | 
							
								                    "surface": "sett"
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "way",
							 | 
						||
| 
								 | 
							
								                "id": 97038434,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2019-06-19T12:26:24Z",
							 | 
						||
| 
								 | 
							
								                "version": 5,
							 | 
						||
| 
								 | 
							
								                "changeset": 71399984,
							 | 
						||
| 
								 | 
							
								                "user": "Pieter Vander Vennet",
							 | 
						||
| 
								 | 
							
								                "uid": 3818858,
							 | 
						||
| 
								 | 
							
								                "nodes": [1124134958, 1124135024, 187058607],
							 | 
						||
| 
								 | 
							
								                "tags": {
							 | 
						||
| 
								 | 
							
								                    "bicycle": "use_sidepath",
							 | 
						||
| 
								 | 
							
								                    "highway": "residential",
							 | 
						||
| 
								 | 
							
								                    "name": "Kerkhofblommenstraat",
							 | 
						||
| 
								 | 
							
								                    "sett:pattern": "arc",
							 | 
						||
| 
								 | 
							
								                    "surface": "sett"
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "way",
							 | 
						||
| 
								 | 
							
								                "id": 97038435,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2017-12-21T21:41:08Z",
							 | 
						||
| 
								 | 
							
								                "version": 4,
							 | 
						||
| 
								 | 
							
								                "changeset": 54826837,
							 | 
						||
| 
								 | 
							
								                "user": "Jakka",
							 | 
						||
| 
								 | 
							
								                "uid": 2403313,
							 | 
						||
| 
								 | 
							
								                "nodes": [1124134958, 2576628889, 1124135035, 5298371485, 5298371495],
							 | 
						||
| 
								 | 
							
								                "tags": {"bicycle": "use_sidepath", "highway": "residential", "name": "Kerkhofblommenstraat"}
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "way",
							 | 
						||
| 
								 | 
							
								                "id": 251446313,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2019-01-07T19:22:47Z",
							 | 
						||
| 
								 | 
							
								                "version": 4,
							 | 
						||
| 
								 | 
							
								                "changeset": 66106872,
							 | 
						||
| 
								 | 
							
								                "user": "M!dgard",
							 | 
						||
| 
								 | 
							
								                "uid": 763799,
							 | 
						||
| 
								 | 
							
								                "nodes": [1124134958, 5243143198, 4555715455],
							 | 
						||
| 
								 | 
							
								                "tags": {"foot": "yes", "highway": "service"}
							 | 
						||
| 
								 | 
							
								            }]
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    Utils.injectJsonDownloadForTests(
							 | 
						||
| 
								 | 
							
								        "https://www.openstreetmap.org/api/0.6/relation/9572808",
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            "version": "0.6",
							 | 
						||
| 
								 | 
							
								            "generator": "CGImap 0.8.5 (3128319 spike-07.openstreetmap.org)",
							 | 
						||
| 
								 | 
							
								            "copyright": "OpenStreetMap and contributors",
							 | 
						||
| 
								 | 
							
								            "attribution": "http://www.openstreetmap.org/copyright",
							 | 
						||
| 
								 | 
							
								            "license": "http://opendatacommons.org/licenses/odbl/1-0/",
							 | 
						||
| 
								 | 
							
								            "elements": [{
							 | 
						||
| 
								 | 
							
								                "type": "relation",
							 | 
						||
| 
								 | 
							
								                "id": 9572808,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2021-08-12T12:44:06Z",
							 | 
						||
| 
								 | 
							
								                "version": 11,
							 | 
						||
| 
								 | 
							
								                "changeset": 109573204,
							 | 
						||
| 
								 | 
							
								                "user": "A67-A67",
							 | 
						||
| 
								 | 
							
								                "uid": 553736,
							 | 
						||
| 
								 | 
							
								                "members": [{"type": "way", "ref": 173662702, "role": ""}, {
							 | 
						||
| 
								 | 
							
								                    "type": "way",
							 | 
						||
| 
								 | 
							
								                    "ref": 467606230,
							 | 
						||
| 
								 | 
							
								                    "role": ""
							 | 
						||
| 
								 | 
							
								                }, {"type": "way", "ref": 126267167, "role": ""}, {
							 | 
						||
| 
								 | 
							
								                    "type": "way",
							 | 
						||
| 
								 | 
							
								                    "ref": 301897426,
							 | 
						||
| 
								 | 
							
								                    "role": ""
							 | 
						||
| 
								 | 
							
								                }, {"type": "way", "ref": 687866206, "role": ""}, {
							 | 
						||
| 
								 | 
							
								                    "type": "way",
							 | 
						||
| 
								 | 
							
								                    "ref": 295132739,
							 | 
						||
| 
								 | 
							
								                    "role": ""
							 | 
						||
| 
								 | 
							
								                }, {"type": "way", "ref": 690497698, "role": ""}, {
							 | 
						||
| 
								 | 
							
								                    "type": "way",
							 | 
						||
| 
								 | 
							
								                    "ref": 627893684,
							 | 
						||
| 
								 | 
							
								                    "role": ""
							 | 
						||
| 
								 | 
							
								                }, {"type": "way", "ref": 295132741, "role": ""}, {
							 | 
						||
| 
								 | 
							
								                    "type": "way",
							 | 
						||
| 
								 | 
							
								                    "ref": 301903120,
							 | 
						||
| 
								 | 
							
								                    "role": ""
							 | 
						||
| 
								 | 
							
								                }, {"type": "way", "ref": 672541156, "role": ""}, {
							 | 
						||
| 
								 | 
							
								                    "type": "way",
							 | 
						||
| 
								 | 
							
								                    "ref": 126264330,
							 | 
						||
| 
								 | 
							
								                    "role": ""
							 | 
						||
| 
								 | 
							
								                }, {"type": "way", "ref": 280440853, "role": ""}, {
							 | 
						||
| 
								 | 
							
								                    "type": "way",
							 | 
						||
| 
								 | 
							
								                    "ref": 838499667,
							 | 
						||
| 
								 | 
							
								                    "role": ""
							 | 
						||
| 
								 | 
							
								                }, {"type": "way", "ref": 838499663, "role": ""}, {
							 | 
						||
| 
								 | 
							
								                    "type": "way",
							 | 
						||
| 
								 | 
							
								                    "ref": 690497623,
							 | 
						||
| 
								 | 
							
								                    "role": ""
							 | 
						||
| 
								 | 
							
								                }, {"type": "way", "ref": 301902946, "role": ""}, {
							 | 
						||
| 
								 | 
							
								                    "type": "way",
							 | 
						||
| 
								 | 
							
								                    "ref": 280460715,
							 | 
						||
| 
								 | 
							
								                    "role": ""
							 | 
						||
| 
								 | 
							
								                }, {"type": "way", "ref": 972534369, "role": ""}, {
							 | 
						||
| 
								 | 
							
								                    "type": "way",
							 | 
						||
| 
								 | 
							
								                    "ref": 695680702,
							 | 
						||
| 
								 | 
							
								                    "role": ""
							 | 
						||
| 
								 | 
							
								                }, {"type": "way", "ref": 690497860, "role": ""}, {
							 | 
						||
| 
								 | 
							
								                    "type": "way",
							 | 
						||
| 
								 | 
							
								                    "ref": 295410363,
							 | 
						||
| 
								 | 
							
								                    "role": ""
							 | 
						||
| 
								 | 
							
								                }, {"type": "way", "ref": 823864063, "role": ""}, {
							 | 
						||
| 
								 | 
							
								                    "type": "way",
							 | 
						||
| 
								 | 
							
								                    "ref": 663172088,
							 | 
						||
| 
								 | 
							
								                    "role": ""
							 | 
						||
| 
								 | 
							
								                }, {"type": "way", "ref": 659950322, "role": ""}, {
							 | 
						||
| 
								 | 
							
								                    "type": "way",
							 | 
						||
| 
								 | 
							
								                    "ref": 659950323,
							 | 
						||
| 
								 | 
							
								                    "role": ""
							 | 
						||
| 
								 | 
							
								                }, {"type": "way", "ref": 230180094, "role": ""}, {
							 | 
						||
| 
								 | 
							
								                    "type": "way",
							 | 
						||
| 
								 | 
							
								                    "ref": 690497912,
							 | 
						||
| 
								 | 
							
								                    "role": ""
							 | 
						||
| 
								 | 
							
								                }, {"type": "way", "ref": 39588765, "role": ""}],
							 | 
						||
| 
								 | 
							
								                "tags": {
							 | 
						||
| 
								 | 
							
								                    "distance": "13 km",
							 | 
						||
| 
								 | 
							
								                    "name": "Abdijenroute",
							 | 
						||
| 
								 | 
							
								                    "network": "lcn",
							 | 
						||
| 
								 | 
							
								                    "old_name": "Spoorlijn 58",
							 | 
						||
| 
								 | 
							
								                    "operator": "Toerisme West-Vlaanderen",
							 | 
						||
| 
								 | 
							
								                    "railway": "abandoned",
							 | 
						||
| 
								 | 
							
								                    "route": "bicycle",
							 | 
						||
| 
								 | 
							
								                    "type": "route",
							 | 
						||
| 
								 | 
							
								                    "wikipedia": "nl:Spoorlijn 58"
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }]
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    Utils.injectJsonDownloadForTests(
							 | 
						||
| 
								 | 
							
								        "https://www.openstreetmap.org/api/0.6/way/687866206/full",
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            "version": "0.6",
							 | 
						||
| 
								 | 
							
								            "generator": "CGImap 0.8.5 (2601512 spike-07.openstreetmap.org)",
							 | 
						||
| 
								 | 
							
								            "copyright": "OpenStreetMap and contributors",
							 | 
						||
| 
								 | 
							
								            "attribution": "http://www.openstreetmap.org/copyright",
							 | 
						||
| 
								 | 
							
								            "license": "http://opendatacommons.org/licenses/odbl/1-0/",
							 | 
						||
| 
								 | 
							
								            "elements": [{
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 5273988959,
							 | 
						||
| 
								 | 
							
								                "lat": 51.1811406,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2427712,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2021-07-29T21:14:53Z",
							 | 
						||
| 
								 | 
							
								                "version": 6,
							 | 
						||
| 
								 | 
							
								                "changeset": 108847202,
							 | 
						||
| 
								 | 
							
								                "user": "kaart_fietser",
							 | 
						||
| 
								 | 
							
								                "uid": 11022240,
							 | 
						||
| 
								 | 
							
								                "tags": {"network:type": "node_network", "rwn_ref": "32"}
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 6448669326,
							 | 
						||
| 
								 | 
							
								                "lat": 51.1811346,
							 | 
						||
| 
								 | 
							
								                "lon": 3.242891,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2019-05-04T22:44:12Z",
							 | 
						||
| 
								 | 
							
								                "version": 1,
							 | 
						||
| 
								 | 
							
								                "changeset": 69891295,
							 | 
						||
| 
								 | 
							
								                "user": "Pieter Vander Vennet",
							 | 
						||
| 
								 | 
							
								                "uid": 3818858,
							 | 
						||
| 
								 | 
							
								                "tags": {"barrier": "bollard"}
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "way",
							 | 
						||
| 
								 | 
							
								                "id": 687866206,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2019-05-06T20:52:20Z",
							 | 
						||
| 
								 | 
							
								                "version": 2,
							 | 
						||
| 
								 | 
							
								                "changeset": 69951497,
							 | 
						||
| 
								 | 
							
								                "user": "noelbov",
							 | 
						||
| 
								 | 
							
								                "uid": 8054928,
							 | 
						||
| 
								 | 
							
								                "nodes": [6448669326, 5273988959],
							 | 
						||
| 
								 | 
							
								                "tags": {
							 | 
						||
| 
								 | 
							
								                    "highway": "cycleway",
							 | 
						||
| 
								 | 
							
								                    "name": "Abdijenroute",
							 | 
						||
| 
								 | 
							
								                    "railway": "abandoned",
							 | 
						||
| 
								 | 
							
								                    "surface": "asphalt"
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }]
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    Utils.injectJsonDownloadForTests(
							 | 
						||
| 
								 | 
							
								        "https://www.openstreetmap.org/api/0.6/way/690497698/full",
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            "version": "0.6",
							 | 
						||
| 
								 | 
							
								            "generator": "CGImap 0.8.5 (3023311 spike-07.openstreetmap.org)",
							 | 
						||
| 
								 | 
							
								            "copyright": "OpenStreetMap and contributors",
							 | 
						||
| 
								 | 
							
								            "attribution": "http://www.openstreetmap.org/copyright",
							 | 
						||
| 
								 | 
							
								            "license": "http://opendatacommons.org/licenses/odbl/1-0/",
							 | 
						||
| 
								 | 
							
								            "elements": [{
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 170497152,
							 | 
						||
| 
								 | 
							
								                "lat": 51.1832353,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2498759,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2018-04-24T00:29:37Z",
							 | 
						||
| 
								 | 
							
								                "version": 7,
							 | 
						||
| 
								 | 
							
								                "changeset": 58357376,
							 | 
						||
| 
								 | 
							
								                "user": "Pieter Vander Vennet",
							 | 
						||
| 
								 | 
							
								                "uid": 3818858
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 2988218625,
							 | 
						||
| 
								 | 
							
								                "lat": 51.1835053,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2503067,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2018-09-24T21:48:46Z",
							 | 
						||
| 
								 | 
							
								                "version": 2,
							 | 
						||
| 
								 | 
							
								                "changeset": 62895918,
							 | 
						||
| 
								 | 
							
								                "user": "A67-A67",
							 | 
						||
| 
								 | 
							
								                "uid": 553736
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 5273988967,
							 | 
						||
| 
								 | 
							
								                "lat": 51.182659,
							 | 
						||
| 
								 | 
							
								                "lon": 3.249004,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2017-12-09T18:40:21Z",
							 | 
						||
| 
								 | 
							
								                "version": 1,
							 | 
						||
| 
								 | 
							
								                "changeset": 54493533,
							 | 
						||
| 
								 | 
							
								                "user": "CacherB",
							 | 
						||
| 
								 | 
							
								                "uid": 1999108
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "way",
							 | 
						||
| 
								 | 
							
								                "id": 690497698,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2021-07-29T21:14:53Z",
							 | 
						||
| 
								 | 
							
								                "version": 3,
							 | 
						||
| 
								 | 
							
								                "changeset": 108847202,
							 | 
						||
| 
								 | 
							
								                "user": "kaart_fietser",
							 | 
						||
| 
								 | 
							
								                "uid": 11022240,
							 | 
						||
| 
								 | 
							
								                "nodes": [2988218625, 170497152, 5273988967],
							 | 
						||
| 
								 | 
							
								                "tags": {
							 | 
						||
| 
								 | 
							
								                    "highway": "cycleway",
							 | 
						||
| 
								 | 
							
								                    "lit": "no",
							 | 
						||
| 
								 | 
							
								                    "name": "Abdijenroute",
							 | 
						||
| 
								 | 
							
								                    "oneway": "no",
							 | 
						||
| 
								 | 
							
								                    "railway": "abandoned",
							 | 
						||
| 
								 | 
							
								                    "surface": "compacted"
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }]
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								    Utils.injectJsonDownloadForTests(
							 | 
						||
| 
								 | 
							
								        "https://www.openstreetmap.org/api/0.6/relation/4374576",
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            "version": "0.6",
							 | 
						||
| 
								 | 
							
								            "generator": "CGImap 0.8.5 (1266692 spike-06.openstreetmap.org)",
							 | 
						||
| 
								 | 
							
								            "copyright": "OpenStreetMap and contributors",
							 | 
						||
| 
								 | 
							
								            "attribution": "http://www.openstreetmap.org/copyright",
							 | 
						||
| 
								 | 
							
								            "license": "http://opendatacommons.org/licenses/odbl/1-0/",
							 | 
						||
| 
								 | 
							
								            "elements": [{
							 | 
						||
| 
								 | 
							
								                "type": "relation",
							 | 
						||
| 
								 | 
							
								                "id": 4374576,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2014-12-23T21:42:27Z",
							 | 
						||
| 
								 | 
							
								                "version": 2,
							 | 
						||
| 
								 | 
							
								                "changeset": 27660623,
							 | 
						||
| 
								 | 
							
								                "user": "escada",
							 | 
						||
| 
								 | 
							
								                "uid": 436365,
							 | 
						||
| 
								 | 
							
								                "members": [{"type": "way", "ref": 318616190, "role": "from"}, {
							 | 
						||
| 
								 | 
							
								                    "type": "node",
							 | 
						||
| 
								 | 
							
								                    "ref": 1407529979,
							 | 
						||
| 
								 | 
							
								                    "role": "via"
							 | 
						||
| 
								 | 
							
								                }, {"type": "way", "ref": 143298912, "role": "to"}],
							 | 
						||
| 
								 | 
							
								                "tags": {"restriction": "no_right_turn", "type": "restriction"}
							 | 
						||
| 
								 | 
							
								            }]
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    Utils.injectJsonDownloadForTests(
							 | 
						||
| 
								 | 
							
								        "https://www.openstreetmap.org/api/0.6/way/143298912/full",
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            "version": "0.6",
							 | 
						||
| 
								 | 
							
								            "generator": "CGImap 0.8.5 (4046166 spike-07.openstreetmap.org)",
							 | 
						||
| 
								 | 
							
								            "copyright": "OpenStreetMap and contributors",
							 | 
						||
| 
								 | 
							
								            "attribution": "http://www.openstreetmap.org/copyright",
							 | 
						||
| 
								 | 
							
								            "license": "http://opendatacommons.org/licenses/odbl/1-0/",
							 | 
						||
| 
								 | 
							
								            "elements": [{
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 26343912,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2146847,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2397007,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2015-04-11T10:40:56Z",
							 | 
						||
| 
								 | 
							
								                "version": 5,
							 | 
						||
| 
								 | 
							
								                "changeset": 30139621,
							 | 
						||
| 
								 | 
							
								                "user": "M!dgard",
							 | 
						||
| 
								 | 
							
								                "uid": 763799
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 26343913,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2161912,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2386907,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2015-04-11T10:40:56Z",
							 | 
						||
| 
								 | 
							
								                "version": 6,
							 | 
						||
| 
								 | 
							
								                "changeset": 30139621,
							 | 
						||
| 
								 | 
							
								                "user": "M!dgard",
							 | 
						||
| 
								 | 
							
								                "uid": 763799
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 26343914,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2193456,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2360696,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2015-04-11T10:40:56Z",
							 | 
						||
| 
								 | 
							
								                "version": 5,
							 | 
						||
| 
								 | 
							
								                "changeset": 30139621,
							 | 
						||
| 
								 | 
							
								                "user": "M!dgard",
							 | 
						||
| 
								 | 
							
								                "uid": 763799
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 26343915,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2202816,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2352429,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2015-04-11T10:40:56Z",
							 | 
						||
| 
								 | 
							
								                "version": 5,
							 | 
						||
| 
								 | 
							
								                "changeset": 30139621,
							 | 
						||
| 
								 | 
							
								                "user": "M!dgard",
							 | 
						||
| 
								 | 
							
								                "uid": 763799
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 875668688,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2131868,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2406009,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2015-04-11T10:40:56Z",
							 | 
						||
| 
								 | 
							
								                "version": 4,
							 | 
						||
| 
								 | 
							
								                "changeset": 30139621,
							 | 
						||
| 
								 | 
							
								                "user": "M!dgard",
							 | 
						||
| 
								 | 
							
								                "uid": 763799
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 1109632153,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2207068,
							 | 
						||
| 
								 | 
							
								                "lon": 3.234882,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2015-04-11T10:40:55Z",
							 | 
						||
| 
								 | 
							
								                "version": 3,
							 | 
						||
| 
								 | 
							
								                "changeset": 30139621,
							 | 
						||
| 
								 | 
							
								                "user": "M!dgard",
							 | 
						||
| 
								 | 
							
								                "uid": 763799
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 1109632154,
							 | 
						||
| 
								 | 
							
								                "lat": 51.220784,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2348394,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2021-05-30T08:01:17Z",
							 | 
						||
| 
								 | 
							
								                "version": 4,
							 | 
						||
| 
								 | 
							
								                "changeset": 105557550,
							 | 
						||
| 
								 | 
							
								                "user": "albertino",
							 | 
						||
| 
								 | 
							
								                "uid": 499281
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 1109632177,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2205082,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2350441,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2015-04-11T10:40:55Z",
							 | 
						||
| 
								 | 
							
								                "version": 3,
							 | 
						||
| 
								 | 
							
								                "changeset": 30139621,
							 | 
						||
| 
								 | 
							
								                "user": "M!dgard",
							 | 
						||
| 
								 | 
							
								                "uid": 763799
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 1407529961,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2168476,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2381772,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2015-04-11T10:40:55Z",
							 | 
						||
| 
								 | 
							
								                "version": 2,
							 | 
						||
| 
								 | 
							
								                "changeset": 30139621,
							 | 
						||
| 
								 | 
							
								                "user": "M!dgard",
							 | 
						||
| 
								 | 
							
								                "uid": 763799
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 1407529969,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2155155,
							 | 
						||
| 
								 | 
							
								                "lon": 3.23917,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2011-08-21T20:08:27Z",
							 | 
						||
| 
								 | 
							
								                "version": 1,
							 | 
						||
| 
								 | 
							
								                "changeset": 9088257,
							 | 
						||
| 
								 | 
							
								                "user": "toeklk",
							 | 
						||
| 
								 | 
							
								                "uid": 219908
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 1407529979,
							 | 
						||
| 
								 | 
							
								                "lat": 51.212694,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2409595,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2015-04-11T10:40:55Z",
							 | 
						||
| 
								 | 
							
								                "version": 6,
							 | 
						||
| 
								 | 
							
								                "changeset": 30139621,
							 | 
						||
| 
								 | 
							
								                "user": "M!dgard",
							 | 
						||
| 
								 | 
							
								                "uid": 763799,
							 | 
						||
| 
								 | 
							
								                "tags": {"highway": "traffic_signals"}
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 1634435395,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2129189,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2408257,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2012-02-15T19:37:51Z",
							 | 
						||
| 
								 | 
							
								                "version": 1,
							 | 
						||
| 
								 | 
							
								                "changeset": 10695640,
							 | 
						||
| 
								 | 
							
								                "user": "Eimai",
							 | 
						||
| 
								 | 
							
								                "uid": 6072
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 1634435396,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2132508,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2405417,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2012-02-15T19:37:51Z",
							 | 
						||
| 
								 | 
							
								                "version": 1,
							 | 
						||
| 
								 | 
							
								                "changeset": 10695640,
							 | 
						||
| 
								 | 
							
								                "user": "Eimai",
							 | 
						||
| 
								 | 
							
								                "uid": 6072
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 1634435397,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2133918,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2404416,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2015-04-11T10:40:55Z",
							 | 
						||
| 
								 | 
							
								                "version": 2,
							 | 
						||
| 
								 | 
							
								                "changeset": 30139621,
							 | 
						||
| 
								 | 
							
								                "user": "M!dgard",
							 | 
						||
| 
								 | 
							
								                "uid": 763799
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 1974988033,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2127459,
							 | 
						||
| 
								 | 
							
								                "lon": 3.240928,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2012-10-20T12:24:13Z",
							 | 
						||
| 
								 | 
							
								                "version": 1,
							 | 
						||
| 
								 | 
							
								                "changeset": 13566903,
							 | 
						||
| 
								 | 
							
								                "user": "skyman81",
							 | 
						||
| 
								 | 
							
								                "uid": 955688
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 3250129361,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2127906,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2409016,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2018-12-19T00:00:33Z",
							 | 
						||
| 
								 | 
							
								                "version": 2,
							 | 
						||
| 
								 | 
							
								                "changeset": 65596519,
							 | 
						||
| 
								 | 
							
								                "user": "beardhatcode",
							 | 
						||
| 
								 | 
							
								                "uid": 5439560,
							 | 
						||
| 
								 | 
							
								                "tags": {"crossing": "traffic_signals", "highway": "crossing"}
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 3250129363,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2149189,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2395571,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2015-04-11T10:40:56Z",
							 | 
						||
| 
								 | 
							
								                "version": 2,
							 | 
						||
| 
								 | 
							
								                "changeset": 30139621,
							 | 
						||
| 
								 | 
							
								                "user": "M!dgard",
							 | 
						||
| 
								 | 
							
								                "uid": 763799
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 3450326133,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2139571,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2401205,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2015-04-11T10:40:26Z",
							 | 
						||
| 
								 | 
							
								                "version": 1,
							 | 
						||
| 
								 | 
							
								                "changeset": 30139621,
							 | 
						||
| 
								 | 
							
								                "user": "M!dgard",
							 | 
						||
| 
								 | 
							
								                "uid": 763799
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 3450326135,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2181385,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2370893,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2015-04-11T10:40:26Z",
							 | 
						||
| 
								 | 
							
								                "version": 1,
							 | 
						||
| 
								 | 
							
								                "changeset": 30139621,
							 | 
						||
| 
								 | 
							
								                "user": "M!dgard",
							 | 
						||
| 
								 | 
							
								                "uid": 763799
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 4794847239,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2191224,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2362584,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2019-08-27T23:07:05Z",
							 | 
						||
| 
								 | 
							
								                "version": 2,
							 | 
						||
| 
								 | 
							
								                "changeset": 73816461,
							 | 
						||
| 
								 | 
							
								                "user": "Pieter Vander Vennet",
							 | 
						||
| 
								 | 
							
								                "uid": 3818858
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 8493044168,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2130348,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2407284,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2021-03-06T21:52:51Z",
							 | 
						||
| 
								 | 
							
								                "version": 1,
							 | 
						||
| 
								 | 
							
								                "changeset": 100555232,
							 | 
						||
| 
								 | 
							
								                "user": "kaart_fietser",
							 | 
						||
| 
								 | 
							
								                "uid": 11022240,
							 | 
						||
| 
								 | 
							
								                "tags": {"highway": "traffic_signals", "traffic_signals": "traffic_lights"}
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "node",
							 | 
						||
| 
								 | 
							
								                "id": 8792687918,
							 | 
						||
| 
								 | 
							
								                "lat": 51.2207505,
							 | 
						||
| 
								 | 
							
								                "lon": 3.2348579,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2021-06-02T18:27:15Z",
							 | 
						||
| 
								 | 
							
								                "version": 1,
							 | 
						||
| 
								 | 
							
								                "changeset": 105735092,
							 | 
						||
| 
								 | 
							
								                "user": "albertino",
							 | 
						||
| 
								 | 
							
								                "uid": 499281
							 | 
						||
| 
								 | 
							
								            }, {
							 | 
						||
| 
								 | 
							
								                "type": "way",
							 | 
						||
| 
								 | 
							
								                "id": 143298912,
							 | 
						||
| 
								 | 
							
								                "timestamp": "2021-06-02T18:27:15Z",
							 | 
						||
| 
								 | 
							
								                "version": 15,
							 | 
						||
| 
								 | 
							
								                "changeset": 105735092,
							 | 
						||
| 
								 | 
							
								                "user": "albertino",
							 | 
						||
| 
								 | 
							
								                "uid": 499281,
							 | 
						||
| 
								 | 
							
								                "nodes": [1407529979, 1974988033, 3250129361, 1634435395, 8493044168, 875668688, 1634435396, 1634435397, 3450326133, 26343912, 3250129363, 1407529969, 26343913, 1407529961, 3450326135, 4794847239, 26343914, 26343915, 1109632177, 1109632153, 8792687918, 1109632154],
							 | 
						||
| 
								 | 
							
								                "tags": {
							 | 
						||
| 
								 | 
							
								                    "cycleway:right": "track",
							 | 
						||
| 
								 | 
							
								                    "highway": "primary",
							 | 
						||
| 
								 | 
							
								                    "lanes": "2",
							 | 
						||
| 
								 | 
							
								                    "lit": "yes",
							 | 
						||
| 
								 | 
							
								                    "maxspeed": "70",
							 | 
						||
| 
								 | 
							
								                    "name": "Buiten Kruisvest",
							 | 
						||
| 
								 | 
							
								                    "oneway": "yes",
							 | 
						||
| 
								 | 
							
								                    "ref": "R30",
							 | 
						||
| 
								 | 
							
								                    "surface": "asphalt",
							 | 
						||
| 
								 | 
							
								                    "wikipedia": "nl:Buiten Kruisvest"
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }]
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    it("should split all cycling relation (split 295132739)",
							 | 
						||
| 
								 | 
							
								        async () => {
							 | 
						||
| 
								 | 
							
								            // Lets mimick a split action of https://www.openstreetmap.org/way/295132739
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            const relation: OsmRelation = <OsmRelation>await OsmObject.DownloadObjectAsync("relation/9572808")
							 | 
						||
| 
								 | 
							
								            const originalNodeIds = [5273988967,
							 | 
						||
| 
								 | 
							
								                170497153,
							 | 
						||
| 
								 | 
							
								                1507524582,
							 | 
						||
| 
								 | 
							
								                4524321710,
							 | 
						||
| 
								 | 
							
								                170497155,
							 | 
						||
| 
								 | 
							
								                170497157,
							 | 
						||
| 
								 | 
							
								                170497158,
							 | 
						||
| 
								 | 
							
								                3208166179,
							 | 
						||
| 
								 | 
							
								                1507524610,
							 | 
						||
| 
								 | 
							
								                170497160,
							 | 
						||
| 
								 | 
							
								                3208166178,
							 | 
						||
| 
								 | 
							
								                1507524573,
							 | 
						||
| 
								 | 
							
								                1575932830,
							 | 
						||
| 
								 | 
							
								                6448669326]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            const withSplit = [[5273988967,
							 | 
						||
| 
								 | 
							
								                170497153,
							 | 
						||
| 
								 | 
							
								                1507524582,
							 | 
						||
| 
								 | 
							
								                4524321710,
							 | 
						||
| 
								 | 
							
								                170497155,
							 | 
						||
| 
								 | 
							
								                170497157,
							 | 
						||
| 
								 | 
							
								                170497158],
							 | 
						||
| 
								 | 
							
								                [
							 | 
						||
| 
								 | 
							
								                    3208166179,
							 | 
						||
| 
								 | 
							
								                    1507524610,
							 | 
						||
| 
								 | 
							
								                    170497160,
							 | 
						||
| 
								 | 
							
								                    3208166178,
							 | 
						||
| 
								 | 
							
								                    1507524573,
							 | 
						||
| 
								 | 
							
								                    1575932830,
							 | 
						||
| 
								 | 
							
								                    6448669326]]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            const splitter = new InPlaceReplacedmentRTSH(
							 | 
						||
| 
								 | 
							
								                {
							 | 
						||
| 
								 | 
							
								                    relation: relation,
							 | 
						||
| 
								 | 
							
								                    originalWayId: 295132739,
							 | 
						||
| 
								 | 
							
								                    allWayIdsInOrder: [295132739, -1],
							 | 
						||
| 
								 | 
							
								                    originalNodes: originalNodeIds,
							 | 
						||
| 
								 | 
							
								                    allWaysNodesInOrder: withSplit
							 | 
						||
| 
								 | 
							
								                }, "no-theme")
							 | 
						||
| 
								 | 
							
								            const changeDescription = await splitter.CreateChangeDescriptions(new Changes())
							 | 
						||
| 
								 | 
							
								            const allIds = changeDescription[0].changes["members"].map(m => m.ref).join(",")
							 | 
						||
| 
								 | 
							
								            const expected = "687866206,295132739,-1,690497698"
							 | 
						||
| 
								 | 
							
								            expect(allIds.indexOf(expected) >= 0, "didn't find the expected order of ids in the relation to test").true
							 | 
						||
| 
								 | 
							
								        })
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    it(
							 | 
						||
| 
								 | 
							
								        "should split turn restrictions (split of https://www.openstreetmap.org/way/143298912)",
							 | 
						||
| 
								 | 
							
								        async () => {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            const relation: OsmRelation = <OsmRelation>await OsmObject.DownloadObjectAsync("relation/4374576")
							 | 
						||
| 
								 | 
							
								            const originalNodeIds =
							 | 
						||
| 
								 | 
							
								                [
							 | 
						||
| 
								 | 
							
								                    1407529979,
							 | 
						||
| 
								 | 
							
								                    1974988033,
							 | 
						||
| 
								 | 
							
								                    3250129361,
							 | 
						||
| 
								 | 
							
								                    1634435395,
							 | 
						||
| 
								 | 
							
								                    8493044168,
							 | 
						||
| 
								 | 
							
								                    875668688,
							 | 
						||
| 
								 | 
							
								                    1634435396,
							 | 
						||
| 
								 | 
							
								                    1634435397,
							 | 
						||
| 
								 | 
							
								                    3450326133,
							 | 
						||
| 
								 | 
							
								                    26343912,
							 | 
						||
| 
								 | 
							
								                    3250129363,
							 | 
						||
| 
								 | 
							
								                    1407529969,
							 | 
						||
| 
								 | 
							
								                    26343913,
							 | 
						||
| 
								 | 
							
								                    1407529961,
							 | 
						||
| 
								 | 
							
								                    3450326135,
							 | 
						||
| 
								 | 
							
								                    4794847239,
							 | 
						||
| 
								 | 
							
								                    26343914,
							 | 
						||
| 
								 | 
							
								                    26343915,
							 | 
						||
| 
								 | 
							
								                    1109632177,
							 | 
						||
| 
								 | 
							
								                    1109632153,
							 | 
						||
| 
								 | 
							
								                    8792687918,
							 | 
						||
| 
								 | 
							
								                    1109632154
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                ]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            const withSplit = [[
							 | 
						||
| 
								 | 
							
								                1407529979, // The via point
							 | 
						||
| 
								 | 
							
								                1974988033,
							 | 
						||
| 
								 | 
							
								                3250129361,
							 | 
						||
| 
								 | 
							
								                1634435395,
							 | 
						||
| 
								 | 
							
								                8493044168,
							 | 
						||
| 
								 | 
							
								                875668688,
							 | 
						||
| 
								 | 
							
								                1634435396,
							 | 
						||
| 
								 | 
							
								                1634435397,
							 | 
						||
| 
								 | 
							
								                3450326133,
							 | 
						||
| 
								 | 
							
								                26343912,
							 | 
						||
| 
								 | 
							
								                3250129363,
							 | 
						||
| 
								 | 
							
								                1407529969,
							 | 
						||
| 
								 | 
							
								                26343913],
							 | 
						||
| 
								 | 
							
								                [
							 | 
						||
| 
								 | 
							
								                    1407529961,
							 | 
						||
| 
								 | 
							
								                    3450326135,
							 | 
						||
| 
								 | 
							
								                    4794847239,
							 | 
						||
| 
								 | 
							
								                    26343914,
							 | 
						||
| 
								 | 
							
								                    26343915,
							 | 
						||
| 
								 | 
							
								                    1109632177,
							 | 
						||
| 
								 | 
							
								                    1109632153,
							 | 
						||
| 
								 | 
							
								                    8792687918,
							 | 
						||
| 
								 | 
							
								                    1109632154
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                ]]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            const splitter = new TurnRestrictionRSH(
							 | 
						||
| 
								 | 
							
								                {
							 | 
						||
| 
								 | 
							
								                    relation: relation,
							 | 
						||
| 
								 | 
							
								                    originalWayId: 143298912,
							 | 
						||
| 
								 | 
							
								                    allWayIdsInOrder: [-1, 143298912],
							 | 
						||
| 
								 | 
							
								                    originalNodes: originalNodeIds,
							 | 
						||
| 
								 | 
							
								                    allWaysNodesInOrder: withSplit
							 | 
						||
| 
								 | 
							
								                }, "no-theme")
							 | 
						||
| 
								 | 
							
								            const changeDescription = await splitter.CreateChangeDescriptions(new Changes())
							 | 
						||
| 
								 | 
							
								            const allIds = changeDescription[0].changes["members"].map(m => m.type + "/" + m.ref + "-->" + m.role).join(",")
							 | 
						||
| 
								 | 
							
								            const expected = "way/318616190-->from,node/1407529979-->via,way/-1-->to"
							 | 
						||
| 
								 | 
							
								            expect(allIds).deep.equal(expected)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            // Reversing the ids has no effect
							 | 
						||
| 
								 | 
							
								            const splitterReverse = new TurnRestrictionRSH(
							 | 
						||
| 
								 | 
							
								                {
							 | 
						||
| 
								 | 
							
								                    relation: relation,
							 | 
						||
| 
								 | 
							
								                    originalWayId: 143298912,
							 | 
						||
| 
								 | 
							
								                    allWayIdsInOrder: [143298912, -1],
							 | 
						||
| 
								 | 
							
								                    originalNodes: originalNodeIds,
							 | 
						||
| 
								 | 
							
								                    allWaysNodesInOrder: withSplit
							 | 
						||
| 
								 | 
							
								                }, "no-theme")
							 | 
						||
| 
								 | 
							
								            const changesReverse = await splitterReverse.CreateChangeDescriptions(new Changes())
							 | 
						||
| 
								 | 
							
								            expect(changesReverse.length).deep.equal(0)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    )
							 | 
						||
| 
								 | 
							
								})
							 |