From eee6ed01b877f02e4a820d1c822579e575777d4d Mon Sep 17 00:00:00 2001 From: phofl Date: Tue, 6 Oct 2020 23:46:45 +0200 Subject: [PATCH 1/3] Clean MultiIndex tests --- .../tests/indexes/multi/test_constructors.py | 49 +++++++------------ pandas/tests/indexes/multi/test_copy.py | 5 +- pandas/tests/indexes/multi/test_duplicates.py | 1 + pandas/tests/indexes/multi/test_integrity.py | 2 +- 4 files changed, 21 insertions(+), 36 deletions(-) diff --git a/pandas/tests/indexes/multi/test_constructors.py b/pandas/tests/indexes/multi/test_constructors.py index 16af884c89e9e..66e49f46b1334 100644 --- a/pandas/tests/indexes/multi/test_constructors.py +++ b/pandas/tests/indexes/multi/test_constructors.py @@ -189,37 +189,24 @@ def test_from_arrays_tuples(idx): tm.assert_index_equal(result, idx) -def test_from_arrays_index_series_datetimetz(): - idx1 = pd.date_range("2015-01-01 10:00", freq="D", periods=3, tz="US/Eastern") - idx2 = pd.date_range("2015-01-01 10:00", freq="H", periods=3, tz="Asia/Tokyo") - result = pd.MultiIndex.from_arrays([idx1, idx2]) - tm.assert_index_equal(result.get_level_values(0), idx1) - tm.assert_index_equal(result.get_level_values(1), idx2) - - result2 = pd.MultiIndex.from_arrays([pd.Series(idx1), pd.Series(idx2)]) - tm.assert_index_equal(result2.get_level_values(0), idx1) - tm.assert_index_equal(result2.get_level_values(1), idx2) - - tm.assert_index_equal(result, result2) - - -def test_from_arrays_index_series_timedelta(): - idx1 = pd.timedelta_range("1 days", freq="D", periods=3) - idx2 = pd.timedelta_range("2 hours", freq="H", periods=3) - result = pd.MultiIndex.from_arrays([idx1, idx2]) - tm.assert_index_equal(result.get_level_values(0), idx1) - tm.assert_index_equal(result.get_level_values(1), idx2) - - result2 = pd.MultiIndex.from_arrays([pd.Series(idx1), pd.Series(idx2)]) - tm.assert_index_equal(result2.get_level_values(0), idx1) - tm.assert_index_equal(result2.get_level_values(1), idx2) - - tm.assert_index_equal(result, result2) - - -def test_from_arrays_index_series_period(): - idx1 = pd.period_range("2011-01-01", freq="D", periods=3) - idx2 = pd.period_range("2015-01-01", freq="H", periods=3) +@pytest.mark.parametrize( + ("idx1", "idx2"), + [ + ( + pd.period_range("2011-01-01", freq="D", periods=3), + pd.period_range("2015-01-01", freq="H", periods=3), + ), + ( + pd.date_range("2015-01-01 10:00", freq="D", periods=3, tz="US/Eastern"), + pd.date_range("2015-01-01 10:00", freq="H", periods=3, tz="Asia/Tokyo"), + ), + ( + pd.timedelta_range("1 days", freq="D", periods=3), + pd.timedelta_range("2 hours", freq="H", periods=3), + ), + ], +) +def test_from_arrays_index_series_period_datetimetz_and_timedelta(idx1, idx2): result = pd.MultiIndex.from_arrays([idx1, idx2]) tm.assert_index_equal(result.get_level_values(0), idx1) tm.assert_index_equal(result.get_level_values(1), idx2) diff --git a/pandas/tests/indexes/multi/test_copy.py b/pandas/tests/indexes/multi/test_copy.py index 8dc8572493444..7ec3df9fee0e5 100644 --- a/pandas/tests/indexes/multi/test_copy.py +++ b/pandas/tests/indexes/multi/test_copy.py @@ -79,10 +79,7 @@ def test_copy_method_kwargs(deep, kwarg, value): names=["first", "second"], ) idx_copy = idx.copy(**{kwarg: value, "deep": deep}) - if kwarg == "names": - assert getattr(idx_copy, kwarg) == value - else: - assert [list(i) for i in getattr(idx_copy, kwarg)] == value + assert getattr(idx_copy, kwarg) == value @pytest.mark.parametrize("deep", [True, False]) diff --git a/pandas/tests/indexes/multi/test_duplicates.py b/pandas/tests/indexes/multi/test_duplicates.py index aa2f37dad152c..26017dd976f73 100644 --- a/pandas/tests/indexes/multi/test_duplicates.py +++ b/pandas/tests/indexes/multi/test_duplicates.py @@ -68,6 +68,7 @@ def test_unique_level(idx, level): mi = MultiIndex.from_arrays([[], []], names=["first", "second"]) result = mi.unique(level=level) expected = mi.get_level_values(level) + tm.assert_index_equal(result, expected) @pytest.mark.parametrize("dropna", [True, False]) diff --git a/pandas/tests/indexes/multi/test_integrity.py b/pandas/tests/indexes/multi/test_integrity.py index 6a353fe1ad6e7..6f70445c24e9a 100644 --- a/pandas/tests/indexes/multi/test_integrity.py +++ b/pandas/tests/indexes/multi/test_integrity.py @@ -137,7 +137,7 @@ def test_dims(): pass -def take_invalid_kwargs(): +def test_take_invalid_kwargs(): vals = [["A", "B"], [pd.Timestamp("2011-01-01"), pd.Timestamp("2011-01-02")]] idx = pd.MultiIndex.from_product(vals, names=["str", "dt"]) indices = [1, 2] From 09ac19ade6381f23d21414c21b912972f8e9584b Mon Sep 17 00:00:00 2001 From: phofl Date: Tue, 5 Jan 2021 20:56:11 +0100 Subject: [PATCH 2/3] Fix merge error --- pandas/tests/indexes/multi/test_constructors.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pandas/tests/indexes/multi/test_constructors.py b/pandas/tests/indexes/multi/test_constructors.py index f0fe4d03d2a54..1b6d55ec2ef3d 100644 --- a/pandas/tests/indexes/multi/test_constructors.py +++ b/pandas/tests/indexes/multi/test_constructors.py @@ -193,16 +193,16 @@ def test_from_arrays_tuples(idx): ("idx1", "idx2"), [ ( - period_range("2011-01-01", freq="D", periods=3), - period_range("2015-01-01", freq="H", periods=3), + pd.period_range("2011-01-01", freq="D", periods=3), + pd.period_range("2015-01-01", freq="H", periods=3), ), ( date_range("2015-01-01 10:00", freq="D", periods=3, tz="US/Eastern"), date_range("2015-01-01 10:00", freq="H", periods=3, tz="Asia/Tokyo"), ), ( - timedelta_range("1 days", freq="D", periods=3), - timedelta_range("2 hours", freq="H", periods=3), + pd.timedelta_range("1 days", freq="D", periods=3), + pd.timedelta_range("2 hours", freq="H", periods=3), ), ], ) From 18d47b5c8b1a5169e2a5ed9fd618470d58c87808 Mon Sep 17 00:00:00 2001 From: phofl Date: Tue, 5 Jan 2021 20:58:25 +0100 Subject: [PATCH 3/3] Remove pd --- pandas/tests/indexes/multi/test_constructors.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/tests/indexes/multi/test_constructors.py b/pandas/tests/indexes/multi/test_constructors.py index 1b6d55ec2ef3d..11687b535d2b7 100644 --- a/pandas/tests/indexes/multi/test_constructors.py +++ b/pandas/tests/indexes/multi/test_constructors.py @@ -211,7 +211,7 @@ def test_from_arrays_index_series_period_datetimetz_and_timedelta(idx1, idx2): tm.assert_index_equal(result.get_level_values(0), idx1) tm.assert_index_equal(result.get_level_values(1), idx2) - result2 = MultiIndex.from_arrays([pd.Series(idx1), pd.Series(idx2)]) + result2 = MultiIndex.from_arrays([Series(idx1), Series(idx2)]) tm.assert_index_equal(result2.get_level_values(0), idx1) tm.assert_index_equal(result2.get_level_values(1), idx2)