@@ -428,6 +428,50 @@ def test_stripped_asset_administration_shell(self) -> None:
428428 self .assertEqual (len (aas .submodel ), 0 )
429429
430430
431+ class XmlDeserializationDataSpecTest (unittest .TestCase ):
432+ def test_data_spec_iec61360_value_without_value_format (self ) -> None :
433+ xml = _xml_wrap (f"""
434+ <aas:conceptDescriptions>
435+ <aas:conceptDescription>
436+ <aas:id>http://example.org/test_cd</aas:id>
437+ <aas:embeddedDataSpecifications>
438+ <aas:embeddedDataSpecification>
439+ <aas:dataSpecification>
440+ <aas:type>ExternalReference</aas:type>
441+ <aas:keys>
442+ <aas:key>
443+ <aas:type>GlobalReference</aas:type>
444+ <aas:value>https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIec61360/3/0</aas:value>
445+ </aas:key>
446+ </aas:keys>
447+ </aas:dataSpecification>
448+ <aas:dataSpecificationContent>
449+ <aas:dataSpecificationIec61360>
450+ <aas:preferredName>
451+ <aas:langStringPreferredNameTypeIec61360>
452+ <aas:language>en</aas:language>
453+ <aas:text>Test</aas:text>
454+ </aas:langStringPreferredNameTypeIec61360>
455+ </aas:preferredName>
456+ <aas:value>test_value</aas:value>
457+ </aas:dataSpecificationIec61360>
458+ </aas:dataSpecificationContent>
459+ </aas:embeddedDataSpecification>
460+ </aas:embeddedDataSpecifications>
461+ </aas:conceptDescription>
462+ </aas:conceptDescriptions>
463+ """ )
464+ object_store = read_aas_xml_file (io .StringIO (xml ), failsafe = False )
465+ cd = object_store .get_item ("http://example.org/test_cd" )
466+ self .assertIsInstance (cd , model .ConceptDescription )
467+ assert isinstance (cd , model .ConceptDescription )
468+ ds_content = list (cd .embedded_data_specifications )[0 ].data_specification_content
469+ self .assertIsInstance (ds_content , model .DataSpecificationIEC61360 )
470+ assert isinstance (ds_content , model .DataSpecificationIEC61360 )
471+ self .assertEqual ("test_value" , ds_content .value )
472+ self .assertIsNone (ds_content .value_format )
473+
474+
431475class XmlDeserializationDerivingTest (unittest .TestCase ):
432476 def test_submodel_constructor_overriding (self ) -> None :
433477 class EnhancedSubmodel (model .Submodel ):
0 commit comments