|
6 | 6 | """ |
7 | 7 |
|
8 | 8 | import os |
| 9 | +import pytest |
9 | 10 |
|
10 | 11 | from tests.helpers import ( |
11 | 12 | assert_empty_df, |
|
16 | 17 | ) |
17 | 18 |
|
18 | 19 |
|
19 | | -def test_tolerance_cli(ref_data, df_ref_tolerance, tmp_dir, new_ref): |
| 20 | +@pytest.mark.parametrize("use_minimum_tolerance", [True, False]) |
| 21 | +def test_tolerance_cli(ref_data, df_ref_tolerance, tmp_dir, new_ref, use_minimum_tolerance): |
20 | 22 | stats_file_name = os.path.join(ref_data, "stats_{member_id}.csv") |
21 | 23 | tolerance_file_name = os.path.join(tmp_dir, "tolerance.csv") |
22 | | - run_tolerance_cli(stats_file_name, tolerance_file_name, member_type="dp", minimum_tolerance=1e-14) |
23 | | - df_test = load_pandas(tolerance_file_name, index_col=[0, 1]) |
24 | | - err = pandas_error(df_ref_tolerance, df_test) |
25 | 24 |
|
| 25 | + if use_minimum_tolerance: |
| 26 | + run_tolerance_cli(stats_file_name, tolerance_file_name, member_type="dp", minimum_tolerance=1e-14) |
| 27 | + df_test = load_pandas(tolerance_file_name, index_col=[0, 1]) |
| 28 | + err = pandas_error(df_ref_tolerance, df_test) |
| 29 | + else: |
| 30 | + run_tolerance_cli(stats_file_name, tolerance_file_name, member_type="dp") |
| 31 | + |
| 32 | + # Create modified tolerance df with T tolerances equal to 0.0 to match `minimum_tolerance` default |
| 33 | + df_test = load_pandas(tolerance_file_name, index_col=[0, 1]) |
| 34 | + modified_df_ref_tolerance = df_ref_tolerance |
| 35 | + modified_df_ref_tolerance.loc[("NetCDF:*.nc", "T")] = 0.0 |
| 36 | + |
| 37 | + err = pandas_error(modified_df_ref_tolerance, df_test) |
| 38 | + |
26 | 39 | store_as_potential_new_ref(tolerance_file_name, new_ref) |
27 | 40 |
|
28 | 41 | assert_empty_df(err, "Tolerance datasets are not equal!") |
0 commit comments