armodel 1.4.3__py3-none-any.whl → 1.6.0__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_dump_cli.py +14 -14
- armodel/cli/memory_section_cli.py +76 -0
- armodel/cli/system_signal_cli.py +74 -0
- armodel/lib/__init__.py +2 -1
- armodel/lib/system_signal.py +37 -0
- armodel/models/__init__.py +6 -3
- armodel/models/annotation.py +27 -3
- armodel/models/ar_object.py +18 -6
- armodel/models/ar_package.py +248 -30
- armodel/models/ar_ref.py +115 -45
- armodel/models/bsw_module_template.py +66 -28
- armodel/models/common_structure.py +150 -150
- armodel/models/communication.py +1 -1
- armodel/models/data_prototype.py +41 -6
- armodel/models/datatype.py +11 -5
- armodel/models/fibex/__init__.py +0 -0
- armodel/models/fibex/can_communication.py +122 -0
- armodel/models/fibex/fibex_4_can/__init__.py +0 -0
- armodel/models/fibex/fibex_4_lin/__init__.py +0 -0
- armodel/models/fibex/fibex_4_multiplatform.py +138 -0
- armodel/models/fibex/fibex_core/__init__.py +0 -0
- armodel/models/fibex/fibex_core/core_communication.py +627 -0
- armodel/models/fibex/fibex_core/core_topology.py +180 -0
- armodel/models/fibex/fibex_core.py +341 -0
- armodel/models/fibex/lin_communication.py +38 -0
- armodel/models/fibex/lin_topology.py +7 -0
- armodel/models/general_structure.py +119 -10
- armodel/models/implementation.py +4 -5
- armodel/models/internal_behavior.py +63 -0
- armodel/models/m2/__init__.py +0 -0
- armodel/models/m2/autosar_templates/__init__.py +0 -0
- armodel/models/m2/autosar_templates/common_structure/__init__.py +188 -0
- armodel/models/m2/autosar_templates/common_structure/constants.py +0 -0
- armodel/models/m2/autosar_templates/ecuc_description_template.py +268 -0
- armodel/models/m2/autosar_templates/sw_component_template/__init__.py +0 -0
- armodel/models/m2/autosar_templates/sw_component_template/communication.py +316 -0
- armodel/models/m2/autosar_templates/sw_component_template/components/__init__.py +0 -0
- armodel/models/m2/autosar_templates/sw_component_template/components/instance_refs.py +149 -0
- armodel/models/m2/autosar_templates/sw_component_template/port_interface.py +236 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/__init__.py +203 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/access_count.py +13 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/data_elements.py +54 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/mode_declaration_group.py +39 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/server_call.py +26 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/trigger.py +10 -0
- armodel/models/m2/autosar_templates/system_template/__init__.py +321 -0
- armodel/models/m2/autosar_templates/system_template/data_mapping.py +88 -0
- armodel/models/m2/autosar_templates/system_template/network_management.py +554 -0
- armodel/models/m2/autosar_templates/system_template/transport_protocols.py +7 -0
- armodel/models/m2/msr/__init__.py +0 -0
- armodel/models/m2/msr/asam_hdo/__init__.py +0 -0
- armodel/models/m2/msr/asam_hdo/units.py +105 -0
- armodel/models/m2/msr/data_dictionary/__init__.py +0 -0
- armodel/models/m2/msr/data_dictionary/auxillary_objects.py +42 -0
- armodel/models/m2/msr/data_dictionary/data_def_properties.py +295 -0
- armodel/models/m2/msr/documentation/__init__.py +0 -0
- armodel/models/m2/msr/documentation/block_elements.py +18 -0
- armodel/models/mode_declaration.py +8 -0
- armodel/models/multilanguage_data.py +15 -0
- armodel/models/per_instance_memory.py +34 -6
- armodel/models/port_prototype.py +15 -159
- armodel/models/rpt_scenario.py +20 -0
- armodel/models/sw_component.py +48 -187
- armodel/models/system_template/__init__.py +0 -0
- armodel/models/system_template/network_management.py +7 -0
- armodel/models/system_template/transport_protocols.py +7 -0
- armodel/models/timing.py +91 -0
- armodel/parser/abstract_arxml_parser.py +11 -2
- armodel/parser/arxml_parser.py +1101 -227
- armodel/tests/test_armodel/models/test_ar_package.py +1 -1
- armodel/tests/test_armodel/models/test_ar_ref.py +3 -3
- armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -5
- armodel/tests/test_armodel/models/test_common_structure.py +3 -3
- armodel/tests/test_armodel/models/test_data_dictionary.py +5 -5
- armodel/tests/test_armodel/models/test_data_prototype.py +2 -2
- armodel/tests/test_armodel/models/test_datatype.py +8 -8
- armodel/tests/test_armodel/models/test_port_interface.py +6 -6
- armodel/tests/test_armodel/parser/test_parse_bswmd.py +16 -8
- armodel/tests/test_armodel/parser/test_sw_components.py +6 -6
- armodel/writer/arxml_writer.py +1046 -181
- {armodel-1.4.3.dist-info → armodel-1.6.0.dist-info}/METADATA +48 -1
- armodel-1.6.0.dist-info/RECORD +127 -0
- {armodel-1.4.3.dist-info → armodel-1.6.0.dist-info}/entry_points.txt +3 -1
- armodel-1.4.3.dist-info/RECORD +0 -78
- {armodel-1.4.3.dist-info → armodel-1.6.0.dist-info}/LICENSE +0 -0
- {armodel-1.4.3.dist-info → armodel-1.6.0.dist-info}/WHEEL +0 -0
- {armodel-1.4.3.dist-info → armodel-1.6.0.dist-info}/top_level.txt +0 -0
|
@@ -5,7 +5,7 @@ from ....models.ar_package import AUTOSAR
|
|
|
5
5
|
from ....models.datatype import ApplicationPrimitiveDataType, ApplicationRecordDataType, DataTypeMappingSet, ImplementationDataType, SwBaseType
|
|
6
6
|
from ....models.general_structure import ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, PackageableElement, Referrable
|
|
7
7
|
from ....models.m2_msr import CompuMethod
|
|
8
|
-
from ....models.port_interface import ClientServerInterface, DataInterface, PortInterface, SenderReceiverInterface
|
|
8
|
+
from ....models.m2.autosar_templates.sw_component_template.port_interface import ClientServerInterface, DataInterface, PortInterface, SenderReceiverInterface
|
|
9
9
|
from ....models.sw_component import ApplicationSwComponentType, AtomicSwComponentType, CompositionSwComponentType, EcuAbstractionSwComponentType, ServiceSwComponentType, SwComponentType
|
|
10
10
|
|
|
11
11
|
class TestAUTOSAR:
|
|
@@ -21,9 +21,9 @@ class TestARRef:
|
|
|
21
21
|
def test_AutosarVariableRef(self):
|
|
22
22
|
ref_type = AutosarVariableRef()
|
|
23
23
|
assert(ref_type != None)
|
|
24
|
-
assert(ref_type.
|
|
25
|
-
assert(ref_type.
|
|
26
|
-
assert(ref_type.
|
|
24
|
+
assert(ref_type.autosarVariableIRef == None)
|
|
25
|
+
assert(ref_type.autosarVariableInImplDatatype == None)
|
|
26
|
+
assert(ref_type.localVariableRef == None)
|
|
27
27
|
|
|
28
28
|
def test_AtpInstanceRef(self):
|
|
29
29
|
with pytest.raises(NotImplementedError) as err:
|
|
@@ -15,12 +15,12 @@ class TestBswModuleDescription:
|
|
|
15
15
|
document = AUTOSAR.getInstance()
|
|
16
16
|
ar_root = document.createARPackage("AUTOSAR")
|
|
17
17
|
bsw_module_description = BswModuleDescription(ar_root, "bsw_module")
|
|
18
|
-
with pytest.raises(ValueError) as err:
|
|
19
|
-
|
|
20
|
-
assert(str(err.value) == "Invalid category <invalid> of BswModuleDescription <bsw_module>")
|
|
18
|
+
#with pytest.raises(ValueError) as err:
|
|
19
|
+
# bsw_module_description.category = "invalid"
|
|
20
|
+
#assert(str(err.value) == "Invalid category <invalid> of BswModuleDescription <bsw_module>")
|
|
21
21
|
|
|
22
|
-
bsw_module_description.
|
|
23
|
-
assert(bsw_module_description.
|
|
22
|
+
bsw_module_description.setCategory("BSW_MODULE")
|
|
23
|
+
assert(bsw_module_description.getCategory() == "BSW_MODULE")
|
|
24
24
|
|
|
25
25
|
class Test_M2_AUTOSARTemplates_BswModuleTemplate_BswInterfaces:
|
|
26
26
|
def test_BswModuleEntry(self):
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import pytest
|
|
2
2
|
|
|
3
3
|
from .... import AUTOSAR
|
|
4
|
-
from ....models.common_structure import
|
|
5
|
-
from ....models.
|
|
4
|
+
from ....models.m2.autosar_templates.common_structure import ConstantReference, ConstantSpecification, ValueSpecification
|
|
5
|
+
from ....models.common_structure import AbstractImplementationDataTypeElement, ImplementationDataTypeElement, ExecutableEntity
|
|
6
6
|
from ....models.general_structure import ARElement, ARObject, CollectableElement, Identifiable
|
|
7
7
|
from ....models.general_structure import MultilanguageReferrable, PackageableElement, Referrable
|
|
8
8
|
|
|
@@ -30,7 +30,7 @@ class Test_M2_AUTOSARTemplates_CommonStructure_Constants:
|
|
|
30
30
|
def test_ConstantReference(self):
|
|
31
31
|
ref = ConstantReference()
|
|
32
32
|
|
|
33
|
-
assert(ref.
|
|
33
|
+
assert(ref.getConstantRef() == None)
|
|
34
34
|
|
|
35
35
|
assert(isinstance(ref, ARObject))
|
|
36
36
|
assert(isinstance(ref, ValueSpecification))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import pytest
|
|
2
2
|
|
|
3
|
-
from ....models.data_dictionary import SwDataDefProps, SwPointerTargetProps
|
|
3
|
+
from ....models.m2.msr.data_dictionary.data_def_properties import SwDataDefProps, SwPointerTargetProps
|
|
4
4
|
from ....models.general_structure import ARObject
|
|
5
5
|
|
|
6
6
|
class Test_M2_MSR_DataDictionary_DataDefProperties:
|
|
@@ -16,7 +16,7 @@ class Test_M2_MSR_DataDictionary_DataDefProperties:
|
|
|
16
16
|
assert(props.implementationDataTypeRef == None)
|
|
17
17
|
assert(props.swImplPolicy == None)
|
|
18
18
|
assert(props.swCalibrationAccess == None)
|
|
19
|
-
assert(props.
|
|
19
|
+
assert(props.swPointerTargetProps == None)
|
|
20
20
|
|
|
21
21
|
def test_SwPointerTargetProps(self):
|
|
22
22
|
props = SwPointerTargetProps()
|
|
@@ -24,6 +24,6 @@ class Test_M2_MSR_DataDictionary_DataDefProperties:
|
|
|
24
24
|
assert(isinstance(props, ARObject))
|
|
25
25
|
assert(isinstance(props, SwPointerTargetProps))
|
|
26
26
|
|
|
27
|
-
assert(props.
|
|
28
|
-
assert(props.
|
|
29
|
-
assert(props.
|
|
27
|
+
assert(props.getFunctionPointerSignatureRef() == None)
|
|
28
|
+
assert(props.getSwDataDefProps() == None)
|
|
29
|
+
assert(props.getTargetCategory() == None)
|
|
@@ -42,9 +42,9 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_Datatype_DataPrototypes:
|
|
|
42
42
|
assert(isinstance(prototype, MultilanguageReferrable))
|
|
43
43
|
assert(isinstance(prototype, Referrable))
|
|
44
44
|
|
|
45
|
-
assert(prototype.
|
|
45
|
+
assert(prototype._parent == ar_root)
|
|
46
46
|
assert(prototype.short_name == "prototype")
|
|
47
|
-
assert(prototype.
|
|
47
|
+
assert(prototype.typeTRef is None)
|
|
48
48
|
|
|
49
49
|
def test_ApplicationCompositeElementDataPrototype(self):
|
|
50
50
|
with pytest.raises(NotImplementedError) as err:
|
|
@@ -26,7 +26,7 @@ class Test_M2_AUTOSARTemplates_CommonStructure_Implementation:
|
|
|
26
26
|
assert(isinstance(prototype, Referrable))
|
|
27
27
|
assert(isinstance(prototype, SymbolProps))
|
|
28
28
|
|
|
29
|
-
assert(prototype.
|
|
29
|
+
assert(prototype._parent == ar_root)
|
|
30
30
|
assert(prototype.short_name == "SymbolProps")
|
|
31
31
|
assert(prototype.symbol == "")
|
|
32
32
|
|
|
@@ -52,7 +52,7 @@ class Test_M2_MSR_AsamHdo_BaseTypes:
|
|
|
52
52
|
assert(isinstance(base_type, Referrable))
|
|
53
53
|
assert(isinstance(base_type, SwBaseType))
|
|
54
54
|
|
|
55
|
-
assert(base_type.
|
|
55
|
+
assert(base_type._parent == ar_root)
|
|
56
56
|
assert(base_type.short_name == "SwBaseType")
|
|
57
57
|
assert(isinstance(base_type.baseTypeDefinition, BaseTypeDirectDefinition))
|
|
58
58
|
|
|
@@ -97,9 +97,9 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_Datatype_Datatypes:
|
|
|
97
97
|
assert(isinstance(data_type, Referrable))
|
|
98
98
|
assert(isinstance(data_type, ApplicationPrimitiveDataType))
|
|
99
99
|
|
|
100
|
-
assert(data_type.
|
|
100
|
+
assert(data_type._parent == ar_root)
|
|
101
101
|
assert(data_type.short_name == "ApplicationPrimitiveDataType")
|
|
102
|
-
assert(data_type.
|
|
102
|
+
assert(data_type.swDataDefProps == None)
|
|
103
103
|
|
|
104
104
|
def test_ApplicationCompositeDataType(self):
|
|
105
105
|
with pytest.raises(NotImplementedError) as err:
|
|
@@ -128,7 +128,7 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_Datatype_Datatypes:
|
|
|
128
128
|
assert(isinstance(data_type, Referrable))
|
|
129
129
|
assert(isinstance(data_type, ApplicationArrayDataType))
|
|
130
130
|
|
|
131
|
-
assert(data_type.
|
|
131
|
+
assert(data_type._parent == ar_root)
|
|
132
132
|
assert(data_type.short_name == "ApplicationArrayDataType")
|
|
133
133
|
assert(data_type.dynamic_array_size_profile == None)
|
|
134
134
|
assert(data_type.element == None)
|
|
@@ -153,7 +153,7 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_Datatype_Datatypes:
|
|
|
153
153
|
assert(isinstance(data_type, Referrable))
|
|
154
154
|
assert(isinstance(data_type, ApplicationRecordDataType))
|
|
155
155
|
|
|
156
|
-
assert(data_type.
|
|
156
|
+
assert(data_type._parent == ar_root)
|
|
157
157
|
assert(data_type.short_name == "ApplicationRecordDataType")
|
|
158
158
|
|
|
159
159
|
element = data_type.createApplicationRecordElement("element")
|
|
@@ -185,7 +185,7 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_Datatype_Datatypes:
|
|
|
185
185
|
assert(isinstance(data_type_mapping_set, Referrable))
|
|
186
186
|
assert(isinstance(data_type_mapping_set, DataTypeMappingSet))
|
|
187
187
|
|
|
188
|
-
assert(data_type_mapping_set.
|
|
188
|
+
assert(data_type_mapping_set._parent == ar_root)
|
|
189
189
|
assert(data_type_mapping_set.short_name == "DataTypeMappingSet")
|
|
190
190
|
assert(len(data_type_mapping_set._dataTypeMaps) == 0)
|
|
191
191
|
|
|
@@ -224,7 +224,7 @@ class Test_M2_AUTOSARTemplates_CommonStructure_ImplementationDataTypes:
|
|
|
224
224
|
assert(isinstance(data_type, Referrable))
|
|
225
225
|
assert(isinstance(data_type, ImplementationDataType))
|
|
226
226
|
|
|
227
|
-
assert(data_type.
|
|
227
|
+
assert(data_type._parent == ar_root)
|
|
228
228
|
assert(data_type.short_name == "ImplementationDataType")
|
|
229
229
|
assert(data_type.sub_elements == [])
|
|
230
230
|
assert(data_type.symbol_props == None)
|
|
@@ -5,7 +5,7 @@ from ....models.ar_ref import RefType
|
|
|
5
5
|
from ....models.data_prototype import AtpPrototype, AutosarDataPrototype, DataPrototype, VariableDataPrototype
|
|
6
6
|
from ....models.datatype import AtpType
|
|
7
7
|
from ....models.general_structure import ARElement, ARObject, AtpFeature, CollectableElement, Identifiable, MultilanguageReferrable, PackageableElement, Referrable
|
|
8
|
-
from ....models.port_interface import ApplicationError, ArgumentDataPrototype, ClientServerInterface, ClientServerOperation, DataInterface, NvDataInterface, ParameterInterface, PortInterface, SenderReceiverInterface
|
|
8
|
+
from ....models.m2.autosar_templates.sw_component_template.port_interface import ApplicationError, ArgumentDataPrototype, ClientServerInterface, ClientServerOperation, DataInterface, NvDataInterface, ParameterInterface, PortInterface, SenderReceiverInterface
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
|
|
@@ -40,7 +40,7 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
|
|
|
40
40
|
assert(isinstance(data_if, Referrable))
|
|
41
41
|
assert(isinstance(data_if, NvDataInterface))
|
|
42
42
|
|
|
43
|
-
assert(data_if.
|
|
43
|
+
assert(data_if._parent == ar_root)
|
|
44
44
|
assert(data_if.short_name == "NvDataInterface")
|
|
45
45
|
|
|
46
46
|
def test_ParameterInterface(self):
|
|
@@ -63,7 +63,7 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
|
|
|
63
63
|
assert(isinstance(data_if, Referrable))
|
|
64
64
|
assert(isinstance(data_if, ParameterInterface))
|
|
65
65
|
|
|
66
|
-
assert(data_if.
|
|
66
|
+
assert(data_if._parent == ar_root)
|
|
67
67
|
assert(data_if.short_name == "ParameterInterface")
|
|
68
68
|
|
|
69
69
|
def test_SenderReceiverInterface(self):
|
|
@@ -87,7 +87,7 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
|
|
|
87
87
|
assert(isinstance(sr_if, SenderReceiverInterface))
|
|
88
88
|
|
|
89
89
|
assert(sr_if.short_name == "sr_if")
|
|
90
|
-
assert(sr_if.
|
|
90
|
+
assert(sr_if._parent == ar_root)
|
|
91
91
|
assert(len(sr_if.getDataElements()) == 0)
|
|
92
92
|
|
|
93
93
|
element = sr_if.createDataElement("element")
|
|
@@ -117,7 +117,7 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
|
|
|
117
117
|
assert(isinstance(prototype, Referrable))
|
|
118
118
|
assert(isinstance(prototype, ArgumentDataPrototype))
|
|
119
119
|
|
|
120
|
-
assert(prototype.
|
|
120
|
+
assert(prototype._parent == ar_root)
|
|
121
121
|
assert(prototype.short_name == "ArgumentDataPrototype")
|
|
122
122
|
assert(prototype.direction == "")
|
|
123
123
|
assert(prototype.server_argument_impl_policy == "")
|
|
@@ -133,7 +133,7 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
|
|
|
133
133
|
assert(isinstance(app_error, Referrable))
|
|
134
134
|
assert(isinstance(app_error, ApplicationError))
|
|
135
135
|
|
|
136
|
-
assert(app_error.
|
|
136
|
+
assert(app_error._parent == ar_root)
|
|
137
137
|
assert(app_error.short_name == "ApplicationError")
|
|
138
138
|
|
|
139
139
|
def test_ClientServerOperation(self):
|
|
@@ -72,13 +72,13 @@ class TestBswMD:
|
|
|
72
72
|
assert(len(behavior.getBswSchedulableEntities()) == 1)
|
|
73
73
|
entity = behavior.getBswSchedulableEntities()[0]
|
|
74
74
|
assert(entity.short_name == "BswM_MainFunction")
|
|
75
|
-
assert(entity.
|
|
76
|
-
assert(entity.
|
|
75
|
+
assert(entity.minimumStartInterval is not None)
|
|
76
|
+
assert(entity.minimumStartIntervalMs is not None)
|
|
77
77
|
assert(len(entity.getCanEnterExclusiveAreaRefs()) == 1)
|
|
78
78
|
assert(entity.getCanEnterExclusiveAreaRefs()[0].dest == "EXCLUSIVE-AREA")
|
|
79
79
|
assert(entity.getCanEnterExclusiveAreaRefs()[0].value == "/AUTOSAR_BswM/BswModuleDescriptions/BswM/InternalBehavior_0/SCHM_BSWM_EXCLUSIVE_AREA")
|
|
80
|
-
assert(entity.
|
|
81
|
-
assert(entity.
|
|
80
|
+
assert(entity.implementedEntryRef.dest == "BSW-MODULE-ENTRY")
|
|
81
|
+
assert(entity.implementedEntryRef.value == "/AUTOSAR_BswM/BswModuleEntrys/BswM_MainFunction")
|
|
82
82
|
|
|
83
83
|
assert(len(behavior.getBswTimingEvents()) == 1)
|
|
84
84
|
event = behavior.getBswTimingEvents()[0]
|
|
@@ -153,16 +153,16 @@ class TestBswMD:
|
|
|
153
153
|
|
|
154
154
|
assert(impl.programming_language.getValue() == "C")
|
|
155
155
|
|
|
156
|
-
assert(impl.
|
|
157
|
-
assert(len(impl.
|
|
156
|
+
assert(impl.resource_consumption.short_name == "ResourceConsumption")
|
|
157
|
+
assert(len(impl.resource_consumption.getMemorySections()) == 8)
|
|
158
158
|
|
|
159
|
-
section = impl.
|
|
159
|
+
section = impl.resource_consumption.getMemorySection("CODE")
|
|
160
160
|
assert(section.short_name == "CODE")
|
|
161
161
|
assert(section.alignment == None)
|
|
162
162
|
assert(section.swAddrMethodRef.dest == "SW-ADDR-METHOD")
|
|
163
163
|
assert(section.swAddrMethodRef.value == "/AUTOSAR_MemMap/SwAddrMethods/CODE")
|
|
164
164
|
|
|
165
|
-
section = impl.
|
|
165
|
+
section = impl.resource_consumption.getMemorySection("VAR_NO_INIT_UNSPECIFIED")
|
|
166
166
|
assert(section.short_name == "VAR_NO_INIT_UNSPECIFIED")
|
|
167
167
|
assert(section.alignment.getText() == "UNSPECIFIED")
|
|
168
168
|
assert(section.swAddrMethodRef.dest == "SW-ADDR-METHOD")
|
|
@@ -188,5 +188,13 @@ class TestBswMD:
|
|
|
188
188
|
|
|
189
189
|
assert(filecmp.cmp("src/armodel/tests/test_files/SoftwareComponents.arxml", "data/generated.arxml", shallow = False) == True)
|
|
190
190
|
|
|
191
|
+
def test_bswm_bswmd_arxml_loading_and_saving(self):
|
|
192
|
+
document = AUTOSAR.getInstance()
|
|
193
|
+
document.clear()
|
|
194
|
+
parser = ARXMLParser()
|
|
195
|
+
parser.load("src/armodel/tests/test_files/BswM_Bswmd.arxml", document)
|
|
191
196
|
|
|
197
|
+
writer = ARXMLWriter()
|
|
198
|
+
writer.save("data/generated_BswM_Bswmd.arxml", document)
|
|
192
199
|
|
|
200
|
+
assert(filecmp.cmp("src/armodel/tests/test_files/BswM_Bswmd.arxml", "data/generated_BswM_Bswmd.arxml", shallow = False) == True)
|
|
@@ -13,10 +13,10 @@ class TestSWComponents:
|
|
|
13
13
|
|
|
14
14
|
def test_ar_packages(self):
|
|
15
15
|
document = AUTOSAR.getInstance()
|
|
16
|
-
root_pkgs = sorted(document.getARPackages(), key = lambda pkg: pkg.
|
|
16
|
+
root_pkgs = sorted(document.getARPackages(), key = lambda pkg: pkg.getShortName())
|
|
17
17
|
|
|
18
18
|
assert(len(root_pkgs) == 1)
|
|
19
|
-
assert("DemoApplication" == root_pkgs[0].
|
|
19
|
+
assert("DemoApplication" == root_pkgs[0].getShortName())
|
|
20
20
|
|
|
21
21
|
def test_composition_sw_component_types(self):
|
|
22
22
|
document = AUTOSAR.getInstance()
|
|
@@ -75,16 +75,16 @@ class TestSWComponents:
|
|
|
75
75
|
|
|
76
76
|
assert(filecmp.cmp("src/armodel/tests/test_files/AUTOSAR_Datatypes.arxml", "data/generated_AUTOSAR_Datatypes.arxml", shallow = False) == True)
|
|
77
77
|
|
|
78
|
-
def
|
|
78
|
+
def test_bswm_mode_arxml_loading_and_saving(self):
|
|
79
79
|
document = AUTOSAR.getInstance()
|
|
80
80
|
document.clear()
|
|
81
81
|
parser = ARXMLParser()
|
|
82
|
-
parser.load("src/armodel/tests/test_files/
|
|
82
|
+
parser.load("src/armodel/tests/test_files/BswMMode.arxml", document)
|
|
83
83
|
|
|
84
84
|
writer = ARXMLWriter()
|
|
85
|
-
writer.save("data/
|
|
85
|
+
writer.save("data/generated_AUTOSAR_Datatypes.arxml", document)
|
|
86
86
|
|
|
87
|
-
assert(filecmp.cmp("src/armodel/tests/test_files/
|
|
87
|
+
assert(filecmp.cmp("src/armodel/tests/test_files/BswMMode.arxml", "data/generated_AUTOSAR_Datatypes.arxml", shallow = False) == True)
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
|