armodel 1.7.9__py3-none-any.whl → 1.8.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- armodel/cli/arxml_format_cli.py +1 -0
- armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +50 -12
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +14 -14
- armodel/models/M2/AUTOSARTemplates/CommonStructure/FlatMap.py +2 -3
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +1 -1
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +36 -34
- armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +1 -1
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +4 -4
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +3 -3
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +5 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionOrderConstraint.py +3 -3
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingExtensions.py +3 -3
- armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +86 -9
- armodel/models/M2/AUTOSARTemplates/ECUCParameterDefTemplate.py +1249 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py +13 -10
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +238 -225
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ArObject.py +5 -4
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +46 -25
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +38 -3
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +18 -20
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +23 -19
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +4 -4
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +71 -27
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +27 -17
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +172 -128
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +11 -10
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +11 -11
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +16 -10
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +2 -2
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +6 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/RteEventToOsTaskMapping.py +35 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +25 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/SecureCommunication.py +83 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +90 -38
- armodel/models/M2/MSR/AsamHdo/AdminData.py +101 -8
- armodel/models/__init__.py +2 -0
- armodel/models/utils/__init__.py +0 -0
- armodel/models/utils/uuid_mgr.py +23 -0
- armodel/parser/abstract_arxml_parser.py +13 -5
- armodel/parser/arxml_parser.py +412 -85
- armodel/tests/test_armodel/models/test_ECUCParameterDefTemplate.py +116 -0
- armodel/tests/test_armodel/models/test_Identifiable.py +85 -0
- armodel/tests/test_armodel/models/test_ar_object.py +85 -86
- armodel/tests/test_armodel/models/test_ar_package.py +70 -70
- armodel/tests/test_armodel/models/test_ar_ref.py +36 -36
- armodel/tests/test_armodel/models/test_common_structure.py +37 -35
- armodel/tests/test_armodel/models/test_datatype.py +140 -142
- armodel/tests/test_armodel/models/test_general_structure.py +19 -18
- armodel/tests/test_armodel/models/test_port_interface.py +2 -6
- armodel/tests/test_armodel/parser/test_arxml_parser.py +8 -8
- armodel/writer/abstract_arxml_writer.py +6 -2
- armodel/writer/arxml_writer.py +414 -57
- {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/METADATA +31 -1
- {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/RECORD +58 -51
- {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/LICENSE +0 -0
- {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/WHEEL +0 -0
- {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/entry_points.txt +0 -0
- {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/top_level.txt +0 -0
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
import pytest
|
|
2
2
|
|
|
3
|
-
from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import ApplicationArrayDataType, ApplicationCompositeDataType, ApplicationDataType, ApplicationPrimitiveDataType, ApplicationRecordDataType, AutosarDataType, DataTypeMap
|
|
4
|
-
|
|
5
|
-
from ....models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpType
|
|
6
|
-
|
|
7
3
|
from ....models.M2.MSR.AsamHdo.BaseTypes import BaseType, BaseTypeDirectDefinition
|
|
8
|
-
|
|
4
|
+
from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import ApplicationArrayDataType, ApplicationCompositeDataType
|
|
5
|
+
from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import ApplicationDataType, ApplicationPrimitiveDataType
|
|
6
|
+
from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import ApplicationRecordDataType, AutosarDataType, DataTypeMap
|
|
7
|
+
from ....models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpType
|
|
9
8
|
from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import PackageableElement
|
|
10
|
-
|
|
11
9
|
from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import CollectableElement
|
|
12
|
-
|
|
13
10
|
from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, MultilanguageReferrable, Referrable
|
|
14
|
-
|
|
15
11
|
from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
16
|
-
|
|
17
|
-
from ....models.M2.AUTOSARTemplates.CommonStructure.ImplementationDataTypes import
|
|
12
|
+
from ....models.M2.AUTOSARTemplates.CommonStructure.ImplementationDataTypes import AbstractImplementationDataType, ImplementationDataType
|
|
13
|
+
from ....models.M2.AUTOSARTemplates.CommonStructure.ImplementationDataTypes import ImplementationDataTypeElement
|
|
18
14
|
from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Components import SymbolProps
|
|
19
15
|
from ....models.M2.AUTOSARTemplates.CommonStructure.Implementation import ImplementationProps
|
|
20
16
|
from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import ApplicationRecordElement
|
|
@@ -22,27 +18,30 @@ from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes impor
|
|
|
22
18
|
from ....models.M2.MSR.AsamHdo.BaseTypes import SwBaseType
|
|
23
19
|
from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
|
|
24
20
|
from .... import AUTOSAR
|
|
21
|
+
|
|
22
|
+
|
|
25
23
|
class Test_M2_AUTOSARTemplates_CommonStructure_Implementation:
|
|
26
24
|
def test_ImplementationProps(self):
|
|
27
25
|
with pytest.raises(NotImplementedError) as err:
|
|
28
26
|
document = AUTOSAR.getInstance()
|
|
29
27
|
ar_root = document.createARPackage("AUTOSAR")
|
|
30
28
|
ImplementationProps(ar_root, "ImplementationProps")
|
|
31
|
-
assert(str(err.value) == "ImplementationProps is an abstract class.")
|
|
29
|
+
assert (str(err.value) == "ImplementationProps is an abstract class.")
|
|
32
30
|
|
|
33
31
|
def test_SymbolProps(self):
|
|
34
32
|
document = AUTOSAR.getInstance()
|
|
35
33
|
ar_root = document.createARPackage("AUTOSAR")
|
|
36
34
|
prototype = SymbolProps(ar_root, "SymbolProps")
|
|
37
35
|
|
|
38
|
-
assert(isinstance(prototype, ARObject))
|
|
39
|
-
assert(isinstance(prototype, ImplementationProps))
|
|
40
|
-
assert(isinstance(prototype, Referrable))
|
|
41
|
-
assert(isinstance(prototype, SymbolProps))
|
|
36
|
+
assert (isinstance(prototype, ARObject))
|
|
37
|
+
assert (isinstance(prototype, ImplementationProps))
|
|
38
|
+
assert (isinstance(prototype, Referrable))
|
|
39
|
+
assert (isinstance(prototype, SymbolProps))
|
|
40
|
+
|
|
41
|
+
assert (prototype.parent == ar_root)
|
|
42
|
+
assert (prototype.short_name == "SymbolProps")
|
|
43
|
+
assert (prototype.symbol is None)
|
|
42
44
|
|
|
43
|
-
assert(prototype.parent == ar_root)
|
|
44
|
-
assert(prototype.short_name == "SymbolProps")
|
|
45
|
-
assert(prototype.symbol == None)
|
|
46
45
|
|
|
47
46
|
class Test_M2_MSR_AsamHdo_BaseTypes:
|
|
48
47
|
def test_BaseType(self):
|
|
@@ -50,164 +49,164 @@ class Test_M2_MSR_AsamHdo_BaseTypes:
|
|
|
50
49
|
document = AUTOSAR.getInstance()
|
|
51
50
|
ar_root = document.createARPackage("AUTOSAR")
|
|
52
51
|
BaseType(ar_root, "BaseType")
|
|
53
|
-
assert(str(err.value) == "BaseType is an abstract class.")
|
|
52
|
+
assert (str(err.value) == "BaseType is an abstract class.")
|
|
54
53
|
|
|
55
54
|
def test_SwBaseType(self):
|
|
56
55
|
document = AUTOSAR.getInstance()
|
|
57
56
|
ar_root = document.createARPackage("AUTOSAR")
|
|
58
57
|
base_type = SwBaseType(ar_root, "SwBaseType")
|
|
59
58
|
|
|
60
|
-
assert(isinstance(base_type, ARElement))
|
|
61
|
-
assert(isinstance(base_type, ARObject))
|
|
62
|
-
assert(isinstance(base_type, CollectableElement))
|
|
63
|
-
assert(isinstance(base_type, Identifiable))
|
|
64
|
-
assert(isinstance(base_type, MultilanguageReferrable))
|
|
65
|
-
assert(isinstance(base_type, PackageableElement))
|
|
66
|
-
assert(isinstance(base_type, Referrable))
|
|
67
|
-
assert(isinstance(base_type, SwBaseType))
|
|
59
|
+
assert (isinstance(base_type, ARElement))
|
|
60
|
+
assert (isinstance(base_type, ARObject))
|
|
61
|
+
assert (isinstance(base_type, CollectableElement))
|
|
62
|
+
assert (isinstance(base_type, Identifiable))
|
|
63
|
+
assert (isinstance(base_type, MultilanguageReferrable))
|
|
64
|
+
assert (isinstance(base_type, PackageableElement))
|
|
65
|
+
assert (isinstance(base_type, Referrable))
|
|
66
|
+
assert (isinstance(base_type, SwBaseType))
|
|
67
|
+
|
|
68
|
+
assert (base_type.parent == ar_root)
|
|
69
|
+
assert (base_type.short_name == "SwBaseType")
|
|
70
|
+
assert (isinstance(base_type.baseTypeDefinition, BaseTypeDirectDefinition))
|
|
68
71
|
|
|
69
|
-
assert(base_type.parent == ar_root)
|
|
70
|
-
assert(base_type.short_name == "SwBaseType")
|
|
71
|
-
assert(isinstance(base_type.baseTypeDefinition, BaseTypeDirectDefinition))
|
|
72
72
|
|
|
73
73
|
class Test_M2_AUTOSARTemplates_SWComponentTemplate_Datatype_Datatypes:
|
|
74
74
|
def test_AtpType(self):
|
|
75
|
-
with pytest.raises(
|
|
75
|
+
with pytest.raises(TypeError) as err:
|
|
76
76
|
document = AUTOSAR.getInstance()
|
|
77
77
|
ar_root = document.createARPackage("AUTOSAR")
|
|
78
78
|
AtpType(ar_root, "AtpType")
|
|
79
|
-
assert(str(err.value) == "AtpType is an abstract class.")
|
|
79
|
+
assert (str(err.value) == "AtpType is an abstract class.")
|
|
80
80
|
|
|
81
81
|
def test_AutosarDataType(self):
|
|
82
|
-
with pytest.raises(
|
|
82
|
+
with pytest.raises(TypeError) as err:
|
|
83
83
|
document = AUTOSAR.getInstance()
|
|
84
84
|
ar_root = document.createARPackage("AUTOSAR")
|
|
85
85
|
AutosarDataType(ar_root, "AutosarDataType")
|
|
86
|
-
assert(str(err.value) == "AutosarDataType is an abstract class.")
|
|
86
|
+
assert (str(err.value) == "AutosarDataType is an abstract class.")
|
|
87
87
|
|
|
88
88
|
def test_ApplicationDataType(self):
|
|
89
|
-
with pytest.raises(
|
|
89
|
+
with pytest.raises(TypeError) as err:
|
|
90
90
|
document = AUTOSAR.getInstance()
|
|
91
91
|
ar_root = document.createARPackage("AUTOSAR")
|
|
92
92
|
ApplicationDataType(ar_root, "ApplicationDataType")
|
|
93
|
-
assert(str(err.value) == "ApplicationDataType is an abstract class.")
|
|
93
|
+
assert (str(err.value) == "ApplicationDataType is an abstract class.")
|
|
94
94
|
|
|
95
95
|
def test_ApplicationPrimitiveDataType(self):
|
|
96
96
|
document = AUTOSAR.getInstance()
|
|
97
97
|
ar_root = document.createARPackage("AUTOSAR")
|
|
98
98
|
data_type = ApplicationPrimitiveDataType(ar_root, "ApplicationPrimitiveDataType")
|
|
99
99
|
|
|
100
|
-
assert(isinstance(data_type, ARElement))
|
|
101
|
-
assert(isinstance(data_type, ARObject))
|
|
102
|
-
# assert(isinstance(data_type, AtpBlueprint))
|
|
103
|
-
# assert(isinstance(data_type, AtpBlueprintable))
|
|
104
|
-
# assert(isinstance(data_type, AtpClassifier))
|
|
105
|
-
assert(isinstance(data_type, AtpType))
|
|
106
|
-
assert(isinstance(data_type, AutosarDataType))
|
|
107
|
-
assert(isinstance(data_type, CollectableElement))
|
|
108
|
-
assert(isinstance(data_type, Identifiable))
|
|
109
|
-
assert(isinstance(data_type, MultilanguageReferrable))
|
|
110
|
-
assert(isinstance(data_type, PackageableElement))
|
|
111
|
-
assert(isinstance(data_type, Referrable))
|
|
112
|
-
assert(isinstance(data_type, ApplicationPrimitiveDataType))
|
|
113
|
-
|
|
114
|
-
assert(data_type.parent == ar_root)
|
|
115
|
-
assert(data_type.short_name == "ApplicationPrimitiveDataType")
|
|
116
|
-
assert(data_type.swDataDefProps
|
|
100
|
+
assert (isinstance(data_type, ARElement))
|
|
101
|
+
assert (isinstance(data_type, ARObject))
|
|
102
|
+
# assert (isinstance(data_type, AtpBlueprint))
|
|
103
|
+
# assert (isinstance(data_type, AtpBlueprintable))
|
|
104
|
+
# assert (isinstance(data_type, AtpClassifier))
|
|
105
|
+
assert (isinstance(data_type, AtpType))
|
|
106
|
+
assert (isinstance(data_type, AutosarDataType))
|
|
107
|
+
assert (isinstance(data_type, CollectableElement))
|
|
108
|
+
assert (isinstance(data_type, Identifiable))
|
|
109
|
+
assert (isinstance(data_type, MultilanguageReferrable))
|
|
110
|
+
assert (isinstance(data_type, PackageableElement))
|
|
111
|
+
assert (isinstance(data_type, Referrable))
|
|
112
|
+
assert (isinstance(data_type, ApplicationPrimitiveDataType))
|
|
113
|
+
|
|
114
|
+
assert (data_type.parent == ar_root)
|
|
115
|
+
assert (data_type.short_name == "ApplicationPrimitiveDataType")
|
|
116
|
+
assert (data_type.swDataDefProps is None)
|
|
117
117
|
|
|
118
118
|
def test_ApplicationCompositeDataType(self):
|
|
119
|
-
with pytest.raises(
|
|
119
|
+
with pytest.raises(TypeError) as err:
|
|
120
120
|
document = AUTOSAR.getInstance()
|
|
121
121
|
ar_root = document.createARPackage("AUTOSAR")
|
|
122
122
|
ApplicationCompositeDataType(ar_root, "ApplicationCompositeDataType")
|
|
123
|
-
assert(str(err.value) == "ApplicationCompositeDataType is an abstract class.")
|
|
123
|
+
assert (str(err.value) == "ApplicationCompositeDataType is an abstract class.")
|
|
124
124
|
|
|
125
125
|
def test_ApplicationArrayDataType(self):
|
|
126
126
|
document = AUTOSAR.getInstance()
|
|
127
127
|
ar_root = document.createARPackage("AUTOSAR")
|
|
128
128
|
data_type = ApplicationArrayDataType(ar_root, "ApplicationArrayDataType")
|
|
129
129
|
|
|
130
|
-
assert(isinstance(data_type, ARElement))
|
|
131
|
-
assert(isinstance(data_type, ARObject))
|
|
132
|
-
assert(isinstance(data_type, ApplicationDataType))
|
|
133
|
-
# assert(isinstance(data_type, AtpBlueprint))
|
|
134
|
-
# assert(isinstance(data_type, AtpBlueprintable))
|
|
135
|
-
# assert(isinstance(data_type, AtpClassifier))
|
|
136
|
-
assert(isinstance(data_type, AtpType))
|
|
137
|
-
assert(isinstance(data_type, AutosarDataType))
|
|
138
|
-
assert(isinstance(data_type, CollectableElement))
|
|
139
|
-
assert(isinstance(data_type, Identifiable))
|
|
140
|
-
assert(isinstance(data_type, MultilanguageReferrable))
|
|
141
|
-
assert(isinstance(data_type, PackageableElement))
|
|
142
|
-
assert(isinstance(data_type, Referrable))
|
|
143
|
-
assert(isinstance(data_type, ApplicationArrayDataType))
|
|
144
|
-
|
|
145
|
-
assert(data_type.parent == ar_root)
|
|
146
|
-
assert(data_type.short_name == "ApplicationArrayDataType")
|
|
147
|
-
assert(data_type.dynamicArraySizeProfile
|
|
148
|
-
assert(data_type.element
|
|
130
|
+
assert (isinstance(data_type, ARElement))
|
|
131
|
+
assert (isinstance(data_type, ARObject))
|
|
132
|
+
assert (isinstance(data_type, ApplicationDataType))
|
|
133
|
+
# assert (isinstance(data_type, AtpBlueprint))
|
|
134
|
+
# assert (isinstance(data_type, AtpBlueprintable))
|
|
135
|
+
# assert (isinstance(data_type, AtpClassifier))
|
|
136
|
+
assert (isinstance(data_type, AtpType))
|
|
137
|
+
assert (isinstance(data_type, AutosarDataType))
|
|
138
|
+
assert (isinstance(data_type, CollectableElement))
|
|
139
|
+
assert (isinstance(data_type, Identifiable))
|
|
140
|
+
assert (isinstance(data_type, MultilanguageReferrable))
|
|
141
|
+
assert (isinstance(data_type, PackageableElement))
|
|
142
|
+
assert (isinstance(data_type, Referrable))
|
|
143
|
+
assert (isinstance(data_type, ApplicationArrayDataType))
|
|
144
|
+
|
|
145
|
+
assert (data_type.parent == ar_root)
|
|
146
|
+
assert (data_type.short_name == "ApplicationArrayDataType")
|
|
147
|
+
assert (data_type.dynamicArraySizeProfile is None)
|
|
148
|
+
assert (data_type.element is None)
|
|
149
149
|
|
|
150
150
|
def test_ApplicationRecordDataType(self):
|
|
151
151
|
document = AUTOSAR.getInstance()
|
|
152
152
|
ar_root = document.createARPackage("AUTOSAR")
|
|
153
153
|
data_type = ApplicationRecordDataType(ar_root, "ApplicationRecordDataType")
|
|
154
154
|
|
|
155
|
-
assert(isinstance(data_type, ARElement))
|
|
156
|
-
assert(isinstance(data_type, ARObject))
|
|
157
|
-
assert(isinstance(data_type, ApplicationDataType))
|
|
158
|
-
# assert(isinstance(data_type, AtpBlueprint))
|
|
159
|
-
# assert(isinstance(data_type, AtpBlueprintable))
|
|
160
|
-
# assert(isinstance(data_type, AtpClassifier))
|
|
161
|
-
assert(isinstance(data_type, AtpType))
|
|
162
|
-
assert(isinstance(data_type, AutosarDataType))
|
|
163
|
-
assert(isinstance(data_type, CollectableElement))
|
|
164
|
-
assert(isinstance(data_type, Identifiable))
|
|
165
|
-
assert(isinstance(data_type, MultilanguageReferrable))
|
|
166
|
-
assert(isinstance(data_type, PackageableElement))
|
|
167
|
-
assert(isinstance(data_type, Referrable))
|
|
168
|
-
assert(isinstance(data_type, ApplicationRecordDataType))
|
|
169
|
-
|
|
170
|
-
assert(data_type.parent == ar_root)
|
|
171
|
-
assert(data_type.short_name == "ApplicationRecordDataType")
|
|
155
|
+
assert (isinstance(data_type, ARElement))
|
|
156
|
+
assert (isinstance(data_type, ARObject))
|
|
157
|
+
assert (isinstance(data_type, ApplicationDataType))
|
|
158
|
+
# assert (isinstance(data_type, AtpBlueprint))
|
|
159
|
+
# assert (isinstance(data_type, AtpBlueprintable))
|
|
160
|
+
# assert (isinstance(data_type, AtpClassifier))
|
|
161
|
+
assert (isinstance(data_type, AtpType))
|
|
162
|
+
assert (isinstance(data_type, AutosarDataType))
|
|
163
|
+
assert (isinstance(data_type, CollectableElement))
|
|
164
|
+
assert (isinstance(data_type, Identifiable))
|
|
165
|
+
assert (isinstance(data_type, MultilanguageReferrable))
|
|
166
|
+
assert (isinstance(data_type, PackageableElement))
|
|
167
|
+
assert (isinstance(data_type, Referrable))
|
|
168
|
+
assert (isinstance(data_type, ApplicationRecordDataType))
|
|
169
|
+
|
|
170
|
+
assert (data_type.parent == ar_root)
|
|
171
|
+
assert (data_type.short_name == "ApplicationRecordDataType")
|
|
172
172
|
|
|
173
173
|
element = data_type.createApplicationRecordElement("element")
|
|
174
|
-
assert(isinstance(element, ApplicationRecordElement))
|
|
175
|
-
assert(element.short_name == "element")
|
|
174
|
+
assert (isinstance(element, ApplicationRecordElement))
|
|
175
|
+
assert (element.short_name == "element")
|
|
176
176
|
|
|
177
177
|
def test_DataTypeMap(self):
|
|
178
178
|
data_type_map = DataTypeMap()
|
|
179
179
|
|
|
180
|
-
assert(isinstance(data_type_map, ARObject))
|
|
181
|
-
assert(isinstance(data_type_map, DataTypeMap))
|
|
180
|
+
assert (isinstance(data_type_map, ARObject))
|
|
181
|
+
assert (isinstance(data_type_map, DataTypeMap))
|
|
182
182
|
|
|
183
|
-
assert(data_type_map.applicationDataTypeRef
|
|
184
|
-
assert(data_type_map.implementationDataTypeRef
|
|
183
|
+
assert (data_type_map.applicationDataTypeRef is None)
|
|
184
|
+
assert (data_type_map.implementationDataTypeRef is None)
|
|
185
185
|
|
|
186
186
|
def test_DataTypeMappingSet(self):
|
|
187
187
|
document = AUTOSAR.getInstance()
|
|
188
188
|
ar_root = document.createARPackage("AUTOSAR")
|
|
189
189
|
data_type_mapping_set = DataTypeMappingSet(ar_root, "DataTypeMappingSet")
|
|
190
190
|
|
|
191
|
-
assert(isinstance(data_type_mapping_set, ARElement))
|
|
192
|
-
assert(isinstance(data_type_mapping_set, ARObject))
|
|
193
|
-
# assert(isinstance(data_type_mapping_set, AtpBlueprint))
|
|
194
|
-
# assert(isinstance(data_type_mapping_set, AtpBlueprintable))
|
|
195
|
-
assert(isinstance(data_type_mapping_set, CollectableElement))
|
|
196
|
-
assert(isinstance(data_type_mapping_set, Identifiable))
|
|
197
|
-
assert(isinstance(data_type_mapping_set, MultilanguageReferrable))
|
|
198
|
-
assert(isinstance(data_type_mapping_set, PackageableElement))
|
|
199
|
-
assert(isinstance(data_type_mapping_set, Referrable))
|
|
200
|
-
assert(isinstance(data_type_mapping_set, DataTypeMappingSet))
|
|
201
|
-
|
|
202
|
-
assert(data_type_mapping_set.parent == ar_root)
|
|
203
|
-
assert(data_type_mapping_set.short_name == "DataTypeMappingSet")
|
|
204
|
-
assert(len(data_type_mapping_set.dataTypeMaps) == 0)
|
|
191
|
+
assert (isinstance(data_type_mapping_set, ARElement))
|
|
192
|
+
assert (isinstance(data_type_mapping_set, ARObject))
|
|
193
|
+
# assert (isinstance(data_type_mapping_set, AtpBlueprint))
|
|
194
|
+
# assert (isinstance(data_type_mapping_set, AtpBlueprintable))
|
|
195
|
+
assert (isinstance(data_type_mapping_set, CollectableElement))
|
|
196
|
+
assert (isinstance(data_type_mapping_set, Identifiable))
|
|
197
|
+
assert (isinstance(data_type_mapping_set, MultilanguageReferrable))
|
|
198
|
+
assert (isinstance(data_type_mapping_set, PackageableElement))
|
|
199
|
+
assert (isinstance(data_type_mapping_set, Referrable))
|
|
200
|
+
assert (isinstance(data_type_mapping_set, DataTypeMappingSet))
|
|
201
|
+
|
|
202
|
+
assert (data_type_mapping_set.parent == ar_root)
|
|
203
|
+
assert (data_type_mapping_set.short_name == "DataTypeMappingSet")
|
|
204
|
+
assert (len(data_type_mapping_set.dataTypeMaps) == 0)
|
|
205
205
|
|
|
206
206
|
data_type_map = DataTypeMap()
|
|
207
207
|
data_type_mapping_set.addDataTypeMap(data_type_map)
|
|
208
|
-
assert(len(data_type_mapping_set.getDataTypeMaps()) == 1)
|
|
209
|
-
assert(data_type_mapping_set.getDataTypeMaps()[0] == data_type_map)
|
|
210
|
-
|
|
208
|
+
assert (len(data_type_mapping_set.getDataTypeMaps()) == 1)
|
|
209
|
+
assert (data_type_mapping_set.getDataTypeMaps()[0] == data_type_map)
|
|
211
210
|
|
|
212
211
|
|
|
213
212
|
class Test_M2_AUTOSARTemplates_CommonStructure_ImplementationDataTypes:
|
|
@@ -216,38 +215,37 @@ class Test_M2_AUTOSARTemplates_CommonStructure_ImplementationDataTypes:
|
|
|
216
215
|
document = AUTOSAR.getInstance()
|
|
217
216
|
ar_root = document.createARPackage("AUTOSAR")
|
|
218
217
|
AbstractImplementationDataType(ar_root, "AbstractImplementationDataType")
|
|
219
|
-
assert(str(err.value) == "AbstractImplementationDataType is an abstract class.")
|
|
218
|
+
assert (str(err.value) == "AbstractImplementationDataType is an abstract class.")
|
|
220
219
|
|
|
221
220
|
def test_ImplementationDataType(self):
|
|
222
221
|
document = AUTOSAR.getInstance()
|
|
223
222
|
ar_root = document.createARPackage("AUTOSAR")
|
|
224
|
-
data_type =
|
|
225
|
-
|
|
226
|
-
assert(isinstance(data_type, ARElement))
|
|
227
|
-
assert(isinstance(data_type, ARObject))
|
|
228
|
-
assert(isinstance(data_type, AbstractImplementationDataType,))
|
|
229
|
-
# assert(isinstance(data_type, AtpBlueprint))
|
|
230
|
-
# assert(isinstance(data_type, AtpBlueprintable))
|
|
231
|
-
# assert(isinstance(data_type, AtpClassifier))
|
|
232
|
-
assert(isinstance(data_type, AtpType))
|
|
233
|
-
assert(isinstance(data_type, AutosarDataType))
|
|
234
|
-
assert(isinstance(data_type, CollectableElement))
|
|
235
|
-
assert(isinstance(data_type, Identifiable))
|
|
236
|
-
assert(isinstance(data_type, MultilanguageReferrable))
|
|
237
|
-
assert(isinstance(data_type, PackageableElement))
|
|
238
|
-
assert(isinstance(data_type, Referrable))
|
|
239
|
-
assert(isinstance(data_type, ImplementationDataType))
|
|
240
|
-
|
|
241
|
-
assert(data_type.parent == ar_root)
|
|
242
|
-
assert(data_type.short_name == "ImplementationDataType")
|
|
243
|
-
assert(data_type.subElements == [])
|
|
244
|
-
assert(data_type.symbolProps
|
|
245
|
-
assert(data_type.
|
|
223
|
+
data_type = ar_root.createImplementationDataType("ImplementationDataType")
|
|
224
|
+
|
|
225
|
+
assert (isinstance(data_type, ARElement))
|
|
226
|
+
assert (isinstance(data_type, ARObject))
|
|
227
|
+
assert (isinstance(data_type, AbstractImplementationDataType,))
|
|
228
|
+
# assert (isinstance(data_type, AtpBlueprint))
|
|
229
|
+
# assert (isinstance(data_type, AtpBlueprintable))
|
|
230
|
+
# assert (isinstance(data_type, AtpClassifier))
|
|
231
|
+
assert (isinstance(data_type, AtpType))
|
|
232
|
+
assert (isinstance(data_type, AutosarDataType))
|
|
233
|
+
assert (isinstance(data_type, CollectableElement))
|
|
234
|
+
assert (isinstance(data_type, Identifiable))
|
|
235
|
+
assert (isinstance(data_type, MultilanguageReferrable))
|
|
236
|
+
assert (isinstance(data_type, PackageableElement))
|
|
237
|
+
assert (isinstance(data_type, Referrable))
|
|
238
|
+
assert (isinstance(data_type, ImplementationDataType))
|
|
239
|
+
|
|
240
|
+
assert (data_type.parent == ar_root)
|
|
241
|
+
assert (data_type.short_name == "ImplementationDataType")
|
|
242
|
+
assert (data_type.subElements == [])
|
|
243
|
+
assert (data_type.symbolProps is None)
|
|
244
|
+
assert (data_type.getTypeEmitter() is None)
|
|
246
245
|
|
|
247
246
|
element = data_type.createImplementationDataTypeElement("ImplementationDataTypeElement")
|
|
248
|
-
assert(isinstance(element, ImplementationDataTypeElement))
|
|
249
|
-
assert(element.short_name == "ImplementationDataTypeElement")
|
|
247
|
+
assert (isinstance(element, ImplementationDataTypeElement))
|
|
248
|
+
assert (element.short_name == "ImplementationDataTypeElement")
|
|
250
249
|
|
|
251
|
-
assert(len(data_type.
|
|
252
|
-
assert(data_type.
|
|
253
|
-
|
|
250
|
+
assert (len(data_type.getSubElements()) == 1)
|
|
251
|
+
assert (data_type.getSubElements()[0] == element)
|
|
@@ -13,48 +13,49 @@ from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArOb
|
|
|
13
13
|
from ....models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
|
|
14
14
|
from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Limit
|
|
15
15
|
|
|
16
|
+
|
|
16
17
|
class TestGeneralStructure:
|
|
17
18
|
def test_ar_object(self):
|
|
18
|
-
with pytest.raises(
|
|
19
|
+
with pytest.raises(TypeError) as err:
|
|
19
20
|
ARObject()
|
|
20
|
-
assert(str(err.value) == "ARObject is an abstract class.")
|
|
21
|
+
assert (str(err.value) == "ARObject is an abstract class.")
|
|
21
22
|
|
|
22
23
|
def test_Referrable(self):
|
|
23
|
-
with pytest.raises(
|
|
24
|
+
with pytest.raises(TypeError) as err:
|
|
24
25
|
Referrable(AUTOSAR.getInstance(), "ar_referrable")
|
|
25
|
-
assert(str(err.value) == "Referrable is an abstract class.")
|
|
26
|
+
assert (str(err.value) == "Referrable is an abstract class.")
|
|
26
27
|
|
|
27
28
|
def test_MultilanguageReferrable(self):
|
|
28
|
-
with pytest.raises(
|
|
29
|
+
with pytest.raises(TypeError) as err:
|
|
29
30
|
MultilanguageReferrable(AUTOSAR.getInstance(), "MultilanguageReferrable")
|
|
30
|
-
assert(str(err.value) == "MultilanguageReferrable is an abstract class.")
|
|
31
|
+
assert (str(err.value) == "MultilanguageReferrable is an abstract class.")
|
|
31
32
|
|
|
32
33
|
def test_CollectableElement(self):
|
|
33
|
-
with pytest.raises(
|
|
34
|
+
with pytest.raises(TypeError) as err:
|
|
34
35
|
CollectableElement()
|
|
35
|
-
assert(str(err.value) == "CollectableElement is an abstract class.")
|
|
36
|
+
assert (str(err.value) == "CollectableElement is an abstract class.")
|
|
36
37
|
|
|
37
38
|
def test_Identifiable(self):
|
|
38
|
-
with pytest.raises(
|
|
39
|
+
with pytest.raises(TypeError) as err:
|
|
39
40
|
Identifiable(AUTOSAR.getInstance(), "ar_identifiable")
|
|
40
|
-
assert(str(err.value) == "Identifiable is an abstract class.")
|
|
41
|
+
assert (str(err.value) == "Identifiable is an abstract class.")
|
|
41
42
|
|
|
42
43
|
def test_AtpFeature(self):
|
|
43
|
-
with pytest.raises(
|
|
44
|
+
with pytest.raises(TypeError) as err:
|
|
44
45
|
AtpFeature(AUTOSAR.getInstance(), "AtpFeature")
|
|
45
|
-
assert(str(err.value) == "AtpFeature is an abstract class.")
|
|
46
|
+
assert (str(err.value) == "AtpFeature is an abstract class.")
|
|
46
47
|
|
|
47
48
|
def test_packageable_element(self):
|
|
48
|
-
with pytest.raises(
|
|
49
|
+
with pytest.raises(TypeError) as err:
|
|
49
50
|
PackageableElement(AUTOSAR.getInstance(), "ar_packageable_element")
|
|
50
|
-
assert(str(err.value) == "PackageableElement is an abstract class.")
|
|
51
|
+
assert (str(err.value) == "PackageableElement is an abstract class.")
|
|
51
52
|
|
|
52
53
|
def test_ar_element(self):
|
|
53
|
-
with pytest.raises(
|
|
54
|
+
with pytest.raises(TypeError) as err:
|
|
54
55
|
ARElement(AUTOSAR.getInstance(), "ar_element")
|
|
55
|
-
assert(str(err.value) == "ARElement is an abstract class.")
|
|
56
|
+
assert (str(err.value) == "ARElement is an abstract class.")
|
|
56
57
|
|
|
57
58
|
def test_limit(self):
|
|
58
59
|
limit = Limit()
|
|
59
|
-
assert(limit.value
|
|
60
|
-
assert(limit.intervalType
|
|
60
|
+
assert (limit.value is None)
|
|
61
|
+
assert (limit.intervalType is None)
|
|
@@ -96,22 +96,18 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
|
|
|
96
96
|
assert (isinstance(sr_if, Referrable))
|
|
97
97
|
assert (isinstance(sr_if, SenderReceiverInterface))
|
|
98
98
|
|
|
99
|
-
assert (sr_if.
|
|
99
|
+
assert (sr_if.getShortName() == "sr_if")
|
|
100
100
|
assert (sr_if.parent == ar_root)
|
|
101
101
|
assert (len(sr_if.getDataElements()) == 0)
|
|
102
102
|
|
|
103
103
|
element = sr_if.createDataElement("element")
|
|
104
104
|
assert (isinstance(element, VariableDataPrototype))
|
|
105
|
-
assert (element.
|
|
105
|
+
assert (element.getShortName() == "element")
|
|
106
106
|
assert (len(sr_if.getDataElements()) == 1)
|
|
107
107
|
|
|
108
108
|
element2 = sr_if.getDataElement("element")
|
|
109
109
|
assert (element == element2)
|
|
110
110
|
|
|
111
|
-
with pytest.raises(IndexError) as err:
|
|
112
|
-
sr_if.getDataElement("non_exist_element")
|
|
113
|
-
assert (str(err.value) == "data element <non_exist_element> can not be found.")
|
|
114
|
-
|
|
115
111
|
def test_ArgumentDataPrototype(self):
|
|
116
112
|
document = AUTOSAR.getInstance()
|
|
117
113
|
ar_root = document.createARPackage("AUTOSAR")
|
|
@@ -5,11 +5,11 @@ from ....parser.arxml_parser import ARXMLParser
|
|
|
5
5
|
class TestARXMLParser:
|
|
6
6
|
def test_convert_find_key(self):
|
|
7
7
|
parser = ARXMLParser()
|
|
8
|
-
assert(parser.convert_find_key("ELEMENTS") == "xmlns:ELEMENTS")
|
|
9
|
-
assert(parser.convert_find_key("ELEMENTS/*") == "xmlns:ELEMENTS/*")
|
|
10
|
-
assert(parser.convert_find_key("./ELEMENTS") == "./xmlns:ELEMENTS")
|
|
11
|
-
assert(parser.convert_find_key("./ELEMENTS/*") == "./xmlns:ELEMENTS/*")
|
|
12
|
-
assert(parser.convert_find_key("A/B") == "xmlns:A/xmlns:B")
|
|
13
|
-
assert(parser.convert_find_key("A/B/*") == "xmlns:A/xmlns:B/*")
|
|
14
|
-
assert(parser.convert_find_key("./A/B") == "./xmlns:A/xmlns:B")
|
|
15
|
-
assert(parser.convert_find_key("./A/B/*") == "./xmlns:A/xmlns:B/*")
|
|
8
|
+
assert (parser.convert_find_key("ELEMENTS") == "xmlns:ELEMENTS")
|
|
9
|
+
assert (parser.convert_find_key("ELEMENTS/*") == "xmlns:ELEMENTS/*")
|
|
10
|
+
assert (parser.convert_find_key("./ELEMENTS") == "./xmlns:ELEMENTS")
|
|
11
|
+
assert (parser.convert_find_key("./ELEMENTS/*") == "./xmlns:ELEMENTS/*")
|
|
12
|
+
assert (parser.convert_find_key("A/B") == "xmlns:A/xmlns:B")
|
|
13
|
+
assert (parser.convert_find_key("A/B/*") == "xmlns:A/xmlns:B/*")
|
|
14
|
+
assert (parser.convert_find_key("./A/B") == "./xmlns:A/xmlns:B")
|
|
15
|
+
assert (parser.convert_find_key("./A/B/*") == "./xmlns:A/xmlns:B/*")
|
|
@@ -8,7 +8,8 @@ import logging
|
|
|
8
8
|
import xml.etree.cElementTree as ET
|
|
9
9
|
|
|
10
10
|
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
11
|
-
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARFloat, ARLiteral, ARNumerical,
|
|
11
|
+
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARFloat, ARLiteral, ARNumerical, DateTime, Integer
|
|
12
|
+
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RevisionLabelString, TimeValue
|
|
12
13
|
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType, ARBoolean
|
|
13
14
|
|
|
14
15
|
|
|
@@ -81,7 +82,10 @@ class AbstractARXMLWriter:
|
|
|
81
82
|
def setChildElementOptionalPositiveInteger(self, element: ET.Element, key: str, value: Integer):
|
|
82
83
|
self.setChildElementOptionalNumericalValue(element, key, value)
|
|
83
84
|
|
|
84
|
-
def setChildElementOptionalRevisionLabelString(self, element: ET.Element, key: str, literal:
|
|
85
|
+
def setChildElementOptionalRevisionLabelString(self, element: ET.Element, key: str, literal: RevisionLabelString):
|
|
86
|
+
self.setChildElementOptionalLiteral(element, key, literal)
|
|
87
|
+
|
|
88
|
+
def setChildElementOptionalDataTime(self, element: ET.Element, key: str, literal: DateTime):
|
|
85
89
|
self.setChildElementOptionalLiteral(element, key, literal)
|
|
86
90
|
|
|
87
91
|
def setChildElementOptionalRefType(self, parent: ET.Element, child_tag_name: str, ref: RefType):
|