projektAI/venv/Lib/site-packages/pandas/tests/indexes/categorical/test_formats.py
2021-06-06 22:13:05 +02:00

109 lines
5.6 KiB
Python

"""
Tests for CategoricalIndex.__repr__ and related methods.
"""
import pandas._config.config as cf
from pandas import CategoricalIndex
class TestCategoricalIndexRepr:
def test_string_categorical_index_repr(self):
# short
idx = CategoricalIndex(["a", "bb", "ccc"])
expected = """CategoricalIndex(['a', 'bb', 'ccc'], categories=['a', 'bb', 'ccc'], ordered=False, dtype='category')""" # noqa
assert repr(idx) == expected
# multiple lines
idx = CategoricalIndex(["a", "bb", "ccc"] * 10)
expected = """CategoricalIndex(['a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a',
'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb',
'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc'],
categories=['a', 'bb', 'ccc'], ordered=False, dtype='category')"""
assert repr(idx) == expected
# truncated
idx = CategoricalIndex(["a", "bb", "ccc"] * 100)
expected = """CategoricalIndex(['a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a',
...
'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc'],
categories=['a', 'bb', 'ccc'], ordered=False, dtype='category', length=300)""" # noqa
assert repr(idx) == expected
# larger categories
idx = CategoricalIndex(list("abcdefghijklmmo"))
expected = """CategoricalIndex(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
'm', 'm', 'o'],
categories=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', ...], ordered=False, dtype='category')""" # noqa
assert repr(idx) == expected
# short
idx = CategoricalIndex(["", "いい", "ううう"])
expected = """CategoricalIndex(['', 'いい', 'ううう'], categories=['', 'いい', 'ううう'], ordered=False, dtype='category')""" # noqa
assert repr(idx) == expected
# multiple lines
idx = CategoricalIndex(["", "いい", "ううう"] * 10)
expected = """CategoricalIndex(['', 'いい', 'ううう', '', 'いい', 'ううう', '', 'いい', 'ううう', '',
'いい', 'ううう', '', 'いい', 'ううう', '', 'いい', 'ううう', '', 'いい',
'ううう', '', 'いい', 'ううう', '', 'いい', 'ううう', '', 'いい', 'ううう'],
categories=['', 'いい', 'ううう'], ordered=False, dtype='category')"""
assert repr(idx) == expected
# truncated
idx = CategoricalIndex(["", "いい", "ううう"] * 100)
expected = """CategoricalIndex(['', 'いい', 'ううう', '', 'いい', 'ううう', '', 'いい', 'ううう', '',
...
'ううう', '', 'いい', 'ううう', '', 'いい', 'ううう', '', 'いい', 'ううう'],
categories=['', 'いい', 'ううう'], ordered=False, dtype='category', length=300)""" # noqa
assert repr(idx) == expected
# larger categories
idx = CategoricalIndex(list("あいうえおかきくけこさしすせそ"))
expected = """CategoricalIndex(['', '', '', '', '', '', '', '', '', '', '', '',
'', '', ''],
categories=['', '', '', '', '', '', '', '', ...], ordered=False, dtype='category')""" # noqa
assert repr(idx) == expected
# Emable Unicode option -----------------------------------------
with cf.option_context("display.unicode.east_asian_width", True):
# short
idx = CategoricalIndex(["", "いい", "ううう"])
expected = """CategoricalIndex(['', 'いい', 'ううう'], categories=['', 'いい', 'ううう'], ordered=False, dtype='category')""" # noqa
assert repr(idx) == expected
# multiple lines
idx = CategoricalIndex(["", "いい", "ううう"] * 10)
expected = """CategoricalIndex(['', 'いい', 'ううう', '', 'いい', 'ううう', '', 'いい',
'ううう', '', 'いい', 'ううう', '', 'いい', 'ううう',
'', 'いい', 'ううう', '', 'いい', 'ううう', '', 'いい',
'ううう', '', 'いい', 'ううう', '', 'いい', 'ううう'],
categories=['', 'いい', 'ううう'], ordered=False, dtype='category')"""
assert repr(idx) == expected
# truncated
idx = CategoricalIndex(["", "いい", "ううう"] * 100)
expected = """CategoricalIndex(['', 'いい', 'ううう', '', 'いい', 'ううう', '', 'いい',
'ううう', '',
...
'ううう', '', 'いい', 'ううう', '', 'いい', 'ううう',
'', 'いい', 'ううう'],
categories=['', 'いい', 'ううう'], ordered=False, dtype='category', length=300)""" # noqa
assert repr(idx) == expected
# larger categories
idx = CategoricalIndex(list("あいうえおかきくけこさしすせそ"))
expected = """CategoricalIndex(['', '', '', '', '', '', '', '', '', '',
'', '', '', '', ''],
categories=['', '', '', '', '', '', '', '', ...], ordered=False, dtype='category')""" # noqa
assert repr(idx) == expected