-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comportement anormal du revenu_super_brut sur Décembre 2017 #844
Comments
Nous avons reproduit une incohérence (mais pas sur les même montants) : # -*- coding: utf-8 -*-
import openfisca_france
from openfisca_core.simulations import Simulation
from openfisca_core import reforms
from openfisca_core import periods
####### Décrivez les entités ###########
def situation_generator(date):
return {
"familles": {
"famille_1": {
"parents": [
"Bob"
]
}
},
"foyers_fiscaux": {
"foyer_fiscal_1": {
"declarants": [
"Bob"
]
}
},
"individus": {
"Bob": {
"allegement_fillon_mode_recouvrement": {
date: "anticipe_regularisation_fin_de_periode"
},
"allegement_cotisation_allocations_familiales_mode_recouvrement": {
date: "anticipe_regularisation_fin_de_periode"
},
"contrat_de_travail_debut": {
date: date
},
"effectif_entreprise": {
date: 1
},
"heures_remunerees_volume": {
date: 129.9942857142857
},
"salaire_de_base": {
date: 2300
},
"contrat_de_travail": {
date: "temps_plein"
},
"categorie_salarie": {
date: "prive_non_cadre"
},
"complementaire_sante_montant": {
date: 40
},
"salarie_regime_alsace_moselle": {
date: 0
},
"depcom_entreprise": {
date: 29019
},
"ratio_alternants": {
date: 0
},
"taux_accident_travail": {
date: 0.01
},
"exposition_penibilite": {
date: 0
},
"jeune_entreprise_innovante": {
date: 0
}
}
},
"menages": {
"menage_1": {
"personne_de_reference": [
"Bob"
]
}
}
}
####### Calcule la situation 2017-11 ##############
situation = situation_generator("2017-11")
legislation_france = openfisca_france.FranceTaxBenefitSystem()
simulation_actuelle = Simulation(tax_benefit_system=legislation_france, simulation_json=situation)
resultat = simulation_actuelle.calculate('salaire_super_brut', "2017-11")
print "Résultat pour " + "2017-11"
print resultat
####### Calcule la situation 2017-12 ##############
situation = situation_generator("2017-12")
legislation_france = openfisca_france.FranceTaxBenefitSystem()
simulation_actuelle = Simulation(tax_benefit_system=legislation_france, simulation_json=situation)
resultat = simulation_actuelle.calculate('salaire_super_brut', "2017-12")
print "Résultat pour " + "2017-12"
print resultat
####### Calcule la situation 2017-12 ##############
situation = situation_generator("2018-01")
legislation_france = openfisca_france.FranceTaxBenefitSystem()
simulation_actuelle = Simulation(tax_benefit_system=legislation_france, simulation_json=situation)
resultat = simulation_actuelle.calculate('salaire_super_brut', "2018-01")
print "Résultat pour " + "2018-01"
print resultat Donne les resultats suivants : Résultat pour 2017-11
[ 3195.29003906]
Résultat pour 2017-12
[ 2582.34008789]
Résultat pour 2018-01
[ 3195.29003906] |
Il y a un problème connu sur le calcul des allègements (Fillon et allocations familiales), documenté ici. Cependant dans cette simulation, le montant de certaines cotisation est lui aussi incohérent... Le résultat est déjà moins incohérent en mettant la même date de début de contrat que la période de simulation. |
L'allegement Fillon devrait représenter 32 EUR sur l'année hors sur la simulation suivante : # -*- coding: utf-8 -*-
import openfisca_france
from openfisca_core.simulations import Simulation
from openfisca_core import reforms
from openfisca_core import periods
####### Décrivez les entités ###########
def situation_generator(date):
return {
"familles": {
"famille_1": {
"parents": [
"Bob"
]
}
},
"foyers_fiscaux": {
"foyer_fiscal_1": {
"declarants": [
"Bob"
]
}
},
"individus": {
"Bob": {
"allegement_fillon_mode_recouvrement": {
date: "fin_d_annee"
},
"allegement_cotisation_allocations_familiales_mode_recouvrement": {
date: "fin_d_annee"
},
"contrat_de_travail_debut": {
date: date
},
"effectif_entreprise": {
date: 1
},
"heures_remunerees_volume": {
date: 129.9942857142857
},
"salaire_de_base": {
"2017-01": 0,
"2017-02": 0,
"2017-03": 0,
"2017-04": 0,
"2017-05": 0,
"2017-06": 0,
"2017-07": 0,
"2017-08": 0,
"2017-09": 0,
"2017-10": 0,
"2017-11": 2300,
"2017-12": 0
},
"contrat_de_travail": {
date: "temps_plein"
},
"categorie_salarie": {
date: "prive_non_cadre"
},
"complementaire_sante_montant": {
date: 40
},
"salarie_regime_alsace_moselle": {
date: 0
},
"depcom_entreprise": {
date: 29019
},
"ratio_alternants": {
date: 0
},
"taux_accident_travail": {
date: 0.01
},
"exposition_penibilite": {
date: 0
},
"jeune_entreprise_innovante": {
date: 0
}
}
},
"menages": {
"menage_1": {
"personne_de_reference": [
"Bob"
]
}
}
}
for period in ["2017-11", "2017-12", "2018-01"]:
situation = situation_generator(period)
legislation_france = openfisca_france.FranceTaxBenefitSystem()
simulation = Simulation(tax_benefit_system=legislation_france, simulation_json=situation)
print period
print "Salaire_super_brut"
print simulation.calculate('salaire_super_brut', period)
print "Salaire_net"
print simulation.calculate('salaire_net', period)
print "fillon"
print simulation.calculate_add('allegement_fillon', 2017) retourne 2017-11
Salaire_super_brut
[ 3268.66015625]
Salaire_net
[ 1767.56982422]
fillon
[ 646.07000732]
2017-12
Salaire_super_brut
[-653.67004395]
Salaire_net
[-21.60000038]
fillon
[ 646.07000732]
2018-01
Salaire_super_brut
[ 20.]
Salaire_net
[-21.60000038]
fillon
[ 646.07000732] @benjello Je ne comprends pas trop les résultats. J'ai l'impression qu'il y a une confusion entre le calcul de l'allègement et la récupération de l'allègement par l'entreprise. |
Il faut définir le cas que l'on veut simuler. Veut-on l'allègement Fillon d'un salarié qui travaille toute l'année ou un seul mois etc. |
Il faudrait calculer l'allègement pour un seul mois. Comment faire ? @benjello : J'ai modifié la simulation précédente pour éviter les incohérences : # -*- coding: utf-8 -*-
import openfisca_france
from openfisca_core.simulations import Simulation
from openfisca_core import reforms
from openfisca_core import periods
####### Décrivez les entités ###########
def situation_generator(date):
return {
"familles": {
"famille_1": {
"parents": [
"Bob"
]
}
},
"foyers_fiscaux": {
"foyer_fiscal_1": {
"declarants": [
"Bob"
]
}
},
"individus": {
"Bob": {
"allegement_fillon_mode_recouvrement": {
date: "fin_d_annee"
},
"allegement_cotisation_allocations_familiales_mode_recouvrement": {
date: "fin_d_annee"
},
"contrat_de_travail_debut": {
date: date
},
"effectif_entreprise": {
date: 1
},
"heures_remunerees_volume": {
date: 129.9942857142857
},
"salaire_de_base": {
date : 2300,
},
"contrat_de_travail": {
date: "temps_plein"
},
"categorie_salarie": {
date: "prive_non_cadre"
},
"complementaire_sante_montant": {
date: 40
},
"salarie_regime_alsace_moselle": {
date: 0
},
"depcom_entreprise": {
date: 29019
},
"ratio_alternants": {
date: 0
},
"taux_accident_travail": {
date: 0.01
},
"exposition_penibilite": {
date: 0
},
"jeune_entreprise_innovante": {
date: 0
}
}
},
"menages": {
"menage_1": {
"personne_de_reference": [
"Bob"
]
}
}
}
for period in ["2017-11", "2017-12", "2018-01"]:
situation = situation_generator(period)
legislation_france = openfisca_france.FranceTaxBenefitSystem()
simulation = Simulation(tax_benefit_system=legislation_france, simulation_json=situation)
print period
print "Salaire_super_brut"
print simulation.calculate('salaire_super_brut', period)
print "Salaire_net"
print simulation.calculate('salaire_net', period)
print "fillon"
print simulation.calculate_add('allegement_fillon', 2017) 2017-11
Salaire_super_brut
[ 3268.66015625]
Salaire_net
[ 1767.56982422]
fillon
[ 646.07000732]
2017-12
Salaire_super_brut
[ 2582.34008789]
Salaire_net
[ 1767.56982422]
fillon
[ 646.07000732]
2018-01
Salaire_super_brut
[ 3268.66015625]
Salaire_net
[ 1767.56982422]
fillon
[ 0.]
|
J'essaierai de mettre
|
# -*- coding: utf-8 -*-
import openfisca_france
from openfisca_core.simulations import Simulation
from openfisca_core import reforms
from openfisca_core import periods
####### Décrivez les entités ###########
def situation_generator(date):
return {
"familles": {
"famille_1": {
"parents": [
"Bob"
]
}
},
"foyers_fiscaux": {
"foyer_fiscal_1": {
"declarants": [
"Bob"
]
}
},
"individus": {
"Bob": {
"allegement_fillon_mode_recouvrement": {
date: "progressif"
},
"allegement_cotisation_allocations_familiales_mode_recouvrement": {
date: "fin_d_annee"
},
"contrat_de_travail_debut": {
date: date
},
"effectif_entreprise": {
date: 1
},
"heures_remunerees_volume": {
date: 129.9942857142857
},
"salaire_de_base": {
date : 2300,
},
"contrat_de_travail": {
date: "temps_plein"
},
"categorie_salarie": {
date: "prive_non_cadre"
},
"complementaire_sante_montant": {
date: 40
},
"salarie_regime_alsace_moselle": {
date: 0
},
"depcom_entreprise": {
date: 29019
},
"ratio_alternants": {
date: 0
},
"taux_accident_travail": {
date: 0.01
},
"exposition_penibilite": {
date: 0
},
"jeune_entreprise_innovante": {
date: 0
}
}
},
"menages": {
"menage_1": {
"personne_de_reference": [
"Bob"
]
}
}
}
for period in ["2017-11", "2017-12", "2018-01"]:
situation = situation_generator(period)
legislation_france = openfisca_france.FranceTaxBenefitSystem()
simulation = Simulation(tax_benefit_system=legislation_france, simulation_json=situation)
print period
print "Salaire_super_brut"
print simulation.calculate('salaire_super_brut', period)
print "Salaire_net"
print simulation.calculate('salaire_net', period)
print "fillon"
print simulation.calculate_add('allegement_fillon', 2017) 2017-11
Salaire_super_brut
[ 2622.59008789]
Salaire_net
[ 1767.56982422]
fillon
[ 646.07000732]
2017-12
Salaire_super_brut
[ 2582.34008789]
Salaire_net
[ 1767.56982422]
fillon
[ 646.07000732]
2018-01
Salaire_super_brut
[ 3236.69018555]
Salaire_net
[ 1767.56982422]
fillon
[ 0.] |
Le problème est donc en janvier 2018 avec Pour les autres modes de recouvrement, il faut renseigner plus de salaires pour faire des tests informatifs en choisissant des cas précis où l'on sait ce que l'on attend. |
1/ Je ne pense pas que le problème soit en janvier : Avec un seul salaire sur l'année, le recouvrement fillon est de 646 EUR au lieu de 32,04 eur donné par l'URSSAF. 2/Je pense qu'il y a peut être une complexité avec le fait que la méthode de recouvrement soit imbriqué dans la formule de calcul. |
Je suis d'accord qu'il semble naturel de séparer le calcul du recouvrement. |
Je te propose les tests suivants : - name: "Salarie un seul mois (novembre) - recouvrement fin d'année"
period: 2017
absolute_error_margin: 0.01
input_variables:
salaire_de_base: # un salaire en 2017
2017-01: 0
2017-02: 0
2017-03: 0
2017-04: 0
2017-05: 0
2017-06: 0
2017-07: 0
2017-08: 0
2017-09: 0
2017-10: 0
2017-11: 2300
2017-12: 0
allegement_fillon_mode_recouvrement: "fin-d-annee"
effectif_entreprise: 1
code_postal_entreprise: "75001"
categorie_salarie: prive_non_cadre
contrat_de_travail_debut: "2017-11-01"
output_variables:
allegement_fillon:
2017-01: 0
2017-02: 0
2017-03: 0
2017-04: 0
2017-05: 0
2017-06: 0
2017-07: 0
2017-08: 0
2017-09: 0
2017-10: 0
2017-11: 0
2017-12: 32.04
- name: "Salarie un seul mois (novembre) - recouvrement progressif"
period: 2017
absolute_error_margin: 0.01
input_variables:
salaire_de_base: # un salaire en 2017
2017-01: 0
2017-02: 0
2017-03: 0
2017-04: 0
2017-05: 0
2017-06: 0
2017-07: 0
2017-08: 0
2017-09: 0
2017-10: 0
2017-11: 2300
2017-12: 0
allegement_fillon_mode_recouvrement: "progressif"
effectif_entreprise: 1
code_postal_entreprise: "75001"
categorie_salarie: prive_non_cadre
contrat_de_travail_debut: "2017-11-01"
output_variables:
allegement_fillon:
2017-01: 0
2017-02: 0
2017-03: 0
2017-04: 0
2017-05: 0
2017-06: 0
2017-07: 0
2017-08: 0
2017-09: 0
2017-10: 0
2017-11: 32.04
2017-12: 0
- name: "Salarie un seul mois (novembre) - recouvrement anticipe"
period: 2017
absolute_error_margin: 0.01
input_variables:
salaire_de_base: # un salaire en 2017
2017-01: 0
2017-02: 0
2017-03: 0
2017-04: 0
2017-05: 0
2017-06: 0
2017-07: 0
2017-08: 0
2017-09: 0
2017-10: 0
2017-11: 2300
2017-12: 0
allegement_fillon_mode_recouvrement: "anticipe-regularisation-fin-de-periode"
effectif_entreprise: 1
code_postal_entreprise: "75001"
categorie_salarie: prive_non_cadre
contrat_de_travail_debut: "2017-11-01"
output_variables:
allegement_fillon:
2017-01: 0
2017-02: 0
2017-03: 0
2017-04: 0
2017-05: 0
2017-06: 0
2017-07: 0
2017-08: 0
2017-09: 0
2017-10: 0
2017-11: 0
2017-12: 32.04
- name: "Salarie un seul mois (décembre) - recouvrement fin d'année"
period: 2017
absolute_error_margin: 0.01
input_variables:
salaire_de_base: # un salaire en 2017
2017-01: 0
2017-02: 0
2017-03: 0
2017-04: 0
2017-05: 0
2017-06: 0
2017-07: 0
2017-08: 0
2017-09: 0
2017-10: 0
2017-11: 0
2017-12: 2300
allegement_fillon_mode_recouvrement: "fin-d-annee"
effectif_entreprise: 1
code_postal_entreprise: "75001"
categorie_salarie: prive_non_cadre
contrat_de_travail_debut: "2017-12-01"
output_variables:
allegement_fillon:
2017-01: 0
2017-02: 0
2017-03: 0
2017-04: 0
2017-05: 0
2017-06: 0
2017-07: 0
2017-08: 0
2017-09: 0
2017-10: 0
2017-11: 0
2017-12: 32.04
- name: "Salarie un seul mois (décembre) - recouvrement progressif"
period: 2017
absolute_error_margin: 0.01
input_variables:
salaire_de_base: # un salaire en 2017
2017-01: 0
2017-02: 0
2017-03: 0
2017-04: 0
2017-05: 0
2017-06: 0
2017-07: 0
2017-08: 0
2017-09: 0
2017-10: 0
2017-11: 0
2017-12: 2300
allegement_fillon_mode_recouvrement: "progressif"
effectif_entreprise: 1
code_postal_entreprise: "75001"
categorie_salarie: prive_non_cadre
contrat_de_travail_debut: "2017-12-01"
output_variables:
allegement_fillon:
2017-01: 0
2017-02: 0
2017-03: 0
2017-04: 0
2017-05: 0
2017-06: 0
2017-07: 0
2017-08: 0
2017-09: 0
2017-10: 0
2017-11: 0
2017-12: 32.04
- name: "Salarie un seul mois (décembre) - recouvrement anticipe"
period: 2017
absolute_error_margin: 0.01
input_variables:
salaire_de_base: # un salaire en 2017
2017-01: 0
2017-02: 0
2017-03: 0
2017-04: 0
2017-05: 0
2017-06: 0
2017-07: 0
2017-08: 0
2017-09: 0
2017-10: 0
2017-11: 0
2017-12: 2300
allegement_fillon_mode_recouvrement: "anticipe-regularisation-fin-de-periode"
effectif_entreprise: 1
code_postal_entreprise: "75001"
categorie_salarie: prive_non_cadre
contrat_de_travail_debut: "2017-12-01"
output_variables:
allegement_fillon:
2017-01: 0
2017-02: 0
2017-03: 0
2017-04: 0
2017-05: 0
2017-06: 0
2017-07: 0
2017-08: 0
2017-09: 0
2017-10: 0
2017-11: 0
2017-12: 32.04 PS : En regardant les tests fillon, |
@benjello : Que penses-tu des tests ? |
Cela m'a l'air pas mal mais je suis un peu rusty. @laem s'il n'est pas rangé des voitures pourrait nous donenr son avis ;-) Cela donne quoi quand tu les fais tourner ? |
C'est bon on a vu ensemble ! Je suis en train de finir le créneau là ! |
@benjello : Ils fails tous quand on fait tourner :/ |
Ben alors @laem, ce créneau, il est pas complètement fini ;-) ps: Pour la complétude de ce thread: https://fr.wiktionary.org/wiki/se_ranger_des_voitures |
@benjello Si on fait passer les tests, on obtient la trace suivante : ERROR:openfisca_core.tools.test_runner:allegement_fillon.yaml: Salarie un seul mois (novembre) - recouvrement fin d'année - 2017
FERROR:openfisca_core.tools.test_runner:allegement_fillon.yaml: Salarie un seul mois (novembre) - recouvrement progressif - 2017
FERROR:openfisca_core.tools.test_runner:allegement_fillon.yaml: Salarie un seul mois (novembre) - recouvrement anticipe - 2017
FERROR:openfisca_core.tools.test_runner:allegement_fillon.yaml: Salarie un seul mois (décembre) - recouvrement fin d'année - 2017
FERROR:openfisca_core.tools.test_runner:allegement_fillon.yaml: Salarie un seul mois (décembre) - recouvrement progressif - 2017
FERROR:openfisca_core.tools.test_runner:allegement_fillon.yaml: Salarie un seul mois (décembre) - recouvrement anticipe - 2017
F
======================================================================
FAIL: unittest.case.FunctionTestCase (check)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/annalivia/.local/share/virtualenvs/enums/lib/python2.7/site-packages/openfisca_core/tools/test_runner.py", line 150, in check
_run_test(period_str, test, verbose, options)
File "/Users/annalivia/.local/share/virtualenvs/enums/lib/python2.7/site-packages/openfisca_core/tools/test_runner.py", line 243, in _run_test
relative_error_margin = relative_error_margin,
File "/Users/annalivia/.local/share/virtualenvs/enums/lib/python2.7/site-packages/openfisca_core/tools/__init__.py", line 21, in assert_near
abs(target_value - value), absolute_error_margin)
AssertionError: allegement_fillon@2017-12: [ 0.] differs from [ 32.04000092] with an absolute margin [ 32.04000092] > 0.01
-------------------- >> begin captured logging << --------------------
openfisca_core.tools.test_runner: ERROR: allegement_fillon.yaml: Salarie un seul mois (novembre) - recouvrement fin d'année - 2017
--------------------- >> end captured logging << ---------------------
======================================================================
FAIL: unittest.case.FunctionTestCase (check)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/annalivia/.local/share/virtualenvs/enums/lib/python2.7/site-packages/openfisca_core/tools/test_runner.py", line 150, in check
_run_test(period_str, test, verbose, options)
File "/Users/annalivia/.local/share/virtualenvs/enums/lib/python2.7/site-packages/openfisca_core/tools/test_runner.py", line 243, in _run_test
relative_error_margin = relative_error_margin,
File "/Users/annalivia/.local/share/virtualenvs/enums/lib/python2.7/site-packages/openfisca_core/tools/__init__.py", line 21, in assert_near
abs(target_value - value), absolute_error_margin)
AssertionError: allegement_fillon@2017-11: [ 0.] differs from [ 32.04000092] with an absolute margin [ 32.04000092] > 0.01
-------------------- >> begin captured logging << --------------------
openfisca_core.tools.test_runner: ERROR: allegement_fillon.yaml: Salarie un seul mois (novembre) - recouvrement progressif - 2017
--------------------- >> end captured logging << ---------------------
======================================================================
FAIL: unittest.case.FunctionTestCase (check)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/annalivia/.local/share/virtualenvs/enums/lib/python2.7/site-packages/openfisca_core/tools/test_runner.py", line 150, in check
_run_test(period_str, test, verbose, options)
File "/Users/annalivia/.local/share/virtualenvs/enums/lib/python2.7/site-packages/openfisca_core/tools/test_runner.py", line 243, in _run_test
relative_error_margin = relative_error_margin,
File "/Users/annalivia/.local/share/virtualenvs/enums/lib/python2.7/site-packages/openfisca_core/tools/__init__.py", line 21, in assert_near
abs(target_value - value), absolute_error_margin)
AssertionError: allegement_fillon@2017-11: [ 31.96999931] differs from [ 0.] with an absolute margin [ 31.96999931] > 0.01
-------------------- >> begin captured logging << --------------------
openfisca_core.tools.test_runner: ERROR: allegement_fillon.yaml: Salarie un seul mois (novembre) - recouvrement anticipe - 2017
--------------------- >> end captured logging << ---------------------
======================================================================
FAIL: unittest.case.FunctionTestCase (check)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/annalivia/.local/share/virtualenvs/enums/lib/python2.7/site-packages/openfisca_core/tools/test_runner.py", line 150, in check
_run_test(period_str, test, verbose, options)
File "/Users/annalivia/.local/share/virtualenvs/enums/lib/python2.7/site-packages/openfisca_core/tools/test_runner.py", line 243, in _run_test
relative_error_margin = relative_error_margin,
File "/Users/annalivia/.local/share/virtualenvs/enums/lib/python2.7/site-packages/openfisca_core/tools/__init__.py", line 21, in assert_near
abs(target_value - value), absolute_error_margin)
AssertionError: allegement_fillon@2017-12: [ 0.] differs from [ 32.04000092] with an absolute margin [ 32.04000092] > 0.01
-------------------- >> begin captured logging << --------------------
openfisca_core.tools.test_runner: ERROR: allegement_fillon.yaml: Salarie un seul mois (décembre) - recouvrement fin d'année - 2017
--------------------- >> end captured logging << ---------------------
======================================================================
FAIL: unittest.case.FunctionTestCase (check)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/annalivia/.local/share/virtualenvs/enums/lib/python2.7/site-packages/openfisca_core/tools/test_runner.py", line 150, in check
_run_test(period_str, test, verbose, options)
File "/Users/annalivia/.local/share/virtualenvs/enums/lib/python2.7/site-packages/openfisca_core/tools/test_runner.py", line 243, in _run_test
relative_error_margin = relative_error_margin,
File "/Users/annalivia/.local/share/virtualenvs/enums/lib/python2.7/site-packages/openfisca_core/tools/__init__.py", line 21, in assert_near
abs(target_value - value), absolute_error_margin)
AssertionError: allegement_fillon@2017-12: [ 0.] differs from [ 32.04000092] with an absolute margin [ 32.04000092] > 0.01
-------------------- >> begin captured logging << --------------------
openfisca_core.tools.test_runner: ERROR: allegement_fillon.yaml: Salarie un seul mois (décembre) - recouvrement progressif - 2017
--------------------- >> end captured logging << ---------------------
======================================================================
FAIL: unittest.case.FunctionTestCase (check)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/annalivia/.local/share/virtualenvs/enums/lib/python2.7/site-packages/openfisca_core/tools/test_runner.py", line 150, in check
_run_test(period_str, test, verbose, options)
File "/Users/annalivia/.local/share/virtualenvs/enums/lib/python2.7/site-packages/openfisca_core/tools/test_runner.py", line 243, in _run_test
relative_error_margin = relative_error_margin,
File "/Users/annalivia/.local/share/virtualenvs/enums/lib/python2.7/site-packages/openfisca_core/tools/__init__.py", line 21, in assert_near
abs(target_value - value), absolute_error_margin)
AssertionError: allegement_fillon@2017-12: [ 0.] differs from [ 32.04000092] with an absolute margin [ 32.04000092] > 0.01
-------------------- >> begin captured logging << --------------------
openfisca_core.tools.test_runner: ERROR: allegement_fillon.yaml: Salarie un seul mois (décembre) - recouvrement anticipe - 2017
--------------------- >> end captured logging << ---------------------
----------------------------------------------------------------------
Ran 6 tests in 1.627s
FAILED (failures=6)
|
@Morendil proposait de corriger ce 🐛 jeudi. J'espère vous aider si j'ai un peu de temps. |
Disons, "de commencer à analyser en vue de corriger", je ne sais pas si l'après-midi de jeudi y suffira :) |
Est-ce qu'on n'a pas un problème ici ? Que vient faire le Sinon, c'est très probablement sur des lignes de ce genre : up_to_this_month = period.start.offset('first-of', 'year').period('month', period.start.month)
up_to_previous_month = period.start.offset('first-of', 'year').period('month', period.start.month - 1) |
Le problème semble venir d'un faux calcul du Je constate que cette fonction est plutôt complexe. Je propose dans un premier temps d'écrire un test pour la situation que je viens de décrire, et de faire ce qu'il faut pour que la fonction renvoie 1 dans ce cas précis. WDYT? |
Est-ce que vous avez pu faire une PR qui met en évidence le problème avec un test qui casse ? |
Yep, see #862 (WIP) |
Good job @Morendil |
Mail reçu sur contact :
Date : 7 novembre
Objet : Comportement anormal du simulateur sur Décembre 2017
The text was updated successfully, but these errors were encountered: