def test_validate_year(meta_df): obs = meta_df.validate({'Primary Energy': {'up': 5.0, 'year': 2005}}, exclude_on_fail=False) assert obs is None obs = meta_df.validate({'Primary Energy': {'up': 5.0, 'year': 2010}}, exclude_on_fail=False) assert len(obs) == 2
def test_validate_up(meta_df): obs = meta_df.validate({'Primary Energy': {'up': 6.5}}, exclude_on_fail=False) assert len(obs) == 1 assert obs['year'].values[0] == 2010 assert list(meta_df['exclude']) == [False, False] # assert none excluded
def test_validate_nonexisting(meta_df): obs = meta_df.validate({'Primary Energy|Coal': {'up': 2}}, exclude_on_fail=True) assert len(obs) == 1 assert obs['scenario'].values[0] == 'a_scenario' assert list(meta_df['exclude']) == [True, False] # scenario with failed
def test_validate_all_pass(meta_df): obs = meta_df.validate( {'Primary Energy': {'up': 10}}, exclude_on_fail=True) assert obs is None assert len(meta_df.data) == 6 # data unchanged assert list(meta_df['exclude']) == [False, False] # none excluded
def test_validate_exclude(meta_df): meta_df.validate({'Primary Energy': {'up': 6.0}}, exclude_on_fail=True) assert list(meta_df['exclude']) == [False, True]
def test_validate_both(meta_df): obs = meta_df.validate({'Primary Energy': {'up': 6.5, 'lo': 2.0}}) assert len(obs) == 2 assert list(obs['year'].values) == [2005, 2010] assert list(obs['scenario'].values) == ['a_scenario', 'a_scenario2']
def test_validate_lo(meta_df): obs = meta_df.validate({'Primary Energy': {'up': 8, 'lo': 2.0}}) assert len(obs) == 1 assert obs['year'].values[0] == 2005 assert list(obs['scenario'].values) == ['a_scenario']