Source code for gdxpds.test.test_read

import logging
import os

import pytest

import gdxpds.gdx
from gdxpds import to_dataframes, list_symbols, get_data_types
from gdxpds.test import base_dir

logger = logging.getLogger(__name__)

[docs]def test_read(): filename = 'all_generator_properties_input.gdx' gdx_file = os.path.join(base_dir,filename) with gdxpds.gdx.GdxFile() as f: f.read(gdx_file) for symbol in f: symbol.load()
[docs]def test_read_none(): with pytest.raises(gdxpds.gdx.GdxError) as excinfo: to_dataframes(None) assert "Could not open None" in str(excinfo.value)
[docs]def test_read_path(): filename = 'all_generator_properties_input.gdx' from pathlib import Path gdx_file = Path(base_dir) / filename symbol_names = list_symbols(gdx_file) n = len(symbol_names) assert isinstance(symbol_names[0], str) assert n == 7 dfs = to_dataframes(gdx_file) assert len(dfs) == n # data frames are loaded in order for i, symbol_name in enumerate(dfs): assert symbol_names[i] == symbol_name dtypes = get_data_types(gdx_file) # this file is all parameters for val in dtypes.values(): val == gdxpds.gdx.GamsDataType.Parameter
[docs]def test_unload(): filename = 'all_generator_properties_input.gdx' gdx_file = os.path.join(base_dir,filename) with gdxpds.gdx.GdxFile() as f: f.read(gdx_file) assert not f['startupfuel'].loaded assert f['startupfuel'].dataframe.empty f['startupfuel'].load() assert f['startupfuel'].loaded assert not f['startupfuel'].dataframe.empty assert 'CC' in f['startupfuel'].dataframe['*'].tolist() f['startupfuel'].unload() assert not f['startupfuel'].loaded assert f['startupfuel'].dataframe.empty f['startupfuel'].load() assert f['startupfuel'].loaded assert not f['startupfuel'].dataframe.empty assert 'CC' in f['startupfuel'].dataframe['*'].tolist()