def test_pop_missing_observation_with_default_no_side_effect( imperfect_composite: Composite): expected: Dict = copy.deepcopy(imperfect_composite.content) imperfect_composite.pop_observation("the_weight_var", "2012", treat_missing_as_null=True) assert imperfect_composite.content == expected
def test_pop_observation_deletes_value(imperfect_composite: Composite): expected: Dict = { "2010": { "weight_in_pounds": None }, "2011": {}, "2012": {} } imperfect_composite.pop_observation("the_weight_var", "2011") assert imperfect_composite.content == expected
def test_pop_missing_observation_with_default_returns_none( imperfect_composite: Composite): assert imperfect_composite.pop_observation( "the_weight_var", "2012", treat_missing_as_null=True) is None
def test_pop_missing_observation_no_default_raises( imperfect_composite: Composite): with pytest.raises(MissingDataError): imperfect_composite.pop_observation("the_weight_var", "2012")
def test_pop_observation_gets_value(imperfect_composite: Composite): assert imperfect_composite.pop_observation("the_weight_var", "2011") == 170.1