From b257ab61f055274aeb3f7a65d67f2ae52f9fed66 Mon Sep 17 00:00:00 2001 From: cmp0xff Date: Thu, 16 Oct 2025 23:10:16 +0200 Subject: [PATCH 1/2] fix: https://github.com/pandas-dev/pandas/pull/62191#discussion_r2437358484 --- pandas/tests/series/methods/test_compare.py | 63 --------------------- pandas/tests/series/test_arithmetic.py | 60 ++++++++++++++++++++ 2 files changed, 60 insertions(+), 63 deletions(-) diff --git a/pandas/tests/series/methods/test_compare.py b/pandas/tests/series/methods/test_compare.py index 2eae0e778f156..2a57d5139b62c 100644 --- a/pandas/tests/series/methods/test_compare.py +++ b/pandas/tests/series/methods/test_compare.py @@ -1,8 +1,3 @@ -from enum import ( - Enum, - auto, -) - import numpy as np import pytest @@ -143,61 +138,3 @@ def test_compare_datetime64_and_string(): tm.assert_series_equal(result_eq1, expected_eq) tm.assert_series_equal(result_eq2, expected_eq) tm.assert_series_equal(result_neq, expected_neq) - - -def test_eq_objects(): - # GH#62191 Test eq with Enum and List elements - - class Thing(Enum): - FIRST = auto() - SECOND = auto() - - left = pd.Series([Thing.FIRST, Thing.SECOND]) - py_l = [Thing.FIRST, Thing.SECOND] - - result = left.eq(Thing.FIRST) - expected = pd.Series([True, False]) - tm.assert_series_equal(result, expected) - - result = left.eq(py_l) - expected = pd.Series([True, True]) - tm.assert_series_equal(result, expected) - - result = left.eq(np.asarray(py_l)) - expected = pd.Series([True, True]) - tm.assert_series_equal(result, expected) - - result = left.eq(pd.Series(py_l)) - expected = pd.Series([True, True]) - tm.assert_series_equal(result, expected) - - result = pd.Series([[1, 2], [3, 4]]).eq([1, 2]) - expected = pd.Series([True, False]) - with pytest.raises(AssertionError): - tm.assert_series_equal(result, expected) - expected = pd.Series([False, False]) - tm.assert_series_equal(result, expected) - - -def test_eq_with_index(): - # GH#62191 Test eq with non-trivial indices - left = pd.Series([1, 2], index=[1, 0]) - py_l = [1, 2] - - # assuming Python list has the same index as the Series - result = left.eq(py_l) - expected = pd.Series([True, True], index=[1, 0]) - tm.assert_series_equal(result, expected) - - # assuming np.ndarray has the same index as the Series - result = left.eq(np.asarray(py_l)) - expected = pd.Series([True, True], index=[1, 0]) - tm.assert_series_equal(result, expected) - - result = left.eq(pd.Series(py_l)) - expected = pd.Series([False, False]) - tm.assert_series_equal(result, expected) - - result = left.eq(pd.Series([2, 1])) - expected = pd.Series([True, True]) - tm.assert_series_equal(result, expected) diff --git a/pandas/tests/series/test_arithmetic.py b/pandas/tests/series/test_arithmetic.py index 8b6ab5f18dee1..5760582a1998a 100644 --- a/pandas/tests/series/test_arithmetic.py +++ b/pandas/tests/series/test_arithmetic.py @@ -4,6 +4,10 @@ timezone, ) from decimal import Decimal +from enum import ( + Enum, + auto, +) import operator import numpy as np @@ -426,6 +430,62 @@ def test_comparison_flex_alignment_fill(self, values, op, fill_value): expected = Series(values, index=list("abcd")) tm.assert_series_equal(result, expected) + def test_eq_objects(self) -> None: + # GH#62191 Test eq with Enum and List elements + + class Thing(Enum): + FIRST = auto() + SECOND = auto() + + left = pd.Series([Thing.FIRST, Thing.SECOND]) + py_l = [Thing.FIRST, Thing.SECOND] + + result = left.eq(Thing.FIRST) + expected = pd.Series([True, False]) + tm.assert_series_equal(result, expected) + + result = left.eq(py_l) + expected = pd.Series([True, True]) + tm.assert_series_equal(result, expected) + + result = left.eq(np.asarray(py_l)) + expected = pd.Series([True, True]) + tm.assert_series_equal(result, expected) + + result = left.eq(pd.Series(py_l)) + expected = pd.Series([True, True]) + tm.assert_series_equal(result, expected) + + result = pd.Series([[1, 2], [3, 4]]).eq([1, 2]) + expected = pd.Series([True, False]) + with pytest.raises(AssertionError): + tm.assert_series_equal(result, expected) + expected = pd.Series([False, False]) + tm.assert_series_equal(result, expected) + + def test_eq_with_index(self) -> None: + # GH#62191 Test eq with non-trivial indices + left = pd.Series([1, 2], index=[1, 0]) + py_l = [1, 2] + + # assuming Python list has the same index as the Series + result = left.eq(py_l) + expected = pd.Series([True, True], index=[1, 0]) + tm.assert_series_equal(result, expected) + + # assuming np.ndarray has the same index as the Series + result = left.eq(np.asarray(py_l)) + expected = pd.Series([True, True], index=[1, 0]) + tm.assert_series_equal(result, expected) + + result = left.eq(pd.Series(py_l)) + expected = pd.Series([False, False]) + tm.assert_series_equal(result, expected) + + result = left.eq(pd.Series([2, 1])) + expected = pd.Series([True, True]) + tm.assert_series_equal(result, expected) + class TestSeriesComparison: def test_comparison_different_length(self): From d771b09ca012d9b81f2d84cd9aafe9a18bba0ffc Mon Sep 17 00:00:00 2001 From: cmp0xff Date: Thu, 16 Oct 2025 23:21:22 +0200 Subject: [PATCH 2/2] fix: pre-commit --- pandas/tests/series/test_arithmetic.py | 32 +++++++++++++------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/pandas/tests/series/test_arithmetic.py b/pandas/tests/series/test_arithmetic.py index 5760582a1998a..29a65f004f247 100644 --- a/pandas/tests/series/test_arithmetic.py +++ b/pandas/tests/series/test_arithmetic.py @@ -437,53 +437,53 @@ class Thing(Enum): FIRST = auto() SECOND = auto() - left = pd.Series([Thing.FIRST, Thing.SECOND]) + left = Series([Thing.FIRST, Thing.SECOND]) py_l = [Thing.FIRST, Thing.SECOND] result = left.eq(Thing.FIRST) - expected = pd.Series([True, False]) + expected = Series([True, False]) tm.assert_series_equal(result, expected) result = left.eq(py_l) - expected = pd.Series([True, True]) + expected = Series([True, True]) tm.assert_series_equal(result, expected) result = left.eq(np.asarray(py_l)) - expected = pd.Series([True, True]) + expected = Series([True, True]) tm.assert_series_equal(result, expected) - result = left.eq(pd.Series(py_l)) - expected = pd.Series([True, True]) + result = left.eq(Series(py_l)) + expected = Series([True, True]) tm.assert_series_equal(result, expected) - result = pd.Series([[1, 2], [3, 4]]).eq([1, 2]) - expected = pd.Series([True, False]) + result = Series([[1, 2], [3, 4]]).eq([1, 2]) + expected = Series([True, False]) with pytest.raises(AssertionError): tm.assert_series_equal(result, expected) - expected = pd.Series([False, False]) + expected = Series([False, False]) tm.assert_series_equal(result, expected) def test_eq_with_index(self) -> None: # GH#62191 Test eq with non-trivial indices - left = pd.Series([1, 2], index=[1, 0]) + left = Series([1, 2], index=[1, 0]) py_l = [1, 2] # assuming Python list has the same index as the Series result = left.eq(py_l) - expected = pd.Series([True, True], index=[1, 0]) + expected = Series([True, True], index=[1, 0]) tm.assert_series_equal(result, expected) # assuming np.ndarray has the same index as the Series result = left.eq(np.asarray(py_l)) - expected = pd.Series([True, True], index=[1, 0]) + expected = Series([True, True], index=[1, 0]) tm.assert_series_equal(result, expected) - result = left.eq(pd.Series(py_l)) - expected = pd.Series([False, False]) + result = left.eq(Series(py_l)) + expected = Series([False, False]) tm.assert_series_equal(result, expected) - result = left.eq(pd.Series([2, 1])) - expected = pd.Series([True, True]) + result = left.eq(Series([2, 1])) + expected = Series([True, True]) tm.assert_series_equal(result, expected)