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.
Files changed (58) hide show
  1. armodel/cli/arxml_format_cli.py +1 -0
  2. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +50 -12
  3. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +14 -14
  4. armodel/models/M2/AUTOSARTemplates/CommonStructure/FlatMap.py +2 -3
  5. armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +1 -1
  6. armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +36 -34
  7. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +1 -1
  8. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +4 -4
  9. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +3 -3
  10. armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +5 -0
  11. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionOrderConstraint.py +3 -3
  12. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingExtensions.py +3 -3
  13. armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +86 -9
  14. armodel/models/M2/AUTOSARTemplates/ECUCParameterDefTemplate.py +1249 -0
  15. armodel/models/M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py +13 -10
  16. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +238 -225
  17. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ArObject.py +5 -4
  18. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +46 -25
  19. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +38 -3
  20. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +18 -20
  21. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +23 -19
  22. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +4 -4
  23. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +71 -27
  24. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +27 -17
  25. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +172 -128
  26. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +11 -10
  27. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +11 -11
  28. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +16 -10
  29. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +2 -2
  30. armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +6 -6
  31. armodel/models/M2/AUTOSARTemplates/SystemTemplate/RteEventToOsTaskMapping.py +35 -0
  32. armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +25 -0
  33. armodel/models/M2/AUTOSARTemplates/SystemTemplate/SecureCommunication.py +83 -0
  34. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +90 -38
  35. armodel/models/M2/MSR/AsamHdo/AdminData.py +101 -8
  36. armodel/models/__init__.py +2 -0
  37. armodel/models/utils/__init__.py +0 -0
  38. armodel/models/utils/uuid_mgr.py +23 -0
  39. armodel/parser/abstract_arxml_parser.py +13 -5
  40. armodel/parser/arxml_parser.py +412 -85
  41. armodel/tests/test_armodel/models/test_ECUCParameterDefTemplate.py +116 -0
  42. armodel/tests/test_armodel/models/test_Identifiable.py +85 -0
  43. armodel/tests/test_armodel/models/test_ar_object.py +85 -86
  44. armodel/tests/test_armodel/models/test_ar_package.py +70 -70
  45. armodel/tests/test_armodel/models/test_ar_ref.py +36 -36
  46. armodel/tests/test_armodel/models/test_common_structure.py +37 -35
  47. armodel/tests/test_armodel/models/test_datatype.py +140 -142
  48. armodel/tests/test_armodel/models/test_general_structure.py +19 -18
  49. armodel/tests/test_armodel/models/test_port_interface.py +2 -6
  50. armodel/tests/test_armodel/parser/test_arxml_parser.py +8 -8
  51. armodel/writer/abstract_arxml_writer.py +6 -2
  52. armodel/writer/arxml_writer.py +414 -57
  53. {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/METADATA +31 -1
  54. {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/RECORD +58 -51
  55. {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/LICENSE +0 -0
  56. {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/WHEEL +0 -0
  57. {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/entry_points.txt +0 -0
  58. {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 AbstractImplementationDataType, ImplementationDataType, ImplementationDataTypeElement
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(NotImplementedError) as err:
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(NotImplementedError) as err:
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(NotImplementedError) as err:
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 == None)
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(NotImplementedError) as err:
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 == None)
148
- assert(data_type.element == None)
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 == None)
184
- assert(data_type_map.implementationDataTypeRef == None)
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 = ImplementationDataType(ar_root, "ImplementationDataType")
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 == None)
245
- assert(data_type.typeEmitter == None)
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.getImplementationDataTypeElements()) == 1)
252
- assert(data_type.getImplementationDataTypeElements()[0] == element)
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(NotImplementedError) as err:
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(NotImplementedError) as err:
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(NotImplementedError) as err:
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(NotImplementedError) as err:
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(NotImplementedError) as err:
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(NotImplementedError) as err:
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(NotImplementedError) as err:
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(NotImplementedError) as err:
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 == None)
60
- assert(limit.intervalType == None)
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.short_name == "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.short_name == "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, Integer, TimeValue
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: ARLiteral):
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):