Source code for message_ix_models.tests.util.test_sdmx

import logging
import re

from sdmx.model.v21 import Annotation, Code

from message_ix_models.util.sdmx import eval_anno


[docs]def test_eval_anno(caplog): c = Code() assert None is eval_anno(c, "foo") c.annotations.append(Annotation(id="foo", text="bar baz")) with caplog.at_level(logging.DEBUG, logger="message_ix_models"): assert "bar baz" == eval_anno(c, "foo") assert re.fullmatch( r"Could not eval\('bar baz'\): .* \(<string>, line 1\)", caplog.messages[0] ) c.annotations.append(Annotation(id="qux", text="3 + 4")) assert 7 == eval_anno(c, id="qux")