Skip to content

Commit cd8a9ee

Browse files
committed
Add tests for Index.format
1 parent c23e424 commit cd8a9ee

File tree

6 files changed

+28
-5
lines changed

6 files changed

+28
-5
lines changed

pandas/core/indexes/range.py

-3
Original file line numberDiff line numberDiff line change
@@ -197,9 +197,6 @@ def _format_data(self, name=None):
197197
# we are formatting thru the attributes
198198
return None
199199

200-
def _format_with_header(self, header, na_rep="NaN") -> List[str]:
201-
return header + [pprint_thing(x) for x in self._range]
202-
203200
# --------------------------------------------------------------------
204201
_deprecation_message = (
205202
"RangeIndex.{} is deprecated and will be "

pandas/tests/indexes/categorical/test_category.py

+6
Original file line numberDiff line numberDiff line change
@@ -478,3 +478,9 @@ def test_reindex_base(self):
478478
def test_map_str(self):
479479
# See test_map.py
480480
pass
481+
482+
def test_format_different_scalar_lengths(self):
483+
# GH35439
484+
idx = CategoricalIndex(["aaaaaaaaa", "b"])
485+
expected = ["aaaaaaaaa", "b"]
486+
assert idx.format() == expected

pandas/tests/indexes/common.py

+6
Original file line numberDiff line numberDiff line change
@@ -642,6 +642,12 @@ def test_equals_op(self):
642642
tm.assert_numpy_array_equal(index_a == item, expected3)
643643
tm.assert_series_equal(series_a == item, Series(expected3))
644644

645+
def test_format(self):
646+
# GH35439
647+
idx = self.create_index()
648+
expected = [str(x) for x in idx]
649+
assert idx.format() == expected
650+
645651
def test_hasnans_isnans(self, index):
646652
# GH 11343, added tests for hasnans / isnans
647653
if isinstance(index, MultiIndex):

pandas/tests/indexes/datetimes/test_datetimelike.py

+5
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ def index(self, request):
2020
def create_index(self) -> DatetimeIndex:
2121
return date_range("20130101", periods=5)
2222

23+
def test_format(self):
24+
idx = self.create_index()
25+
expected = [f"{x:%Y-%m-%d}" for x in idx]
26+
assert idx.format() == expected
27+
2328
def test_shift(self):
2429
pass # handled in test_ops
2530

pandas/tests/indexes/test_base.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -1171,8 +1171,11 @@ def test_summary_bug(self):
11711171
assert "~:{range}:0" in result
11721172
assert "{other}%s" in result
11731173

1174-
def test_format(self, index):
1175-
self._check_method_works(Index.format, index)
1174+
def test_format_different_scalar_lengths(self):
1175+
# GH35439
1176+
idx = Index(["aaaaaaaaa", "b"])
1177+
expected = ["aaaaaaaaa", "b"]
1178+
assert idx.format() == expected
11761179

11771180
def test_format_bug(self):
11781181
# GH 14626

pandas/tests/indexes/test_numeric.py

+6
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ def test_can_hold_identifiers(self):
2121
key = idx[0]
2222
assert idx._can_hold_identifiers_and_holds_name(key) is False
2323

24+
def test_format(self):
25+
idx = self.create_index()
26+
max_width = max(len(str(x)) for x in idx)
27+
expected = [str(x).ljust(max_width) for x in idx]
28+
assert idx.format() == expected
29+
2430
def test_numeric_compat(self):
2531
pass # override Base method
2632

0 commit comments

Comments
 (0)