From 29f9dfe055e9e7f702da0869c4e1682f68811450 Mon Sep 17 00:00:00 2001 From: Denis Merigoux Date: Thu, 14 Jul 2022 15:11:28 +0200 Subject: [PATCH] More testing and code fixing --- .../code_construction_reglementaire.catala_fr | 28 ++++----- examples/aides_logement/prologue.catala_fr | 10 +-- ...lcul_apl_accession_propriete.catala_fr.ex1 | 2 + ...lcul_apl_accession_propriete.catala_fr.ex2 | 2 + ...s_calcul_apl_accession_propriete.catala_fr | 61 +++++++++++++++++-- 5 files changed, 80 insertions(+), 23 deletions(-) create mode 100644 examples/aides_logement/tests/output/tests_calcul_apl_accession_propriete.catala_fr.ex1 create mode 100644 examples/aides_logement/tests/output/tests_calcul_apl_accession_propriete.catala_fr.ex2 diff --git a/examples/aides_logement/code_construction_reglementaire.catala_fr b/examples/aides_logement/code_construction_reglementaire.catala_fr index 55836126..35b0444a 100644 --- a/examples/aides_logement/code_construction_reglementaire.catala_fr +++ b/examples/aides_logement/code_construction_reglementaire.catala_fr @@ -3481,7 +3481,19 @@ se situent les ressources ; champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: définition mensualité_minimale sous condition - type_travaux_logement sous forme SurLocauxNonHabitation + type_travaux_logement sous forme TravauxPourAcquisitionD832_15_1 ou + # Comment interpetéter le R832-5 dans + # le cas d'un prêt conventionné D331-63 alinéa 3° où le prêt finance + # l'acquisition d'un logement existant sans travaux et donc sans + # amélioration; le demandeur est-il éligible à l'APL de ce cas et si oui, + # peut-on nous confirmer que le montant de la mensualité minimale est bien + # calculée selon l'alinéa 1° de D832-15 ? + # Réponse de DGALN/DHUP/FE4 le 25/05/2022: + # "Le demandeur est éligible à l’APL qui est calculée selon l’alinéa 1° + # du D832-15. Le 2° ne concerne que les travaux d’amélioration." + # La réponse à notre question est bien oui pour les deux items, + # d'où la ligne ci-dessous. + type_travaux_logement sous forme TypeTravauxLogementD832_15.PasDeTravaux conséquence égal à # Pour la tranche supérieure ((si ressources_ménage_arrondies -€ montant_limite_tranches_d832_15_1 *€ @@ -3529,19 +3541,7 @@ champ d'application CalculAidePersonnaliséeLogement: champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: définition mensualité_minimale sous condition - type_travaux_logement sous forme SurLogementExistant ou - # Comment interpetéter le R832-5 dans - # le cas d'un prêt conventionné D331-63 alinéa 3° où le prêt finance - # l'acquisition d'un logement existant sans travaux et donc sans - # amélioration; le demandeur est-il éligible à l'APL de ce cas et si oui, - # peut-on nous confirmer que le montant de la mensualité minimale est bien - # calculée selon l'alinéa 2° de D832-15 ? - # Réponse de DGALN/DHUP/FE4 le 25/05/2022: - # "Le demandeur est éligible à l’APL qui est calculée selon l’alinéa 1° - # du D832-15. Le 2° ne concerne que les travaux d’amélioration." - # La réponse à notre question est bien oui pour les deux items, - # d'où la ligne ci-dessous. - type_travaux_logement sous forme TypeTravauxLogementD832_15.PasDeTravaux + type_travaux_logement sous forme TravauxSurLogementDéjàAcquisD832_15_2 conséquence égal à équivalence_minimale_loyer ``` diff --git a/examples/aides_logement/prologue.catala_fr b/examples/aides_logement/prologue.catala_fr index dea8548e..12db59e8 100644 --- a/examples/aides_logement/prologue.catala_fr +++ b/examples/aides_logement/prologue.catala_fr @@ -62,8 +62,8 @@ déclaration structure Propriétaire: donnée prêt contenu Prêt déclaration énumération TypeTravauxLogementD832_15: - -- SurLocauxNonHabitation - -- SurLogementExistant + -- TravauxPourAcquisitionD832_15_1 + -- TravauxSurLogementDéjàAcquisD832_15_2 -- PasDeTravaux déclaration énumération TypeTravauxLogementR842_5: @@ -667,14 +667,14 @@ déclaration champ d'application entrée ancienneté_logement contenu NeufOuAncien entrée date_courante contenu date - interne mensualité_éligible contenu argent - interne mensualité_minimale contenu argent + sortie mensualité_éligible contenu argent + sortie mensualité_minimale contenu argent interne plafond_mensualité_d832_10_3 contenu argent état base état copropriétaires interne calcul_plafond_mensualité_d832_10_3 contenu argent dépend de date interne n_nombre_parts_d832_11 contenu décimal - interne coefficient_prise_en_charge_d832_10 contenu décimal + sortie coefficient_prise_en_charge_d832_10 contenu décimal état formule état arrondi état seuil diff --git a/examples/aides_logement/tests/output/tests_calcul_apl_accession_propriete.catala_fr.ex1 b/examples/aides_logement/tests/output/tests_calcul_apl_accession_propriete.catala_fr.ex1 new file mode 100644 index 00000000..00d4f961 --- /dev/null +++ b/examples/aides_logement/tests/output/tests_calcul_apl_accession_propriete.catala_fr.ex1 @@ -0,0 +1,2 @@ +[RESULT] Computation successful! Results: +[RESULT] montant = 181.91 € diff --git a/examples/aides_logement/tests/output/tests_calcul_apl_accession_propriete.catala_fr.ex2 b/examples/aides_logement/tests/output/tests_calcul_apl_accession_propriete.catala_fr.ex2 new file mode 100644 index 00000000..b73d51fe --- /dev/null +++ b/examples/aides_logement/tests/output/tests_calcul_apl_accession_propriete.catala_fr.ex2 @@ -0,0 +1,2 @@ +[RESULT] Computation successful! Results: +[RESULT] montant = 67.34 € diff --git a/examples/aides_logement/tests/tests_calcul_apl_accession_propriete.catala_fr b/examples/aides_logement/tests/tests_calcul_apl_accession_propriete.catala_fr index 31df763f..b52c9ed9 100644 --- a/examples/aides_logement/tests/tests_calcul_apl_accession_propriete.catala_fr +++ b/examples/aides_logement/tests/tests_calcul_apl_accession_propriete.catala_fr @@ -19,7 +19,8 @@ champ d'application Exemple1: définition calcul.date_courante égal à |2021-09-15| définition calcul.type_prêt égal à D331_63_64 - définition calcul.type_travaux_logement égal à TypeTravauxLogementD832_15.SurLocauxNonHabitation + définition calcul.type_travaux_logement égal à + TypeTravauxLogementD832_15.PasDeTravaux définition calcul.ancienneté_logement égal à Neuf définition calcul.date_entrée_logement égal à |2017-12-15| définition calcul.local_habité_première_fois_bénéficiaire égal à faux @@ -29,7 +30,59 @@ champ d'application Exemple1: # On n'est pas dans le cas où l'on doit calculer cette valeur définition calcul.équivalence_minimale_loyer égal à 0 € - définition montant égal à - # calcul.traitement_aide_finale de - calcul.aide_finale_formule + définition montant égal à calcul.traitement_aide_finale de calcul.aide_finale_formule + assertion montant = 181,91 € + assertion calcul.mensualité_éligible = 533,91 € + assertion calcul.mensualité_minimale = 332,76 € + assertion calcul.coefficient_prise_en_charge_d832_10 = 0,67 + assertion calcul.aide_finale_formule = 187,35€ +``` + +```catala +# Tiré de la page 45 de +# https://www.ecologie.gouv.fr/sites/default/files/les_aides_personnelles_au_logement_element_de_calcul_septembre_2021.pdf#page=45 +déclaration champ d'application Exemple2: + calcul champ d'application CalculAidePersonnaliséeLogementAccessionPropriété + sortie montant contenu argent + +champ d'application Exemple2: + définition calcul.ressources_ménage_arrondies égal à 19 000 € + définition calcul.date_signature_prêt égal à |2019-12-2| + définition calcul.zone égal à Zone3 + définition calcul.mensualité_principale égal à 495,73 € + définition calcul.nombre_personnes_à_charge égal à 2 + définition calcul.situation_familiale_calcul_apl égal à Couple + définition calcul.date_courante égal à |2021-09-15| + définition calcul.type_prêt égal à D331_63_64 + + définition calcul.type_travaux_logement égal à + TypeTravauxLogementD832_15.TravauxPourAcquisitionD832_15_1 + définition calcul.ancienneté_logement égal à (Ancien contenu (AmélioréParOccupant.Oui)) + définition calcul.date_entrée_logement égal à |2017-12-15| + définition calcul.local_habité_première_fois_bénéficiaire égal à faux + définition calcul.copropriété égal à faux + définition calcul.situation_r822_11_13_17 égal à faux + + # On n'est pas dans le cas où l'on doit calculer cette valeur + définition calcul.équivalence_minimale_loyer égal à 0 € + + # Ici nous sommes en désaccord avec la valeur finale, car la mensualité + # plafond est déterminée dans le cas d'un logement ancien acquis et amélioré + # par le 18° b° de l'article 18 de l'arrêté du 27 septembre 2019, et non + # par le 18° a). Ce qui donne une mensualité éligible de 399,20 € et non + # de 495,73 €. + définition montant égal à calcul.traitement_aide_finale de calcul.aide_finale_formule + assertion montant = 67,34 € + assertion calcul.mensualité_éligible = 399,20 € + assertion calcul.mensualité_minimale = 367,42 € + assertion calcul.coefficient_prise_en_charge_d832_10 = 0,66 + assertion calcul.aide_finale_formule = 72,77€ +``` + +```catala-test { id = "ex1"} +catala Interpret -s Exemple1 +``` + +```catala-test { id = "ex2"} +catala Interpret -s Exemple2 ```