From 99067317d1913633e98c692cd436f8f5bd742171 Mon Sep 17 00:00:00 2001 From: Maxim Ivanov Date: Sat, 17 Oct 2020 22:33:16 +0700 Subject: [PATCH 1/3] CLN: parametrize test_nat_comparisons Parametrize TestDatetime64SeriesComparison.test_nat_comparisons using ``operator`` module. --- pandas/tests/arithmetic/test_datetime64.py | 42 +++++++++++----------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/pandas/tests/arithmetic/test_datetime64.py b/pandas/tests/arithmetic/test_datetime64.py index c0ae36017f47a..1058ac2a932cb 100644 --- a/pandas/tests/arithmetic/test_datetime64.py +++ b/pandas/tests/arithmetic/test_datetime64.py @@ -152,8 +152,6 @@ def test_dt64arr_nat_comparison(self, tz_naive_fixture, box_with_array): class TestDatetime64SeriesComparison: - # TODO: moved from tests.series.test_operators; needs cleanup - @pytest.mark.parametrize( "pair", [ @@ -173,7 +171,26 @@ class TestDatetime64SeriesComparison: ) @pytest.mark.parametrize("reverse", [True, False]) @pytest.mark.parametrize("dtype", [None, object]) - def test_nat_comparisons(self, dtype, index_or_series, reverse, pair): + @pytest.mark.parametrize( + "operator, expected", + [ + (operator.eq, Series([False, False, True])), + (operator.ne, Series([True, True, False])), + (operator.lt, Series([False, False, False])), + (operator.gt, Series([False, False, False])), + (operator.ge, Series([False, False, True])), + (operator.le, Series([False, False, True])), + ], + ) + def test_nat_comparisons( + self, + dtype, + index_or_series, + reverse, + pair, + operator, + expected, + ): box = index_or_series l, r = pair if reverse: @@ -182,25 +199,10 @@ def test_nat_comparisons(self, dtype, index_or_series, reverse, pair): left = Series(l, dtype=dtype) right = box(r, dtype=dtype) - # Series, Index - expected = Series([False, False, True]) - tm.assert_series_equal(left == right, expected) + result = operator(left, right) - expected = Series([True, True, False]) - tm.assert_series_equal(left != right, expected) - - expected = Series([False, False, False]) - tm.assert_series_equal(left < right, expected) - - expected = Series([False, False, False]) - tm.assert_series_equal(left > right, expected) - - expected = Series([False, False, True]) - tm.assert_series_equal(left >= right, expected) - - expected = Series([False, False, True]) - tm.assert_series_equal(left <= right, expected) + tm.assert_series_equal(result, expected) def test_comparison_invalid(self, tz_naive_fixture, box_with_array): # GH#4968 From a8f78d8d778983c832edee0ed4b66cfbd4a63aed Mon Sep 17 00:00:00 2001 From: Maxim Ivanov Date: Wed, 4 Nov 2020 19:53:38 +0700 Subject: [PATCH 2/3] REF: rename operator variable to op Rename local variable operator -> op. This is done for consistency with other tests in the module. And also not to confuse with ``operator`` module. --- pandas/tests/arithmetic/test_datetime64.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pandas/tests/arithmetic/test_datetime64.py b/pandas/tests/arithmetic/test_datetime64.py index 6658cf1293a49..ad771919680cb 100644 --- a/pandas/tests/arithmetic/test_datetime64.py +++ b/pandas/tests/arithmetic/test_datetime64.py @@ -172,7 +172,7 @@ class TestDatetime64SeriesComparison: @pytest.mark.parametrize("reverse", [True, False]) @pytest.mark.parametrize("dtype", [None, object]) @pytest.mark.parametrize( - "operator, expected", + "op, expected", [ (operator.eq, Series([False, False, True])), (operator.ne, Series([True, True, False])), @@ -188,7 +188,7 @@ def test_nat_comparisons( index_or_series, reverse, pair, - operator, + op, expected, ): box = index_or_series @@ -200,7 +200,7 @@ def test_nat_comparisons( left = Series(l, dtype=dtype) right = box(r, dtype=dtype) - result = operator(left, right) + result = op(left, right) tm.assert_series_equal(result, expected) From e0544dc2534b93c1c466d441dfbf8fb10291bfd6 Mon Sep 17 00:00:00 2001 From: Maxim Ivanov Date: Wed, 4 Nov 2020 23:22:28 +0700 Subject: [PATCH 3/3] FIX: Add removed comment --- pandas/tests/arithmetic/test_datetime64.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pandas/tests/arithmetic/test_datetime64.py b/pandas/tests/arithmetic/test_datetime64.py index ad771919680cb..b0b8f1345e4d3 100644 --- a/pandas/tests/arithmetic/test_datetime64.py +++ b/pandas/tests/arithmetic/test_datetime64.py @@ -152,6 +152,8 @@ def test_dt64arr_nat_comparison(self, tz_naive_fixture, box_with_array): class TestDatetime64SeriesComparison: + # TODO: moved from tests.series.test_operators; needs cleanup + @pytest.mark.parametrize( "pair", [