Source code for message_ix_models.tests.util.test_genno

import pytest

from message_ix_models.util.genno import append


[docs] def test_append() -> None: from genno import Computer c = Computer() # Append to list c.add("key", ["foo", "bar"]) # Function runs without error append(c, "key", "baz") # Task is extended assert ["foo", "bar", "baz"] == c.graph["key"] # Task runs assert ["foo", "bar", "baz"] == c.get("key") # Append to tuple c.add("key", lambda *args: " ".join(args), "foo", "bar") # Function runs without error append(c, "key", "baz") # Task is extended assert ("foo", "bar", "baz") == c.graph["key"][1:] # Task runs assert "foo bar baz" == c.get("key") # Not supported target type c.graph["key"] = object() with pytest.raises(TypeError): append(c, "key", "baz")