Source code for egon.data.datasets.emobility.motorized_individual_travel.tests

"""
Sanity checks for motorized individual travel
"""

from numpy.testing import assert_allclose

from egon.data.datasets.emobility.motorized_individual_travel.helpers import (
    CONFIG_EV,
)


[docs]def validate_electric_vehicles_numbers(dataset_name, ev_data, ev_target): """Validate cumulative numbers of electric vehicles' distribution. Tests * Check if all cells are not NaN * Check if total number matches produced results (tolerance: 0.01 %) Parameters ---------- dataset_name : str Name of data, used for error printing ev_data : pd.DataFrame EV data ev_target : int Desired number of EVs """ assert not ev_data.isna().any().any() assert_allclose( ev_data[[_ for _ in CONFIG_EV.keys()]].sum().sum(), ev_target, rtol=0.0001, err_msg=f"Dataset on EV numbers [{dataset_name}] seems to be flawed.", )