def test_to_primitive(self): """ Check converting PDU to primitive """ pdu = A_ASSOCIATE_AC() pdu.decode(a_associate_ac) primitive = pdu.to_primitive() assert primitive.application_context_name == UID( '1.2.840.10008.3.1.1.1') assert primitive.calling_ae_title == b'ECHOSCU ' assert primitive.called_ae_title == b'ANY-SCP ' # Test User Information for item in primitive.user_information: # Maximum PDU Length (required) if isinstance(item, MaximumLengthNegotiation): assert item.maximum_length_received == 16384 assert isinstance(item.maximum_length_received, int) # Implementation Class UID (required) elif isinstance(item, ImplementationClassUIDNotification): assert item.implementation_class_uid == UID( '1.2.276.0.7230010.3.0.3.6.0') assert isinstance(item.implementation_class_uid, UID) # Implementation Version Name (optional) elif isinstance(item, ImplementationVersionNameNotification): assert item.implementation_version_name == b'OFFIS_DCMTK_360' assert isinstance(item.implementation_version_name, bytes) # Test Presentation Contexts for context in primitive.presentation_context_definition_list: assert context.context_id == 1 assert context.transfer_syntax[0] == UID('1.2.840.10008.1.2') assert isinstance(primitive.application_context_name, UID) assert isinstance(primitive.calling_ae_title, bytes) assert isinstance(primitive.called_ae_title, bytes) assert isinstance(primitive.user_information, list) assert primitive.result == 0 assert len(primitive.presentation_context_definition_results_list) == 1 # Not used by A-ASSOCIATE-AC or fixed value assert primitive.mode == "normal" assert primitive.responding_ae_title == primitive.called_ae_title assert primitive.result_source is None assert primitive.diagnostic is None assert primitive.calling_presentation_address is None assert primitive.called_presentation_address is None assert primitive.responding_presentation_address == ( primitive.called_presentation_address) assert primitive.presentation_context_definition_list == [] assert primitive.presentation_requirements == "Presentation Kernel" assert primitive.session_requirements == ""
def test_from_primitive(self): """ Check converting PDU to primitive """ orig = A_ASSOCIATE_AC() orig.decode(a_associate_ac) primitive = orig.to_primitive() new = A_ASSOCIATE_AC() new.from_primitive(primitive) assert new == orig