Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
eclipse
GitHub Repository: eclipse/sumo
Path: blob/main/tools/neteditTestFunctions/frames/edit/parameters.py
169686 views
1
# -*- coding: utf-8 -*-
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 parameters.py
15
# @author Pablo Alvarez Lopez
16
# @date 28-05-25
17
18
# imports
19
from ...frames.edit.basicAttribute import modifyAttribute, modifyAttributeOverlapped
20
from ...general.undoRedo import checkUndoRedo
21
22
23
def checkParameters(referencePosition, attributeIndex, offsetX=0, offsetY=0):
24
"""
25
@brief Check generic parameters
26
"""
27
# Change generic parameters with an invalid value (dummy)
28
modifyAttribute(attributeIndex, "dummyGenericParameters")
29
# Change generic parameters with an invalid value (invalid format)
30
modifyAttribute(attributeIndex, "key1|key2|key3")
31
# Change generic parameters with a valid value
32
modifyAttribute(attributeIndex, "key1=value1|key2=value2|key3=value3")
33
# Change generic parameters with a valid value (empty values)
34
modifyAttribute(attributeIndex, "key1=|key2=|key3=")
35
# Change generic parameters with a valid value (clear parameters)
36
modifyAttribute(attributeIndex, "")
37
# Change generic parameters with an valid value (duplicated keys)
38
modifyAttribute(attributeIndex, "key1duplicated=value1|key1duplicated=value2|key3=value3")
39
# Change generic parameters with a valid value (duplicated values)
40
modifyAttribute(attributeIndex, "key1=valueDuplicated|key2=valueDuplicated|key3=valueDuplicated")
41
# Change generic parameters with an invalid value (invalid key characters)
42
modifyAttribute(attributeIndex, "keyInvalid.;%>%$$=value1|key2=value2|key3=value3")
43
# Change generic parameters with a invalid value (invalid value characters)
44
modifyAttribute(attributeIndex, "key1=valueInvalid%;%$<>$$%|key2=value2|key3=value3")
45
# Change generic parameters with a valid value
46
modifyAttribute(attributeIndex, "keyFinal1=value1|keyFinal2=value2|keyFinal3=value3")
47
# Check undoRedo
48
checkUndoRedo(referencePosition, offsetX, offsetY)
49
50
51
def checkParametersOverlapped(referencePosition, attributeIndex, offsetX=0, offsetY=0):
52
"""
53
@brief Check generic parameters
54
"""
55
# Change generic parameters with an invalid value (dummy)
56
modifyAttributeOverlapped(attributeIndex, "dummyGenericParameters")
57
# Change generic parameters with an invalid value (invalid format)
58
modifyAttributeOverlapped(attributeIndex, "key1|key2|key3")
59
# Change generic parameters with a valid value
60
modifyAttributeOverlapped(attributeIndex, "key1=value1|key2=value2|key3=value3")
61
# Change generic parameters with a valid value (empty values)
62
modifyAttributeOverlapped(attributeIndex, "key1=|key2=|key3=")
63
# Change generic parameters with a valid value (clear parameters)
64
modifyAttributeOverlapped(attributeIndex, "")
65
# Change generic parameters with an valid value (duplicated keys)
66
modifyAttributeOverlapped(attributeIndex, "key1duplicated=value1|key1duplicated=value2|key3=value3")
67
# Change generic parameters with a valid value (duplicated values)
68
modifyAttributeOverlapped(attributeIndex, "key1=valueDuplicated|key2=valueDuplicated|key3=valueDuplicated")
69
# Change generic parameters with an invalid value (invalid key characters)
70
modifyAttributeOverlapped(attributeIndex, "keyInvalid.;%>%$$=value1|key2=value2|key3=value3")
71
# Change generic parameters with a invalid value (invalid value characters)
72
modifyAttributeOverlapped(attributeIndex, "key1=valueInvalid%;%$<>$$%|key2=value2|key3=value3")
73
# Change generic parameters with a valid value
74
modifyAttributeOverlapped(attributeIndex, "keyFinal1=value1|keyFinal2=value2|keyFinal3=value3")
75
# Check undoRedo
76
checkUndoRedo(referencePosition, offsetX, offsetY)
77
78
79
def checkDoubleParameters(referencePosition, attributeIndex, offsetX=0, offsetY=0):
80
"""
81
@brief Check generic parameters (doubles)
82
"""
83
# Change generic parameters with an invalid value (dummy)
84
modifyAttribute(attributeIndex, "dummyGenericParameters")
85
# Change generic parameters with an invalid value (invalid format)
86
modifyAttribute(attributeIndex, "key1|key2|key3")
87
# Change generic parameters with a valid value
88
modifyAttribute(attributeIndex, "key1=1|key2=2|key3=3")
89
# Change generic parameters with a valid value (empty values)
90
modifyAttribute(attributeIndex, "key1=|key2=|key3=")
91
# Change generic parameters with a valid value (clear parameters)
92
modifyAttribute(attributeIndex, "")
93
# Change generic parameters with an valid value (duplicated keys)
94
modifyAttribute(attributeIndex, "key1duplicated=1|key1duplicated=2|key3=3")
95
# Change generic parameters with a valid value (duplicated values)
96
modifyAttribute(attributeIndex, "key1=valueDuplicated|key2=valueDuplicated|key3=valueDuplicated")
97
# Change generic parameters with an invalid value (invalid key characters)
98
modifyAttribute(attributeIndex, "keyInvalid.;%>%$$=1|key2=2|key3=3")
99
# Change generic parameters with a invalid value (invalid value characters)
100
modifyAttribute(attributeIndex, "key1=valueInvalid%;%$<>$$%|key2=2|key3=3")
101
# Change generic parameters with a valid value
102
modifyAttribute(attributeIndex, "keyFinal1=1|keyFinal2=2|keyFinal3=3")
103
# Check undoRedo
104
checkUndoRedo(referencePosition, offsetX, offsetY + 30)
105
106
107
def checkDoubleParametersOverlapped(referencePosition, attributeIndex, offsetX=0, offsetY=0):
108
"""
109
@brief Check generic parameters (doubles)
110
"""
111
# Change generic parameters with an invalid value (dummy)
112
modifyAttributeOverlapped(attributeIndex, "dummyGenericParameters")
113
# Change generic parameters with an invalid value (invalid format)
114
modifyAttributeOverlapped(attributeIndex, "key1|key2|key3")
115
# Change generic parameters with a valid value
116
modifyAttributeOverlapped(attributeIndex, "key1=1|key2=2|key3=3")
117
# Change generic parameters with a valid value (empty values)
118
modifyAttributeOverlapped(attributeIndex, "key1=|key2=|key3=")
119
# Change generic parameters with a valid value (clear parameters)
120
modifyAttributeOverlapped(attributeIndex, "")
121
# Change generic parameters with an valid value (duplicated keys)
122
modifyAttributeOverlapped(attributeIndex, "key1duplicated=1|key1duplicated=2|key3=3")
123
# Change generic parameters with a valid value (duplicated values)
124
modifyAttributeOverlapped(attributeIndex, "key1=valueDuplicated|key2=valueDuplicated|key3=valueDuplicated")
125
# Change generic parameters with an invalid value (invalid key characters)
126
modifyAttributeOverlapped(attributeIndex, "keyInvalid.;%>%$$=1|key2=2|key3=3")
127
# Change generic parameters with a invalid value (invalid value characters)
128
modifyAttributeOverlapped(attributeIndex, "key1=valueInvalid%;%$<>$$%|key2=2|key3=3")
129
# Change generic parameters with a valid value
130
modifyAttributeOverlapped(attributeIndex, "keyFinal1=1|keyFinal2=2|keyFinal3=3")
131
# Check undoRedo
132
checkUndoRedo(referencePosition, offsetX, offsetY + 30)
133
134