Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
eclipse
GitHub Repository: eclipse/sumo
Path: blob/main/tests/netedit/network/junctions/delete/test.py
169689 views
1
#!/usr/bin/env python
2
# Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3
# Copyright (C) 2009-2025 German Aerospace Center (DLR) and others.
4
# This program and the accompanying materials are made available under the
5
# terms of the Eclipse Public License 2.0 which is available at
6
# https://www.eclipse.org/legal/epl-2.0/
7
# This Source Code may also be made available under the following Secondary
8
# Licenses when the conditions for such availability set forth in the Eclipse
9
# Public License 2.0 are satisfied: GNU General Public License, version 2
10
# or later which is available at
11
# https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12
# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13
14
# @file test.py
15
# @author Pablo Alvarez Lopez
16
# @date 2016-11-25
17
18
# import common functions for netedit tests
19
import os
20
import sys
21
22
sys.path.append(os.path.join(os.environ.get("SUMO_HOME", "."), "tools"))
23
import neteditTestFunctions as netedit # noqa
24
25
# Open netedit
26
neteditProcess, referencePosition = netedit.setupAndStart()
27
28
# Change to create edge mode
29
netedit.changeMode("createEdge")
30
31
# select two-way mode
32
netedit.changeEditMode(netedit.attrs.modes.network.twoWayMode)
33
34
# create a complex intersection
35
netedit.leftClick(referencePosition, netedit.positions.network.junction.positionA)
36
netedit.leftClick(referencePosition, netedit.positions.network.junction.cross.center)
37
38
netedit.leftClick(referencePosition, netedit.positions.network.junction.positionB)
39
netedit.leftClick(referencePosition, netedit.positions.network.junction.cross.center)
40
41
netedit.leftClick(referencePosition, netedit.positions.network.junction.positionC)
42
netedit.leftClick(referencePosition, netedit.positions.network.junction.cross.center)
43
44
netedit.leftClick(referencePosition, netedit.positions.network.junction.positionD)
45
netedit.leftClick(referencePosition, netedit.positions.network.junction.cross.center)
46
47
# rebuild network
48
netedit.computeJunctions()
49
50
# Change to delete mode
51
netedit.changeMode("delete")
52
53
# disable "protect elements"
54
netedit.protectElements()
55
56
# remove center edge
57
netedit.leftClick(referencePosition, netedit.positions.network.junction.cross.center)
58
59
# rebuild network
60
netedit.computeJunctions()
61
62
# Check undo
63
netedit.undo(referencePosition, 1)
64
65
# rebuild network
66
netedit.computeJunctions()
67
68
# Change to delete mode
69
netedit.changeMode("delete")
70
71
# remove all junctions
72
netedit.leftClick(referencePosition, netedit.positions.network.junction.cross.center)
73
netedit.leftClick(referencePosition, netedit.positions.network.junction.positionA_2)
74
netedit.leftClick(referencePosition, netedit.positions.network.junction.positionB_2)
75
netedit.leftClick(referencePosition, netedit.positions.network.junction.positionC_2)
76
netedit.leftClick(referencePosition, netedit.positions.network.junction.positionD_2)
77
78
# rebuild network
79
netedit.computeJunctions()
80
81
# Check undo
82
netedit.undo(referencePosition, 9)
83
84
# rebuild network
85
netedit.computeJunctions()
86
87
# Check redo
88
netedit.redo(referencePosition, 9)
89
90
# save Netedit config
91
netedit.saveExistentFile("neteditConfig")
92
93
# quit netedit
94
netedit.quit(neteditProcess)
95
96