Exemple #1
0
def test_run_with_no_parameters_txt(test_file, expected_file):
    design2params.run(
        1,
        "design_matrix.xlsx",
        "DesignSheet01",
        "DefaultValues",
        "new_parameters.txt",
        log_level=logging.DEBUG,
    )

    assert filecmp.cmp(test_file, expected_file)

    with open(design2params._TARGET_FILE_TXT, "r") as status_file:
        status = status_file.read()
        assert status == "OK\n"
def test_pair_cell_values(cellvalues, expected_parameters_strs, tmpdir):
    """Test how a pair of values, one for each realization, go through
    the Excel input sheets and all the way to parameters.txt.

    This is to ensure that differing datatypes in a single Excel columns does
    not affect individual values."""
    # pylint: disable=abstract-class-instantiated
    tmpdir.chdir()

    designsheet_df = pd.DataFrame(columns=["REAL", "SOMEKEY"],
                                  data=[[0, cellvalues[0]], [1,
                                                             cellvalues[1]]])

    defaultssheet_df = pd.DataFrame()
    writer = pd.ExcelWriter("design_matrix.xlsx")
    designsheet_df.to_excel(writer, sheet_name="DesignSheet01", index=False)
    defaultssheet_df.to_excel(writer,
                              sheet_name="DefaultValues",
                              index=False,
                              header=None)
    writer.save()
    params_0 = "parameters0.txt"
    design2params.run(
        0,
        "design_matrix.xlsx",
        "DesignSheet01",
        "DefaultValues",
        params_0,
        log_level=logging.DEBUG,
    )
    params_1 = "parameters1.txt"
    design2params.run(
        1,
        "design_matrix.xlsx",
        "DesignSheet01",
        "DefaultValues",
        params_1,
        log_level=logging.DEBUG,
    )
    with open(params_0) as p_file:
        params_lines_0 = p_file.readlines()
    with open(params_1) as p_file:
        params_lines_1 = p_file.readlines()
    key_vals_real0 = extract_key_value(params_lines_0)
    key_vals_real1 = extract_key_value(params_lines_1)
    assert key_vals_real0["SOMEKEY"] == expected_parameters_strs[0]
    assert key_vals_real1["SOMEKEY"] == expected_parameters_strs[1]
Exemple #3
0
def test_duplicated_designcolumns(paramset, tmpdir, caplog):
    """If the excel sheet contains duplicated column headers, pandas will
    happily read it but modify column names. This is most likely a user error,
    and a warning is issued"""

    tmpdir.chdir()
    write_design_xlsx(
        "design_matrix.xlsx",
        designdf=pd.DataFrame(columns=["REAL"] + paramset,
                              data=[[0] + ["foo"] * len(paramset)]),
    )

    design2params.run(
        0,
        "design_matrix.xlsx",
    )
    assert "are probably duplicated" in caplog.text
Exemple #4
0
def test_single_cell_values(cellvalue, expected_parameters_str, tmpdir):
    """Test how certain single values go through the Excel input sheets
    and all the way to parameters.txt"""
    tmpdir.chdir()
    write_design_xlsx(
        "design_matrix.xlsx",
        designdf=pd.DataFrame(columns=["REAL", "SOMEKEY"],
                              data=[[0, cellvalue]]),
    )

    params_file = "parameters.txt"
    design2params.run(
        0,
        "design_matrix.xlsx",
        parametersfilename=params_file,
        log_level=logging.DEBUG,
    )
    with open(params_file) as p_file:
        params_lines = p_file.readlines()
    key_vals = extract_key_value(params_lines)
    assert key_vals["SOMEKEY"] == expected_parameters_str
Exemple #5
0
def test_pair_cell_values(cellvalues, expected_parameters_strs, tmpdir):
    """Test how a pair of values, one for each realization, go through
    the Excel input sheets and all the way to parameters.txt.

    This is to ensure that differing datatypes in a single Excel columns does
    not affect individual values."""
    tmpdir.chdir()

    write_design_xlsx(
        "design_matrix.xlsx",
        designdf=pd.DataFrame(columns=["REAL", "SOMEKEY"],
                              data=[[0, cellvalues[0]], [1, cellvalues[1]]]),
    )

    params_0 = "parameters0.txt"
    design2params.run(
        0,
        "design_matrix.xlsx",
        parametersfilename=params_0,
        log_level=logging.DEBUG,
    )
    params_1 = "parameters1.txt"
    design2params.run(
        1,
        "design_matrix.xlsx",
        parametersfilename=params_1,
        log_level=logging.DEBUG,
    )
    with open(params_0) as p_file:
        params_lines_0 = p_file.readlines()
    with open(params_1) as p_file:
        params_lines_1 = p_file.readlines()
    key_vals_real0 = extract_key_value(params_lines_0)
    key_vals_real1 = extract_key_value(params_lines_1)
    assert key_vals_real0["SOMEKEY"] == expected_parameters_strs[0]
    assert key_vals_real1["SOMEKEY"] == expected_parameters_strs[1]