Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
eclipse
GitHub Repository: eclipse/sumo
Path: blob/main/tests/netedit/elements/demands/route/create/consecutive/repeat/test.py
169783 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 2019-07-16
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
# go to demand mode
29
netedit.changeSupermode("demand")
30
31
# go to route mode
32
netedit.changeMode("route")
33
34
# change to non consecutive mode
35
netedit.changeElement("routeFrame", "non consecutive edges")
36
37
# set valid vclass
38
netedit.modifyAttribute(netedit.attrs.route.create.vClass, "bus")
39
40
# set invalid repeat
41
netedit.modifyAttribute(netedit.attrs.route.create.repeat, "dummyrepeat")
42
43
# try to create route using three edges
44
netedit.leftClick(referencePosition, netedit.positions.elements.edge0)
45
netedit.leftClick(referencePosition, netedit.positions.elements.edge1)
46
netedit.leftClick(referencePosition, netedit.positions.elements.edge2)
47
netedit.leftClick(referencePosition, netedit.positions.elements.edgeBike0)
48
netedit.leftClick(referencePosition, netedit.positions.elements.edgeCenter0)
49
netedit.leftClick(referencePosition, netedit.positions.elements.edgeCenter1)
50
netedit.leftClick(referencePosition, netedit.positions.elements.edgeBike1)
51
netedit.leftClick(referencePosition, netedit.positions.elements.edge3)
52
netedit.leftClick(referencePosition, netedit.positions.elements.edge4)
53
netedit.leftClick(referencePosition, netedit.positions.elements.edge5)
54
55
# press enter to try to create route
56
netedit.typeKey("enter")
57
58
# set valid repeat
59
netedit.modifyAttribute(netedit.attrs.route.create.repeat, "15.6")
60
61
# press enter to create route
62
netedit.typeKey("enter")
63
64
# set valid repeat
65
netedit.modifyAttribute(netedit.attrs.route.create.repeat, "13")
66
67
# press enter to create route
68
netedit.typeKey("enter")
69
70
# Check undo redo
71
netedit.checkUndoRedo(referencePosition)
72
73
# save Netedit config
74
netedit.saveExistentFile("neteditConfig")
75
76
# quit netedit
77
netedit.quit(neteditProcess)
78
79