def test_celib(verbose = False):
    """Célibataire"""
    tests_list = [
        {
            "year": 2013,
            "input_vars": {
                "activite": 3,
                "rsti": 12500,
                },
            "output_vars": {
                "rst": 12500,
                }
            },
        ]

    from openfisca_france.tests.utils import process_tests_list
    process_tests_list(tests_list, verbose = verbose)
def test_nonsal_celib(verbose = True):
    """
    test pour un célibataire
    """
    tests_list = [
#   Célibataires à partir de : http://www.experts-comptables.fr/csoec/Focus-bases-documentaires/Auto-Entrepreneur/Simulateur-Auto-Entrepreneur-version-entreprise
             {"year" : 2013,
              "input_vars":
                    {
                     "ebic_impv" : 20000,
                    },
              "output_vars" :
                     {
#                      "rev_microsocial": 20000 - 2820, # TODO: BUGGY result
                      "microsocial" : 200,
                    }
              },
            {"year" : 2013,
              "input_vars":
                    {
                     "ebic_imps" : 20000,
                    },
              "output_vars" :
                     {
                      "rev_microsocial": 20000 - 4920,
                      "microsocial" : 340,
                    }
              },
                               {"year" : 2013,
              "input_vars":
                    {
                     "ebnc_impo" : 20000,
                    },
              "output_vars" :
                     {
                      "rev_microsocial": 20000 - 4920,
                      "microsocial" : 440,
                    }
              },
            ]
    from openfisca_france.tests.utils import process_tests_list
    process_tests_list(tests_list, verbose = verbose)
def test_isf_celib(verbose = False):
    """
    test pour un célibataire
    """
    tests_list = [
             {"year" : 2013,
              "input_vars":
                    {
                     "sali": 50000,
                     "b1bc" : 5000,
                     "b1ab": 2500000,
                     "b2nf": 7000,
                    },
              "output_vars" :
                    {
                     "irpp":-7889,
                     "isf_inv_pme": 3500,
#                     "tot_impot": 2144 + 7889,  # TODO: check this value
                    }
              },
            ]
    from openfisca_france.tests.utils import process_tests_list
    process_tests_list(tests_list, verbose = verbose)
def test_preetu():
    """
    test pour un célibataire pour un revenu salarial de 20 000 €
    """

#   CRÉDIT D'IMPÔTS PRÊTS ÉTUDIANTS 7UK, 7VO, 7TD
    tests_list = [
              {"year" : 2005,
              "input_vars":
                    {
                     "sali" : 20000,
                    'f7uk' : 4000,
			   	    'f7vo': 1
                    },
              "output_vars" :
                    {
                     "irpp":-1137,
                    },
              },
              {"year" : 2006,
              "input_vars":
                    {
                     "sali" : 20000,
                    'f7uk' : 4000,
			   	    'f7vo': 1
                    },
              "output_vars" :
                    {
                     "irpp":-759,
                    },
              },
              {"year" : 2007,
              "input_vars":
                    {
                     "sali" : 20000,
                    'f7uk' : 4000,
			   	    'f7vo': 1
                    },
              "output_vars" :
                    {
                     "irpp":-743,
                    },
              },
              {"year" : 2008,
              "input_vars":
                    {
                     "sali" : 20000,
				    'f7td' : 2000,
                    'f7uk' : 4000,
			   	    'f7vo': 1
                    },
              "output_vars" :
                    {
                     "irpp":-706,
                    },
              },
              {"year" : 2009,
              "input_vars":
                    {
                     "sali" : 20000,
				    'f7td' : 2000,
                    'f7uk' : 4000,
			   	    'f7vo': 1
                    },
              "output_vars" :
                    {
                     "irpp":-701,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
				    'f7td' : 2000,
                    'f7uk' : 4000,
			   	    'f7vo': 1
                    },
              "output_vars" :
                    {
                     "irpp":-681,
                    },
              },
              {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
				    'f7td' : 2000,
                    'f7uk' : 4000,
			   	    'f7vo': 1
                    },
              "output_vars" :
                    {
                     "irpp":-681,
                    },
              },
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
				    'f7td' : 2000,
                    'f7uk' : 4000,
			   	    'f7vo': 1
                    },
              "output_vars" :
                    {
                     "irpp":-681,
                    },
              },
              {"year" : 2013,
              "input_vars":
                    {
                     "sali" : 20000,
				    'f7td' : 2000,
                    'f7uk' : 4000,
			   	    'f7vo': 1
                    },
              "output_vars" :
                    {
                     "irpp":-670,
                    },
              },]
    from openfisca_france.tests.utils import process_tests_list
    process_tests_list(tests_list, verbose = False)
def test_deficit_rcm():
    """
    test pour un célibataire pour un revenu salarial de 20 000 €
    """

#   DÉFICITS DES REVENUS DE CAPITAUX MOBILIERS 2DC, 2AA, 2AL, 2AM, 2AN, 2AQ, 2AR
    tests_list = [
              {"year" : 2009,
              "input_vars":
                    {
                     "sali" : 20000,
                    'f2dc':5000,
                    'f2aa':1000,
                    'f2al':1000,
		   	        'f2am':1000,
                    'f2an':1000,
                    'f2aq':1000,
                    'f2ar':1000
                    },
              "output_vars" :
                    {
                     "irpp":-1086,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                    'f2dc':5000,
                    'f2aa':1000,
                    'f2al':1000,
		   	        'f2am':1000,
                    'f2an':1000,
                    'f2aq':1000,
                    'f2ar':1000
                    },
              "output_vars" :
                    {
                     "irpp":-1181,
                    },
              },
              {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                    'f2dc':5000,
                    'f2aa':1000,
                    'f2al':1000,
		   	        'f2am':1000,
                    'f2an':1000,
                    'f2aq':1000,
                    'f2ar':1000
                    },
              "output_vars" :
                    {
                     "irpp":-1181,
                    },
              },
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                    'f2dc':5000,
                    'f2aa':1000,
                    'f2al':1000,
		   	        'f2am':1000,
                    'f2an':1000,
                    'f2aq':1000,
                    'f2ar':1000
                    },
              "output_vars" :
                    {
                     "irpp":-1181,
                    },
              },
              {"year" : 2013,
              "input_vars":
                    {
                     "sali" : 20000,
                    'f2dc':5000,
                    'f2aa':1000,
                    'f2al':1000,
		   	        'f2am':1000,
                    'f2an':1000,
                    'f2aq':1000,
                    'f2ar':1000
                    },
              "output_vars" :
                    {
                     "irpp":-1170,
                    },
              },]
    from openfisca_france.tests.utils import process_tests_list
    process_tests_list(tests_list, verbose = False)
def test_cotsoc_cap_celib(verbose = False):
    """
    test pour un célibataire
    """
    tests_list = [
#   Célibataires (pas de supplément familial de traitement
             {"year" : 2013,
              "input_vars":
                    {"f2dc" : 20000,
                     "f2ca" : 5000,
                    },
              "output_vars" :
                    {
                     "csg_cap_bar":-1640,
                     "crds_cap_bar":-100,
                     "prelsoc_cap_bar":-1360,
                     "rev_cat_rvcm" : 7000,
                     "irpp" : 0,
                    },
              },
# Revenus fonciers
            {"year" : 2013,
              "input_vars":
                    {"f4ba" : 20000,
                    },
              "output_vars" :
                    {"csg_fon":-1640,
                     "crds_fon":-100,
                     "prelsoc_fon":-1360,
                     "ir_plaf_qf" : 1450,
                     "rev_cat_rfon" : 20000,
                     "irpp" :-1450,
                    },
                },
             {"year" : 2013,
              "input_vars":
                    {"f4ba" : 20000,
                     "f4bb" : 1000,
                     "f4bc" : 1000,
                     "f4bd" : 1000,
                    },
              "output_vars" :
                    {"csg_fon":-1394,
                     "crds_fon":-85,
                     "prelsoc_fon":-1156,
                     "ir_plaf_qf" : 1030,
                     "rev_cat_rfon" : 17000,
                     "irpp" :-1030,
                    },
                },
            {"year" : 2006,
              "input_vars":
                    {"f4ba" : 20000,
                     "f4bb" : 1000,
                     "f4bc" : 1000,
                     "f4bd" : 1000,
                    },
              "output_vars" :
                    {"csg_fon":-1394,
                     "crds_fon":-85,
                     "prelsoc_fon":-391,
                     "rev_cat_rfon" : 17000,
                     "irpp" :-1119,
                    },
                },
             {"year" : 2013,
              "input_vars":
                    {
                     "f4be" : 10000,
                    },
              "output_vars" :
                    {"csg_fon":-574,
                     "crds_fon":-35,
                     "prelsoc_fon":-476,
                     "rev_cat_rfon" : 7000,
                     "irpp" : 0,
                    },
                },

        ]
    from openfisca_france.tests.utils import process_tests_list
    process_tests_list(tests_list)
def test_niches():
    """
    test pour un célibataire pour un revenu salarial de 20 000 €     
    """

#    CHARGES DEDUCTIBLES
#    test charges déductibles: pensions alimentaires "f6gi","f6gj","f6el","f6em","f6gp","f6gu".
    tests_list = [
#   Test PA de type 6GI
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6gi" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-819,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6gi" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-860,
                    },
              },
             {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6gi" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-860,
                    },
              },
#    PA de type 6EL
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6el" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-913,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6el" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6el" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
#   PA de type 6gj
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6gj" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-819,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6gj" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-860,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6gj" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-860,
                    },
              },
#   un PA de type 6em
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6em" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-913,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6em" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6em" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
#   PA de type 6gp
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6gp" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-819,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6gp" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-860,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6gp" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-860,
                    },
              },
#   PA de type 6gu
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6gu" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-913,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6gu" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6gu" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
# test plafond
            {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6gi" : 6000,
                    },
              "output_vars" :
                    {
                     "irpp":-94,
                    },
              }, {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6gi" : 1800,
                     "f6gj" : 6000,
                    },
              "output_vars" :
                    {
                     "irpp":-0,
                    },
              },
#    test charges déductibles: CSG déductible connue, calculée sur les revenus du patrimoine "f6de".
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6de" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-913,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6de" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6de" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
#    test charges déductibles: déductions diverses "f6dd".
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6dd" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-913,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6dd" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6dd" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
#    test charges déductibles: frais d'accueil d'une personnde de plus de 75 ans "f6eu".
# 1 PAC 1800 €

              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6eu" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-913,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6eu" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6eu" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
# 1 PAC 3600 €
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6eu" : 3600,
                    },
              "output_vars" :
                    {
                     "irpp":-586,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6eu" : 3600,
                    },
              "output_vars" :
                    {
                     "irpp":-627,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6eu" : 3600,
                    },
              "output_vars" :
                    {
                     "irpp":-627,
                    },
              },

# 2 PAC 3600 €
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6eu" : 3600,
                     "f6ev" : 2,
                    },
              "output_vars" :
                    {
                     "irpp":-535,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6eu" : 3600,
                     "f6ev" : 2,
                    },
              "output_vars" :
                    {
                     "irpp":-576,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6eu" : 3600,
                     "f6ev" : 2,
                    },
              "output_vars" :
                    {
                     "irpp":-576,
                    },
              },


# épargne retraite PERP,PREFON,COREM et CGOS (f6rs, f6rt, f6ru, f6ss, f6st, f6su)
# cotisations et produits assimilés : f6rs (f6rt = conjoint, f6ru= pac, mêmes conditions mais pas testées)
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6rs" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-913,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6rs" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6rs" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
# test avec 1 pac
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "nbJ": 1,
                     "f6ru" : 1800,

                    },
              "output_vars" :
                    {
                     "irpp":-118,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "nbJ": 1,
                     "f6ru" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-159,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "nbJ": 1,
                     "f6ru" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-159,
                    },
              },

# rachats de cotisations PREFON, COREM et CGOS : f6ss (f6st = conjoint, f6su= pac, mêmes conditions mais pas testées)
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6ss" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-913,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6ss" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6ss" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
# test avec 1 pac
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "nbJ": 1,
                     "f6su" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-118,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "nbJ": 1,
                     "f6su" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-159,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "nbJ": 1,
                     "f6su" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-159,
                    },
              },
# Dépenses de grosses réparations des nus-propriétaires (plafond 25 000€) (f6cb, f6hl, f6hk, f6hj)
# f6cb
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6cb" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-913,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6cb" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6cb" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
# f6hl (uniquement présente en 2012)
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6hl" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-913,
                    },
              },
# f6hk (présente en 2012 et 2011)
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6hk" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-913,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6hk" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
# f6hj
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6hj" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-913,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6hj" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6hj" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
# test 70 000 € pour test plafond
               {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 70000,
                    },
              "output_vars" :
                    {
                     "irpp":-13334,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 70000,
                    },
              "output_vars" :
                    {
                     "irpp":-13334,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 70000,
                    },
              "output_vars" :
                    {
                     "irpp":-13334,
                    },
              },
# test plafond avec f6cb
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 70000,
                     "f6cb" : 28000,
                    },
              "output_vars" :
                    {
                     "irpp":-5834,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 70000,
                     "f6cb" : 28000,
                    },
              "output_vars" :
                    {
                     "irpp":-5834,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 70000,
                     "f6cb" : 28000,
                    },
              "output_vars" :
                    {
                     "irpp":-5834,
                    },
              },

# test déficits globaux antérieurs non encore déduits (f6fa, f6fb, f6fc, f6fd, f6fe, f6fl)
# case f6fa
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6fa" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-913,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6fa" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6fa" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
# case f6fb
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6fb" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-913,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6fb" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6fb" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
# case f6fc
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6fc" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-913,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6fc" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6fc" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },

# case f6fd
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6fd" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-913,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6fd" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6fd" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
# case f6fe
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6fe" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-913,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6fe" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6fe" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
# case f6fl
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6fl" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-913,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6fl" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 20000,
                     "f6fl" : 1800,
                    },
              "output_vars" :
                    {
                     "irpp":-929,
                    },
              },


# test abattements spéciaux

# abattement accordé aux personnes âgées ou invalides
# pour 2010, 2011 et 2012 : 2312€ si rng<14510€, 1156€ si 14510€ < rng < 23390€

# test personnes âgées rng<14510
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 14000,
                     "age": 66,
                    },
              "output_vars" :
                    {
                     "irpp":-0,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 14000,
                     "age" : 66,
                    },
              "output_vars" :
                    {
                     "irpp":-0,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 14000,
                     "age" : 66,
                    },
              "output_vars" :
                    {
                     "irpp":-0,
                    },
              },
# test personnes âgées 14510<rng<23390
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 18000,
                     "age": 66,
                    },
              "output_vars" :
                    {
                     "irpp":-670,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 18000,
                     "age" : 66,
                    },
              "output_vars" :
                    {
                     "irpp":-711,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 18000,
                     "age" : 66,
                    },
              "output_vars" :
                    {
                     "irpp":-711,
                    },
              },
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 25000,
                     "age": 66,
                    },
              "output_vars" :
                    {
                     "irpp":-1649,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 25000,
                     "age" : 66,
                    },
              "output_vars" :
                    {
                     "irpp":-1649,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 25000,
                     "age" : 66,
                    },
              "output_vars" :
                    {
                     "irpp":-1649,
                    },
              },
# test personnes âgées rng>23390
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 28000,
                     "age": 66,
                    },
              "output_vars" :
                    {
                     "irpp":-2189,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 28000,
                     "age" : 66,
                    },
              "output_vars" :
                    {
                     "irpp":-2189,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 28000,
                     "age" : 66,
                    },
              "output_vars" :
                    {
                     "irpp":-2189,
                    },
              },
# test personnes invalides rng < 14510
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 14000,
                     "caseP": 1,
                    },
              "output_vars" :
                    {
                     "irpp":-0,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 14000,
                     "caseP" : 1,
                    },
              "output_vars" :
                    {
                     "irpp":-0,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 14000,
                     "caseP" : 1,
                    },
              "output_vars" :
                    {
                     "irpp":-0,
                    },
              },
# test personnes invalides 14510 < rng < 23390
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 25000,
                     "caseP": 1,
                    },
              "output_vars" :
                    {
                     "irpp":-979,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 25000,
                     "caseP" : 1,
                    },
              "output_vars" :
                    {
                     "irpp":-979,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 25000,
                     "caseP" : 1,
                    },
              "output_vars" :
                    {
                     "irpp":-979,
                    },
              },
# test personnes invalides rng > 23390
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 28000,
                     "caseP": 1,
                    },
              "output_vars" :
                    {
                     "irpp":-1519,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 28000,
                     "caseP" : 1,
                    },
              "output_vars" :
                    {
                     "irpp":-1519,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 28000,
                     "caseP" : 1,
                    },
              "output_vars" :
                    {
                     "irpp":-1519,
                    },
              },
# abattement pour enfants à charge ayant fondé un foyer distinct: 5698€ par personne rattachée
              {"year" : 2012,
              "input_vars":
                    {
                     "sali" : 38000,
                     "nbN": 3,
                    },
              "output_vars" :
                    {
                     "irpp":-1056,
                    },
              },
             {"year" : 2011,
              "input_vars":
                    {
                     "sali" : 38000,
                     "nbN" : 3,
                    },
              "output_vars" :
                    {
                     "irpp":-1056,
                    },
              },
              {"year" : 2010,
              "input_vars":
                    {
                     "sali" : 38000,
                     "nbN" : 3,
                    },
              "output_vars" :
                    {
                     "irpp":-1056,
                    },
              },
          ]
# on ne peut pas tester le cas d'un enfant à charge de famille dont l'enfant est en garde alternée ?


# test abattements complémentaires
#
# 'statmarit'="Veuf",
# 'nbF'=nb enfant -18 à charge
#
# "caseP"
#
# "caseP"
# 'nbF'=nb enfant -18 à charge
#
#
# 'statmarit'="Marié",
# 'caseS'
# 'nbR'
# 'nbI'
# 'caseP'
# 'caseF'
# 'caseG'
#
#
#    CREDITS D'IMPOTS
#
    from openfisca_france.tests.utils import process_tests_list
    process_tests_list(tests_list, verbose = False)