diff --git a/ensembleperturbation/perturbation/atcf.py b/ensembleperturbation/perturbation/atcf.py index 928b055d..5a589996 100644 --- a/ensembleperturbation/perturbation/atcf.py +++ b/ensembleperturbation/perturbation/atcf.py @@ -19,7 +19,7 @@ import numpy from numpy import floor, interp, sign from pandas import DataFrame -from pandas.core.common import SettingWithCopyWarning +from pandas.errors import SettingWithCopyWarning import pint from pint import Quantity, UnitStrippedWarning from pint_pandas import PintArray, PintType diff --git a/pyproject.toml b/pyproject.toml index c2a297f1..d9720db4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,9 +34,9 @@ geopandas = '*' netcdf4 = '*' matplotlib = { version = '*', optional = true } numpy = '*' -pandas = '<1.5.0' # SettingWithCopyWarning issue -pint = '<0.20' # Import error for quantity from `pint-pandas` -pint-pandas = '*' +pandas = '>=1.5' +pint = '<0.21' # ito() issue #105 +pint-pandas = '<0.4' # ito() issue #105 pyproj = '>=2.6' tables = '*' typepigeon = '*' diff --git a/tests/__init__.py b/tests/__init__.py index 6fbddcec..e25037d9 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1,3 +1,4 @@ +from difflib import context_diff import os from os import PathLike from pathlib import Path @@ -83,6 +84,8 @@ def check_reference_directory( del test_lines[line_index], reference_lines[line_index] cwd = Path.cwd() - assert '\n'.join(test_lines) == '\n'.join( - reference_lines - ), f'"{os.path.relpath(test_filename, cwd)}" != "{os.path.relpath(reference_filename, cwd)}"' + diff = context_diff(test_lines, reference_lines, lineterm='') + assert '\n'.join(test_lines) == '\n'.join(reference_lines), ( + f'"{os.path.relpath(test_filename, cwd)}" != "{os.path.relpath(reference_filename, cwd)}"\n\n' + + '\n'.join(diff) + ) diff --git a/tests/test_forecast_track_ensemble.py b/tests/test_forecast_track_ensemble.py index 1bff092d..16767f91 100644 --- a/tests/test_forecast_track_ensemble.py +++ b/tests/test_forecast_track_ensemble.py @@ -3,6 +3,7 @@ from pathlib import Path from datetime import datetime +import numpy as np import pandas as pd from stormevents.nhc import VortexTrack from stormevents.nhc.atcf import ATCF_FIELDS @@ -22,7 +23,7 @@ def test_track_perturber_forecast_time_init(): perturber = VortexPerturber( storm='al062018', start_date=datetime(2018, 9, 12), end_date=None, file_deck='a', ) - dates = perturber.track.data.track_start_time.unique() + dates = np.array(perturber.track.data.track_start_time.unique()) assert len(dates) == 1 assert pd.to_datetime(dates.item()) == datetime(2018, 9, 12) @@ -49,7 +50,7 @@ def test_track_perturber_forecast_time_fromfile(): Path(fo.name), start_date=datetime(2018, 9, 12), file_deck='a', ) - dates = perturber.track.data.track_start_time.unique() + dates = np.array(perturber.track.data.track_start_time.unique()) assert len(dates) == 1 assert pd.to_datetime(dates.item()) == datetime(2018, 9, 12) @@ -66,7 +67,7 @@ def test_track_perturber_forecast_time_fromtrack(): perturber = VortexPerturber.from_track(original_track,) assert perturber.start_date == datetime(2018, 9, 12) - dates = perturber.track.data.track_start_time.unique() + dates = np.array(perturber.track.data.track_start_time.unique()) assert len(dates) == 1 assert pd.to_datetime(dates.item()) == datetime(2018, 9, 12) @@ -105,6 +106,6 @@ def test_perturb_tracks_func_forecast_time(): advisories=['OFCL'], file_deck='a', ) - dates = track.data.track_start_time.unique() + dates = np.array(track.data.track_start_time.unique()) assert len(dates) == 1 assert pd.to_datetime(dates.item()) == datetime(2018, 9, 12)