def it_raises_an_exception(sesh_with_climate_baseline_variables, var_name, attr_name, attr_value): sesh = sesh_with_climate_baseline_variables variable = next(var for var in get_or_create_pcic_climate_baseline_variables(sesh) if var.name == var_name) setattr(variable, attr_name, attr_value) sesh.flush() with raises(AssertionError) as excinfo: verify_baseline_network_and_variables(sesh) assert var_name in str(excinfo.value) assert attr_name in str(excinfo.value) assert 'expected' in str(excinfo.value)
def it_returns_the_expected_variables(sesh_with_other_network_and_climatology_variables): variables = get_or_create_pcic_climate_baseline_variables( sesh_with_other_network_and_climatology_variables) assert len(variables) == 3 assert set([v.name for v in variables]) == set(climatology_var_names)
def sesh_with_climate_baseline_variables(sesh_with_other_network_and_climatology_variables): get_or_create_pcic_climate_baseline_variables(sesh_with_other_network_and_climatology_variables) yield sesh_with_other_network_and_climatology_variables
def sesh_with_1_var_missing(request, sesh_with_climate_baseline_variables): sesh = sesh_with_climate_baseline_variables variable = next(var for var in get_or_create_pcic_climate_baseline_variables(sesh) if var.name == request.param) sesh.delete(variable) yield sesh
def it_creates_no_more_than_one_of_each(session): sesh = session get_or_create_pcic_climate_baseline_variables(sesh) get_or_create_pcic_climate_baseline_variables(sesh) results = sesh.query(Variable).filter(Variable.name.like('%_Climatology')) assert results.count() == 3
def test_returns_the_expected_variables(empty_database_session): sesh = empty_database_session variables = get_or_create_pcic_climate_baseline_variables(sesh) assert len(variables) == 3 assert set([v.name for v in variables]) == set(['Tx_Climatology', 'Tn_Climatology', 'Precip_Climatology'])
def sesh_with_climate_baseline_variables(empty_database_session): sesh = empty_database_session get_or_create_pcic_climate_baseline_variables(sesh) yield sesh