Typecheck and fix the inheritance tax example

This commit is contained in:
Denis Merigoux 2021-05-31 16:59:43 +02:00
parent 32aa818249
commit df01733bbd
No known key found for this signature in database
GPG Key ID: EE99DCFA365C3EE3
3 changed files with 106 additions and 33 deletions

14
examples/droit_successions/.gitignore vendored Normal file
View File

@ -0,0 +1,14 @@
*.aux
*.dvi
*.fdb_latexmk
*.fls
*.log
*.out
*.fls
*.tex
*.pdf
_minted*
*.toc
*.pyg
*.d
*.ml

View File

@ -28,26 +28,19 @@ déclaration structure Enfant:
déclaration structure BienUsufruitRenteViagère:
donnée valeur contenu argent
donnée prise_en_compte_pour_réservé_héréditaire contenu booléen
donnée prise_en_compte_pour_réserve_héréditaire contenu booléen
déclaration champ d'application RéserveHéréditaire:
contexte quotité_réserve_héréditaire contenu décimal
# On suppose dans la collection ci dessous que tout le monde vérifie
# les conditions de validation_enfant_réserve_héréditaire
contexte enfants contenu collection Enfant
contexte enfant_pris_en_compte_réserve_héréditaire contenu booléen dépend de Enfant
contexte enfants_réserve_héréditaire contenu collection Enfant
contexte conjoint_survivant_non_divorcé condition
contexte validation_enfant_réserve_héréditaire condition dépend de Enfant
contexte validation condition
contexte nombre_enfants_réserve_héréditaire contenu entier
contexte patrimoine_total contenu argent
contexte patrimoine_usufruit_rente_viagère contenu collection BienUsufruitRenteViagère
contexte patrimoine_réserve_héréditaire contenu argent
champ d'application RéserveHéréditaire:
définition nombre_enfants_réserve_héréditaire égal à
nombre de enfants_réserve_héréditaire
contexte biens_usufruit_rente_viagère contenu collection BienUsufruitRenteViagère
contexte patrimoine_assiette_réserve_héréditaire contenu argent
contexte montant_réserve_héréditaire contenu argent
```
> Fin métadonnées
@ -61,15 +54,15 @@ ou un plus grand nombre.
```catala
champ d'application RéserveHéréditaire:
définition quotité_réserve_héréditaire
sous condition nombre_enfants_réserve_héréditaire = 1 conséquence
sous condition nombre de enfants_réserve_héréditaire = 1 conséquence
égal à 1,0 /. 2,0
définition quotité_réserve_héréditaire
sous condition nombre_enfants_réserve_héréditaire = 2 conséquence
sous condition nombre de enfants_réserve_héréditaire = 2 conséquence
égal à 1,0 /. 3,0
définition quotité_réserve_héréditaire
sous condition nombre_enfants_réserve_héréditaire >= 3 conséquence
sous condition nombre de enfants_réserve_héréditaire >= 3 conséquence
égal à 1,0 /. 4,0
```
@ -79,19 +72,14 @@ d'une libéralité en application des dispositions de l'article 845.
```catala
champ d'application RéserveHéréditaire:
# Ici, nous définissons uen condition "enfants_validation" qui sert à valider
# que les enfants saisis en entrée par l'utilisateurs sont bien des enfants
# qui rentrent dans le calcul de la réserve héréditaire
règle validation_enfant_réserve_héréditaire de enfant sous condition
définition enfant_pris_en_compte_réserve_héréditaire de enfant égal à
si enfant.a_renoncé_à_la_succession alors
(enfant.est_représenté ou enfant.est_tenu_au_rapport_libéralité)
sinon vrai
conséquence rempli
règle validation sous condition
pour tout enfant dans nombre_enfants_réserve_héréditaire on a
validation_enfant_réserve_héréditaire de nombre_enfants_réserve_héréditaire
conséquence rempli
définition enfants_réserve_héréditaire égal à
filtre pour enfant dans enfants de
(enfant_pris_en_compte_réserve_héréditaire de enfant)
```
######## Article 913-1 | LEGIARTI000006433705
@ -113,8 +101,8 @@ conjoint survivant, non divorcé.
```catala
champ d'application RéserveHéréditaire:
définition quotité_réserve_héréditaire
sous condition nombre_enfants_réserve_héréditaire = 0 et conjoint_survivant_non_divorcé
conséquence égal à 1,0 - (3,0 / 4,0)
sous condition nombre de enfants_réserve_héréditaire = 0 et conjoint_survivant_non_divorcé
conséquence égal à 1,0 -. (3,0 /. 4,0)
```
NOTA:
@ -129,7 +117,7 @@ par actes entre vifs ou testamentaires pourront épuiser la totalité des biens.
```catala
champ d'application RéserveHéréditaire:
définition quotité_réserve_héréditaire
sous condition nombre_enfants_réserve_héréditaire = 0 et (non conjoint_survivant_non_divorcé)
sous condition nombre de enfants_réserve_héréditaire = 0 et (non conjoint_survivant_non_divorcé)
conséquence égal à 0,0
```
@ -143,8 +131,11 @@ disponible.
```catala
champ d'application RéserveHéréditaire:
définition patrimoine_réserve_héréditaire égal à
patrimoine_total -€ somme argent pour bien dans
si bien.prise_en_compte_pour_réservé_héréditaire
alors bien.valeur sinon 0 €
```
définition patrimoine_assiette_réserve_héréditaire égal à
patrimoine_total -€ (
somme argent pour bien dans biens_usufruit_rente_viagère de
(si bien.prise_en_compte_pour_réserve_héréditaire
alors 0 € sinon bien.valeur))
définition montant_réserve_héréditaire égal à
patrimoine_assiette_réserve_héréditaire *€ quotité_réserve_héréditaire
```

View File

@ -0,0 +1,68 @@
> Inclusion: ../droit_successions.catala_fr
# Tests
```catala
déclaration champ d'application Enfants:
contexte base contenu Enfant dépend de entier
champ d'application Enfants:
définition base de identifiant égal à
Enfant {
-- identifiant: 0
-- a_renoncé_à_la_succession: faux
-- est_représenté: faux
-- est_tenu_au_rapport_libéralité: faux
}
```
```catala
déclaration champ d'application Test1:
contexte réserve_héréditaire champ d'application RéserveHéréditaire
champ d'application Test1:
définition réserve_héréditaire.patrimoine_total égal à 300 000€
définition réserve_héréditaire.enfants égal à []
définition réserve_héréditaire.biens_usufruit_rente_viagère égal à []
assertion réserve_héréditaire.quotité_réserve_héréditaire = 0,0
```
```catala
déclaration champ d'application Test2:
contexte réserve_héréditaire champ d'application RéserveHéréditaire
contexte enfants champ d'application Enfants
champ d'application Test2:
définition réserve_héréditaire.patrimoine_total égal à 300 000 €
définition réserve_héréditaire.enfants égal à [enfants.base de 0]
définition réserve_héréditaire.biens_usufruit_rente_viagère égal à []
assertion réserve_héréditaire.montant_réserve_héréditaire = 150 000 €
```
```catala
déclaration champ d'application Test3:
contexte réserve_héréditaire champ d'application RéserveHéréditaire
contexte enfants champ d'application Enfants
champ d'application Test3:
définition réserve_héréditaire.patrimoine_total égal à 300 000 €
définition réserve_héréditaire.enfants égal à
[enfants.base de 0; enfants.base de 1]
définition réserve_héréditaire.biens_usufruit_rente_viagère égal à []
assertion réserve_héréditaire.montant_réserve_héréditaire = 100 000 €
```
```catala
déclaration champ d'application Test4:
contexte réserve_héréditaire champ d'application RéserveHéréditaire
contexte enfants champ d'application Enfants
champ d'application Test4:
définition réserve_héréditaire.patrimoine_total égal à 300 000 €
définition réserve_héréditaire.enfants égal à
[enfants.base de 0; enfants.base de 1]
définition réserve_héréditaire.biens_usufruit_rente_viagère égal à
[BienUsufruitRenteViagère { -- valeur: 250 000 € -- prise_en_compte_pour_réserve_héréditaire : faux }]
assertion réserve_héréditaire.patrimoine_assiette_réserve_héréditaire = 50 000 €
assertion réserve_héréditaire.montant_réserve_héréditaire = 16666,67 €
```