diff --git a/tests/test_readers.py b/tests/test_readers.py index 0cec9c022..31e110f13 100644 --- a/tests/test_readers.py +++ b/tests/test_readers.py @@ -2,6 +2,7 @@ from pathlib import Path from unittest.mock import patch +import numpy as np import toml import xarray as xr from pytest import fixture, mark, raises @@ -391,6 +392,10 @@ def test_read_existing_trade(tmp_path): assert isinstance(data, xr.DataArray) assert set(data.dims) == {"year", "technology", "dst_region", "region"} + assert list(data.coords["year"].values) == [2010, 2020, 2030, 2040, 2050] + assert list(data.coords["technology"].values) == ["gassupply1"] + assert list(data.coords["dst_region"].values) == ["R1", "R2"] + assert list(data.coords["region"].values) == ["R1", "R2"] def test_read_trade_technodata(tmp_path): @@ -412,6 +417,296 @@ def test_read_trade_technodata(tmp_path): "max_capacity_growth", "total_capacity_limit", } + assert all(val == np.float64 for val in data.dtypes.values()) + assert list(data.coords["dst_region"].values) == ["R1", "R2"] + assert list(data.coords["technology"].values) == ["gassupply1"] + assert list(data.coords["region"].values) == ["R1", "R2", "R3"] + assert all(var.coords.equals(data.coords) for var in data.data_vars.values()) + + +@fixture +def default_model(tmp_path): + from muse.examples import copy_model + + copy_model("default", tmp_path) + return tmp_path / "model" + + +def test_read_technodictionary(default_model): + from muse.readers.csv import read_technodictionary + + path = default_model / "technodata" / "residential" / "Technodata.csv" + data = read_technodictionary(path) + assert isinstance(data, xr.Dataset) + assert set(data.dims) == {"technology", "region"} + + assert dict(data.dtypes) == dict( + level=np.dtype("O"), + cap_par=np.dtype("float64"), + cap_exp=np.dtype("int64"), + fix_par=np.dtype("int64"), + fix_exp=np.dtype("int64"), + var_par=np.dtype("int64"), + interest_rate=np.dtype("float64"), + type=np.dtype("O"), + fuel=np.dtype("