예제 #1
0
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
예제 #2
0
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
예제 #3
0
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
예제 #4
0
def test_pop_missing_observation_no_default_raises(
        imperfect_composite: Composite):
    with pytest.raises(MissingDataError):
        imperfect_composite.pop_observation("the_weight_var", "2012")
예제 #5
0
def test_pop_observation_gets_value(imperfect_composite: Composite):
    assert imperfect_composite.pop_observation("the_weight_var",
                                               "2011") == 170.1