def test_assignment_and_exceptions(self): """ Check incorrect types/values for implementation_class_uid raise exceptions """ primitive = ImplementationClassUIDNotification() ## Check assignment reference_uid = UID('1.2.826.0.1.3680043.9.3811.0.9.0') # bytes primitive.implementation_class_uid = b'1.2.826.0.1.3680043.9.3811.0.9.0' self.assertTrue(primitive.implementation_class_uid == reference_uid) # str primitive.implementation_class_uid = '1.2.826.0.1.3680043.9.3811.0.9.0' self.assertTrue(primitive.implementation_class_uid == reference_uid) # UID primitive.implementation_class_uid = UID( '1.2.826.0.1.3680043.9.3811.0.9.0') self.assertTrue(primitive.implementation_class_uid == reference_uid) ## Check exceptions primitive = ImplementationClassUIDNotification() # No value set with pytest.raises(ValueError): item = primitive.from_primitive() # Non UID, bytes or str with pytest.raises(TypeError): primitive.implementation_class_uid = 45.2 with pytest.raises(TypeError): primitive.implementation_class_uid = 100
def test_conversion(self): """ Check converting to PDU item works correctly """ primitive = ImplementationClassUIDNotification() primitive.implementation_class_uid = UID('1.2.826.0.1.3680043.9.3811.0.9.0') item = primitive.from_primitive() self.assertTrue(item.encode() == b"\x52\x00\x00\x20\x31\x2e\x32\x2e\x38\x32\x36\x2e\x30\x2e\x31" \ b"\x2e\x33\x36\x38\x30\x30\x34\x33\x2e\x39\x2e\x33\x38\x31\x31\x2e" \ b"\x30\x2e\x39\x2e\x30")