Skip to content

Commit 3d0ddc0

Browse files
Damodara PudduDamodara Puddu
Damodara Puddu
authored and
Damodara Puddu
committed
TST: Added the new supported sorting algorithm stable to test
Addition to doc Fix PR: #38503 Implemented changes: Parameterized tests with addition of the newly supported sorting method stable from numpy 1.15.0
1 parent 9bea1cc commit 3d0ddc0

File tree

1 file changed

+14
-24
lines changed

1 file changed

+14
-24
lines changed

pandas/tests/series/methods/test_sort_index.py

+14-24
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@
77
import pandas._testing as tm
88

99

10+
@pytest.fixture
11+
def sort_kind():
12+
return ["quicksort", "mergesort", "heapsort", "stable"]
13+
14+
1015
class TestSeriesSortIndex:
1116
def test_sort_index_name(self, datetime_series):
1217
result = datetime_series.sort_index(ascending=False)
@@ -104,18 +109,13 @@ def test_sort_index_multiindex(self, level):
104109
res = s.sort_index(level=level, sort_remaining=False)
105110
tm.assert_series_equal(s, res)
106111

107-
def test_sort_index_kind(self):
112+
@pytest.mark.parametrize("kind", sort_kind())
113+
def test_sort_index_kind(self, kind):
108114
# GH#14444 & GH#13589: Add support for sort algo choosing
109115
series = Series(index=[3, 2, 1, 4, 3], dtype=object)
110116
expected_series = Series(index=[1, 2, 3, 3, 4], dtype=object)
111117

112-
index_sorted_series = series.sort_index(kind="mergesort")
113-
tm.assert_series_equal(expected_series, index_sorted_series)
114-
115-
index_sorted_series = series.sort_index(kind="quicksort")
116-
tm.assert_series_equal(expected_series, index_sorted_series)
117-
118-
index_sorted_series = series.sort_index(kind="heapsort")
118+
index_sorted_series = series.sort_index(kind=kind)
119119
tm.assert_series_equal(expected_series, index_sorted_series)
120120

121121
def test_sort_index_na_position(self):
@@ -251,32 +251,22 @@ def test_sort_index_key_int(self):
251251
result = series.sort_index(key=lambda x: 2 * x)
252252
tm.assert_series_equal(result, series)
253253

254-
def test_sort_index_kind_key(self, sort_by_key):
254+
@pytest.mark.parametrize("kind", sort_kind())
255+
def test_sort_index_kind_key(self, kind, sort_by_key):
255256
# GH #14444 & #13589: Add support for sort algo choosing
256257
series = Series(index=[3, 2, 1, 4, 3], dtype=object)
257258
expected_series = Series(index=[1, 2, 3, 3, 4], dtype=object)
258259

259-
index_sorted_series = series.sort_index(kind="mergesort", key=sort_by_key)
260-
tm.assert_series_equal(expected_series, index_sorted_series)
261-
262-
index_sorted_series = series.sort_index(kind="quicksort", key=sort_by_key)
263-
tm.assert_series_equal(expected_series, index_sorted_series)
264-
265-
index_sorted_series = series.sort_index(kind="heapsort", key=sort_by_key)
260+
index_sorted_series = series.sort_index(kind=kind, key=sort_by_key)
266261
tm.assert_series_equal(expected_series, index_sorted_series)
267262

268-
def test_sort_index_kind_neg_key(self):
263+
@pytest.mark.parametrize("kind", sort_kind())
264+
def test_sort_index_kind_neg_key(self, kind):
269265
# GH #14444 & #13589: Add support for sort algo choosing
270266
series = Series(index=[3, 2, 1, 4, 3], dtype=object)
271267
expected_series = Series(index=[4, 3, 3, 2, 1], dtype=object)
272268

273-
index_sorted_series = series.sort_index(kind="mergesort", key=lambda x: -x)
274-
tm.assert_series_equal(expected_series, index_sorted_series)
275-
276-
index_sorted_series = series.sort_index(kind="quicksort", key=lambda x: -x)
277-
tm.assert_series_equal(expected_series, index_sorted_series)
278-
279-
index_sorted_series = series.sort_index(kind="heapsort", key=lambda x: -x)
269+
index_sorted_series = series.sort_index(kind=kind, key=lambda x: -x)
280270
tm.assert_series_equal(expected_series, index_sorted_series)
281271

282272
def test_sort_index_na_position_key(self, sort_by_key):

0 commit comments

Comments
 (0)