From 998da4019276f36b89f64396c66d1cb2cac34940 Mon Sep 17 00:00:00 2001 From: Daniel Saxton Date: Mon, 13 Apr 2020 09:17:53 -0500 Subject: [PATCH 1/3] TST: Add Categorical Series test --- pandas/tests/arrays/categorical/test_analytics.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pandas/tests/arrays/categorical/test_analytics.py b/pandas/tests/arrays/categorical/test_analytics.py index 67b491165b8cc..3f6c63f9f3689 100644 --- a/pandas/tests/arrays/categorical/test_analytics.py +++ b/pandas/tests/arrays/categorical/test_analytics.py @@ -90,10 +90,13 @@ def test_min_max_with_nan(self, skipna): @pytest.mark.parametrize("function", ["min", "max"]) @pytest.mark.parametrize("skipna", [True, False]) - def test_min_max_only_nan(self, function, skipna): + @pytest.mark.parametrize("box_in_series", [True, False]) + def test_min_max_only_nan(self, function, skipna, box_in_series): # https://github.com/pandas-dev/pandas/issues/33450 - cat = Categorical([np.nan], categories=[1, 2], ordered=True) - result = getattr(cat, function)(skipna=skipna) + arr = Categorical([np.nan], categories=[1, 2], ordered=True) + if box_in_series: + arr = Series(arr) + result = getattr(arr, function)(skipna=skipna) assert result is np.nan @pytest.mark.parametrize("method", ["min", "max"]) From 939843c8e0664efc31610a809919ef9123a2ff17 Mon Sep 17 00:00:00 2001 From: Daniel Saxton Date: Fri, 17 Apr 2020 17:55:16 -0500 Subject: [PATCH 2/3] Test --- pandas/tests/reductions/test_reductions.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pandas/tests/reductions/test_reductions.py b/pandas/tests/reductions/test_reductions.py index 635b1a1cd1326..235aa8e4aa922 100644 --- a/pandas/tests/reductions/test_reductions.py +++ b/pandas/tests/reductions/test_reductions.py @@ -1098,6 +1098,14 @@ def test_min_max_ordered(self, values, categories, function): expected = categories[0] if function == "min" else categories[2] assert result == expected + @pytest.mark.parametrize("function", ["min", "max"]) + @pytest.mark.parametrize("skipna", [True, False]) + def test_min_max_ordered_with_nan_only(self, function, skipna): + # https://github.com/pandas-dev/pandas/issues/33450 + cat = Series(Categorical([np.nan], categories=[1, 2], ordered=True)) + result = getattr(cat, function)(skipna=skipna) + assert result is np.nan + @pytest.mark.parametrize("function", ["min", "max"]) @pytest.mark.parametrize("skipna", [True, False]) def test_min_max_skipna(self, function, skipna): From cc2c9e08aadd0cf334011117e6ee34777ada5373 Mon Sep 17 00:00:00 2001 From: Daniel Saxton Date: Fri, 17 Apr 2020 17:55:21 -0500 Subject: [PATCH 3/3] Revert "TST: Add Categorical Series test" This reverts commit 998da4019276f36b89f64396c66d1cb2cac34940. --- pandas/tests/arrays/categorical/test_analytics.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/pandas/tests/arrays/categorical/test_analytics.py b/pandas/tests/arrays/categorical/test_analytics.py index fb3fc0d479552..83ecebafbea07 100644 --- a/pandas/tests/arrays/categorical/test_analytics.py +++ b/pandas/tests/arrays/categorical/test_analytics.py @@ -78,13 +78,10 @@ def test_min_max_with_nan(self, values, categories, function, skipna): @pytest.mark.parametrize("function", ["min", "max"]) @pytest.mark.parametrize("skipna", [True, False]) - @pytest.mark.parametrize("box_in_series", [True, False]) - def test_min_max_only_nan(self, function, skipna, box_in_series): + def test_min_max_only_nan(self, function, skipna): # https://github.com/pandas-dev/pandas/issues/33450 - arr = Categorical([np.nan], categories=[1, 2], ordered=True) - if box_in_series: - arr = Series(arr) - result = getattr(arr, function)(skipna=skipna) + cat = Categorical([np.nan], categories=[1, 2], ordered=True) + result = getattr(cat, function)(skipna=skipna) assert result is np.nan @pytest.mark.parametrize("method", ["min", "max"])