Esempio n. 1
0
def test_ad_hoc_no_identifier_target(schema, composite):
    subjects: List[VariableId] = [
        cast(VariableId, "ah_source_%i" % (i + 1)) for i in range(3)
    ]
    change: Change = CrossSectionalMinimum(schema, {}, subjects, target_date)
    expected: Dict = copy.deepcopy(composite.content)
    expected["immutable"]["targets"] = {"target_date": "1893-07-16"}
    change(composite)
    assert composite.content == expected
def test_ad_hoc_supplying_identifier_raises(schema):
    # Admittedly an imperfect test, but I couldn't think of a better one
    subjects: List[VariableId] = [
        cast(VariableId, "ah_source_%i" % (i + 1)) for i in range(3)
    ]
    with pytest.raises(ValueError):
        CrossSectionalMinimum(schema, {},
                              subjects,
                              target_date,
                              identifier=text_in_list)
Esempio n. 3
0
def test_keyed_list_min(schema, composite):
    change: Change = CrossSectionalMinimum(schema, {},
                                           kl_in_root,
                                           target_decimal,
                                           argument=decimal_in_kl,
                                           identifier_target=target_text)
    expected: Dict = copy.deepcopy(composite.content)
    expected["immutable"]["targets"] = {
        "target_decimal": -24.3,
        "target_text": "blue"
    }
    change(composite)
    assert composite.content == expected
Esempio n. 4
0
def test_list_min(schema, composite):
    change: Change = CrossSectionalMinimum(schema, {},
                                           list_in_root,
                                           target_int,
                                           argument=int_in_list,
                                           identifier=text_in_list,
                                           identifier_target=target_text)
    change(composite)

    expected: Dict = copy.deepcopy(composite.content)
    expected["immutable"]["targets"] = {
        "target_integer": -75,
        "target_text": "c"
    }
    assert composite.content == expected
Esempio n. 5
0
def test_ad_hoc_subjects_min_custom_ids(schema, composite):
    subjects: Dict[VariableId, str] = {
        cast(VariableId, "ah_source_%i" % (i + 1)): "new_name_%i" % (i + 1)
        for i in range(3)
    }
    change: Change = CrossSectionalMinimum(schema, {},
                                           subjects,
                                           target_date,
                                           identifier_target=target_text)
    expected: Dict = copy.deepcopy(composite.content)
    expected["immutable"]["targets"] = {
        "target_date": "1893-07-16",
        "target_text": "new_name_2"
    }
    change(composite)
    assert composite.content == expected