Skip to content
Snippets Groups Projects

Draft: Corrige les paramètres dans les requête post-harmonisation

1 file
+ 82
3
Compare changes
  • Side-by-side
  • Inline
@@ -178,7 +178,7 @@ def test_calcule_maillage_intervalle():
assert_frame_equal(revenus_bruts, expected, check_dtype=False)
# openfisca-france < v 115.0.0
dictreform = {
"impot_revenu": {
"bareme": {
@@ -208,7 +208,6 @@ dictreform = {
}
}
# Bon je veux : calculer l'inverse de quelques revenu_imposable : 10000, 20000, 30000
# Check que le salaire_imposable est bien le même à l'arrivée qu'au début
@@ -256,15 +255,18 @@ def requested_simulations():
def test_sim_pop_dict_content(reform, requested_simulations):
simulation_reform = simulation(PERIOD, DUMMY_DATA, reform)
comp_result = compare(PERIOD, {"apres": simulation_reform})
assert "total" in comp_result
assert "deciles" in comp_result
assert "frontieres_deciles" in comp_result
assert len(comp_result["frontieres_deciles"]) == len(comp_result["deciles"])
assert "foyers_fiscaux_touches" in comp_result
# assert len(comp_result["deciles"])==10 Removed cause with the cas type description
for key in requested_simulations:
assert key in comp_result["total"]
assert key in comp_result["deciles"][0]
for index_key_1 in range(len(requested_simulations)):
for index_key_2 in range(index_key_1 + 1, len(requested_simulations)):
key = (
@@ -362,3 +364,80 @@ def test_sim_custom_cas_types_dict_content_ok(requested_simulations):
assert key in comp_result["total"]
assert key in comp_result["res_brut"]
assert len(comp_result["res_brut"][key]) == len(dict_cas)
# OPENFISCA-FRANCE v115+
# v115 = harmonisation IR
# https://github.com/openfisca/openfisca-france/pull/1823
dictreform_openfisca_france_v115_plus = {
"impot_revenu": {
"calcul_impot_revenu": {
"plaf_qf": {
"abat_dom": {
"taux_GuadMarReu": 0.3,
"plaf_GuadMarReu": 2450,
"taux_GuyMay": 0.4,
"plaf_GuyMay": 4050,
},
"general": 1551, # était 'maries_ou_pacses'
"celib_enf": 3660,
"celib": 927,
"reduc_postplafond": 1547,
"reduc_postplafond_veuf": 1728,
"reduction_ss_condition_revenus": {
"seuil_maj_enf": 3797,
"seuil1": 18985,
"seuil2": 21037,
"taux": 0.20,
},
},
"decote": {"seuil_celib": 1196, "seuil_couple": 1970, "taux": 0.75}
},
"bareme_ir_depuis_1945": {
"bareme": {
"seuils": [0, 9964, 27159, 73779, 156244],
"taux": [0, 0.14, 0.30, 0.41, 0.45],
},
},
}
}
@fixture
def reform_openfisca_france_v115_plus():
return IncomeTaxReform(TBS, dictreform_openfisca_france_v115_plus, PERIOD)
def test_sim_pop_v115_dict_content(reform_openfisca_france_v115_plus, requested_simulations):
simulation_reform = simulation(PERIOD, DUMMY_DATA, reform_openfisca_france_v115_plus)
comp_result = compare(PERIOD, {"apres": simulation_reform})
assert "total" in comp_result
assert "deciles" in comp_result
assert "frontieres_deciles" in comp_result
assert len(comp_result["frontieres_deciles"]) == len(comp_result["deciles"])
assert "foyers_fiscaux_touches" in comp_result
# assert len(comp_result["deciles"])==10 Removed cause with the cas type description
for key in requested_simulations:
assert key in comp_result["total"]
assert key in comp_result["deciles"][0]
for index_key_1 in range(len(requested_simulations)):
for index_key_2 in range(index_key_1 + 1, len(requested_simulations)):
key = (
requested_simulations[index_key_1]
+ "_to_"
+ requested_simulations[index_key_2]
)
# list of keys checked can be for example ["avant_to_apres", "avant_to_plf", "plf_to_apres"]
assert key in comp_result["foyers_fiscaux_touches"]
for type_touche, nb_people in comp_result["foyers_fiscaux_touches"][
key
].items():
assert type_touche in [
"gagnant",
"neutre",
"perdant",
"perdant_zero",
"neutre_zero",
]
assert isinstance(nb_people, int)
Loading