def METHOD_NAME(period, noindiv, target_variables = None):
    if target_variables is None:
        target_variables = ErfsFprtoInputComparator.default_target_variables
    comparator = ErfsFprtoInputComparator()
    comparator.period = period
    input_dataframe_by_entity, target_dataframe_by_entity = comparator.get_test_dataframes(rebuild = True, noindivs = [noindiv])
    def convert_date_to_sting(dataframe):
        date_columns = list(dataframe.select_dtypes(include=["datetime64"]))
        dataframe[date_columns] = dataframe[date_columns].astype(str)
    def remove_non_openfisca_columns(dataframe):
        openfisca_variables = set(sum([list(value) for value in openfisca_variables_by_entity.values()], [])).union(set(["noindiv", "idmen_original"]))
        selected_variables = list(set(dataframe.columns).intersection(openfisca_variables))
        return dataframe[selected_variables]
    def build_test_dict(dataframe_by_entity, renaming_variables_to_annual = None):
        input_by_entity = dict()
        for entity, dataframe in dataframe_by_entity.items():
            convert_date_to_sting(dataframe)
            identifier = "noindiv" if entity == "individu" else "idmen_original"
            entity_plural = "individus" if entity == "individu" else "menages"
            input_by_entity[entity_plural] = input = dict()
            dataframe[identifier] = "id_" + dataframe[identifier].astype(str)
            df = remove_non_openfisca_columns(dataframe).set_index(identifier)
            for row, series in df.iterrows():
                series.drop(
                    (
                        list(weight_variable_by_entity.values())
                        + list(id_variable_by_entity_key.values())
                        + list(original_id_by_entity.values())
                        ),
                    inplace = True,
                    errors = "ignore",
                    )
                if renaming_variables_to_annual:
                    series.rename(renaming_variables_to_annual, inplace = True)
                input[row] = series.dropna().to_dict()
        return input_by_entity
    input_by_entity = build_test_dict(input_dataframe_by_entity)
    output_by_entity = build_test_dict(target_dataframe_by_entity, renaming_variables_to_annual)
    relative_error_margin = {
        "default": 5e-3,
        }
    test = dict(
        name = f"Observation {noindiv} on {period}",
        reforms = "openfisca_france_data.erfs_fpr.get_survey_scenario.erfs_fpr_plugin",
        max_spiral_loops = 4,
        relative_error_margin = relative_error_margin,
        period = period,
        input = input_by_entity,
        output = output_by_entity,
        )
    return test