def check_comparison(ipp2of_input_variables, input_file_path, output_file_path, ipp2of_output_variables, last_param_scenario = "rien", threshold = 1, verbose = False): simulation, param_scenario = run_OF(ipp2of_input_variables, path_dta_input = input_file_path, option = 'list_dta') if str(param_scenario) != str(last_param_scenario): pbs = compare(output_file_path, ipp2of_output_variables, param_scenario, simulation, threshold, verbose = verbose) assert_equal(len(pbs), 0, u"input_file_path={!r}, threshold={!r}, pbs={!r}".format( input_file_path, threshold, pbs)) last_param_scenario = param_scenario
def check_comparison(ipp2of_input_variables, input_file_path, output_file_path, ipp2of_output_variables, last_param_scenario = "rien", threshold = 1, verbose = False): simulation, param_scenario = run_OF(ipp2of_input_variables, path_dta_input = input_file_path, option = 'list_dta') if str(param_scenario) != str(last_param_scenario): pbs = compare(output_file_path, ipp2of_output_variables, param_scenario, simulation, threshold, verbose = verbose) assert len(pbs) == 0, \ u"Avec la base dta {}\n et un seuil de {} les problèmes suivants ont été identifiés :\n{}".format( input_file_path, threshold, pbs) last_param_scenario = param_scenario
def test_from_taxipp(selection=None, threshold=1, list_input=None, list_output=None, verbose=False): # selection : dernier mot avant le .dta : "actif-chomeur", "ISF", "famille_modeste" if not list_input: list_input, list_output = list_dta(selection) elif not list_output: list_output = [file_path.replace("input", "output") for file_path in list_input] ipp2of_input_variables, ipp2of_output_variables = build_ipp2of_variables() last_param_scenario = "rien" for input_file_path, output_file_path in zip(list_input, list_output): simulation, param_scenario = run_OF(ipp2of_input_variables, path_dta_input=input_file_path, option="list_dta") if str(param_scenario) != str(last_param_scenario): pbs = compare( output_file_path, ipp2of_output_variables, param_scenario, simulation, threshold, verbose=verbose ) assert ( len(pbs) == 0 ), u"Avec la base dta {}\n et un seuil de {} les problèmes suivants ont été identifiés :\n{}".format( input_file_path, threshold, pbs ) last_param_scenario = param_scenario
def test_from_taxipp(selection = "famille_modeste", threshold = 1, list_input = None, list_output = None, verbose = False): # selection : dernier mot avant le .dta : "actif-chomeur", "ISF", "famille_modeste" def list_dta(date): input = [] output = [] for filename in os.listdir(ipp_dir + "\\base_IPP"): path_file = ipp_dir + '/base_IPP/' + filename if filename.startswith("base_IPP_input") and filename.endswith(selection + ".dta"): input += [path_file] if filename.startswith("base_IPP_output") and filename.endswith(selection + ".dta"): output += [path_file] return input, output if not list_input : list_input, list_output = list_dta(selection) elif not list_output: list_output = [] for i in range(len(list_input)): list_output += [list_input[i].replace('input', 'output')] dic_input, dic_output = dic_ipp2of() last_param_scenar = "rien" for i in range(len(list_input)) : input = list_input[i] output = list_output[i] simulation, openfisca_output, param_scenario = run_OF(dic_input, path_dta_input = input, option = 'list_dta') if str(param_scenario) != str(last_param_scenar) : pbs = compare(output, openfisca_output, dic_output, param_scenario, simulation, threshold, verbose = verbose) try : assert len(pbs) == 1 except : print " Avec la base dta ", input, "\n et un seuil de ", threshold, ", les problèmes suivants ont été identifiés : \n ", pbs last_param_scenar = param_scenario else: pass