Source code for message_ix_models.tests.model.transport.test_disutility

from ixmp.testing import assert_logs

import message_ix_models.model.transport.build
from message_ix_models.model.transport import testing


[docs] @message_ix_models.model.transport.build.get_computer.minimum_version def test_disutility( caplog, tmp_path, test_context, regions="R12", years="B", options={} ): test_context.dry_run = True c, info = testing.configure_build( test_context, tmp_path=tmp_path, regions=regions, years=years, options=options ) # Calculation succeeds key = "disutility::ixmp" # print(c.describe(key)) result = c.get(key) # print(f"{result = }") # Result contains data for the "input" parameter only df = result.pop("input") assert 0 == len(result) # print(f"{df = }") # No missing values assert not df.isna().any(axis=None) # All model years are included assert set(c.get("y::model")) == set(df.year_vtg.unique()) # Data are added to the scenario N = 12 * 27 * 12 * 14 # n × cg × t × y with assert_logs(caplog, f"{N} rows in 'input'"): c.get("add message_ix_models.model.transport.disutility")