Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
eclipse
GitHub Repository: eclipse/sumo
Path: blob/main/tests/netedit/elements/demands/flow_junctions/create/endnumber/test.py
169777 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 vehicle mode
32
netedit.changeMode("vehicle")
33
34
# select flow with embedded route
35
netedit.changeElement("vehicleFrame", "flow (from-to junctions)")
36
37
# set invalid arrival pos
38
netedit.modifyAttribute(netedit.attrs.flowJunction.create.terminate, "dummyTerminate")
39
40
# try to create flow with embedded route
41
netedit.leftClick(referencePosition, netedit.positions.elements.junction0)
42
netedit.leftClick(referencePosition, netedit.positions.elements.junction3)
43
44
# press enter to create flow with embedded route
45
netedit.typeKey("enter")
46
47
# set invalid arrival pos
48
netedit.modifyAttribute(netedit.attrs.flowJunction.create.terminate, "end-number")
49
50
# press enter to create flow with embedded route
51
netedit.typeKey("enter")
52
53
# set valid arrival pos
54
netedit.modifyAttribute(netedit.attrs.flowJunction.create.end, "dummy")
55
56
# create flow with embedded route
57
netedit.leftClick(referencePosition, netedit.positions.elements.junction0)
58
netedit.leftClick(referencePosition, netedit.positions.elements.junction3)
59
60
# press enter to create flow with embedded route
61
netedit.typeKey("enter")
62
63
# set valid arrival pos
64
netedit.modifyAttribute(netedit.attrs.flowJunction.create.end, "-30")
65
66
# press enter to create flow with embedded route
67
netedit.typeKey("enter")
68
69
# set valid arrival pos
70
netedit.modifyAttribute(netedit.attrs.flowJunction.create.end, "20.5")
71
72
# press enter to create flow with embedded route
73
netedit.typeKey("enter")
74
75
# create flow with embedded route
76
netedit.leftClick(referencePosition, netedit.positions.elements.junction0)
77
netedit.leftClick(referencePosition, netedit.positions.elements.junction3)
78
79
# set valid arrival pos
80
netedit.modifyAttribute(netedit.attrs.flowJunction.create.end, "22")
81
82
# press enter to create flow with embedded route
83
netedit.typeKey("enter")
84
85
# set valid arrival pos
86
netedit.modifyAttribute(netedit.attrs.flowJunction.create.number, "dummy")
87
88
# create flow with embedded route
89
netedit.leftClick(referencePosition, netedit.positions.elements.junction0)
90
netedit.leftClick(referencePosition, netedit.positions.elements.junction3)
91
92
# press enter to create flow with embedded route
93
netedit.typeKey("enter")
94
95
# set valid arrival pos
96
netedit.modifyAttribute(netedit.attrs.flowJunction.create.number, "-30")
97
98
# press enter to create flow with embedded route
99
netedit.typeKey("enter")
100
101
# set valid arrival pos
102
netedit.modifyAttribute(netedit.attrs.flowJunction.create.number, "20.5")
103
104
# press enter to create flow with embedded route
105
netedit.typeKey("enter")
106
107
# set valid arrival pos
108
netedit.modifyAttribute(netedit.attrs.flowJunction.create.number, "51")
109
110
# press enter to create flow with embedded route
111
netedit.typeKey("enter")
112
113
# Check undo redo
114
netedit.checkUndoRedo(referencePosition)
115
116
# save Netedit config
117
netedit.saveExistentFile("neteditConfig")
118
119
# quit netedit
120
netedit.quit(neteditProcess)
121
122