24 lines
755 B
Python
24 lines
755 B
Python
|
import pytest
|
||
|
|
||
|
from pandas import Categorical, CategoricalDtype, Index, IntervalIndex
|
||
|
import pandas._testing as tm
|
||
|
|
||
|
|
||
|
class TestAstype:
|
||
|
@pytest.mark.parametrize("ordered", [True, False])
|
||
|
def test_astype_categorical_retains_ordered(self, ordered):
|
||
|
index = IntervalIndex.from_breaks(range(5))
|
||
|
arr = index._data
|
||
|
|
||
|
dtype = CategoricalDtype(None, ordered=ordered)
|
||
|
|
||
|
expected = Categorical(list(arr), ordered=ordered)
|
||
|
result = arr.astype(dtype)
|
||
|
assert result.ordered is ordered
|
||
|
tm.assert_categorical_equal(result, expected)
|
||
|
|
||
|
# test IntervalIndex.astype while we're at it.
|
||
|
result = index.astype(dtype)
|
||
|
expected = Index(expected)
|
||
|
tm.assert_index_equal(result, expected)
|