a
    Pfi                     @   sh   d dl Zd dlZd dlmZ d dlmZmZmZm	Z	m
Z
mZmZmZmZ G dd dZG dd dZdS )    N)using_pyarrow_string_dtype)	CategoricalCategoricalDtypeCategoricalIndexIndexSeries
date_rangeoption_contextperiod_rangetimedelta_rangec                   @   s   e Zd Zdd ZdS )TestCategoricalReprWithFactorc                 C   sH   t g ddd}|rddg}nddg}d|}t|}||ksDJ d S )N)abr   r   r   cr   r   Torderedz(['a', 'b', 'b', 'a', 'a', 'c', 'c', 'c']z#Categories (3, string): [a < b < c]z)Categories (3, object): ['a' < 'b' < 'c']
)r   joinrepr)selfZusing_infer_stringfactorexpectedactual r   b/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/arrays/categorical/test_repr.py
test_print   s    
z(TestCategoricalReprWithFactor.test_printN)__name__
__module____qualname__r   r   r   r   r   r      s   r   c                   @   s   e Zd Zdd Zdd Zdd Zejje	 ddd	d
 Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& Zd'd( Zd)d* Zd+d, Zd-d. Zd/S )0TestCategoricalReprc                 C   s`   t g dd }ttg dtdd}tj||d}g d}d|}t|}||ks\J d S )N)r         r   r    r!   d   r   r   r   dtype
categories)z7['a', 'b', 'c', 'a', 'b', ..., 'b', 'c', 'a', 'b', 'c']zLength: 600z'Categories (3, object): ['a', 'b', 'c']r   )	nparrayr   r   objectr   Z
from_codesr   r   )r   codesr%   r   r   r   r   r   r   test_big_print&   s    
z"TestCategoricalRepr.test_big_printc                 C   s   t g tg dtd}d}t|}||ks.J ||ks:J t g tg dtddd}d}t|}||kslJ t g g }d}|t|ksJ d S )Nr#   r$   z+[], Categories (3, object): ['a', 'b', 'c']Tr   z-[], Categories (3, object): ['a' < 'b' < 'c']z[], Categories (0, object): [])r   r   r*   r   )r   r   r   r   r   r   r   test_empty_print5   s    
z$TestCategoricalRepr.test_empty_printc                 C   sR   t tg d}d}tdd   |t|ks0J W d    n1 sD0    Y  d S )N)r    r!         zO0    1
1    2
2    3
3    4
dtype: category
Categories (4, int64): [1, 2, 3, 4]zdisplay.width)r   r   r	   r   )r   r   expr   r   r   test_print_none_widthE   s
    z)TestCategoricalRepr.test_print_none_widthz2Change once infer_string is set to True by default)reasonc                 C   s   t g dd }d}t||ks$J t g dd }d}t||ksHJ tdd4 t g dd }d}t||ksxJ W d    n1 s0    Y  d S )N)ZaaaaaZbbZcccc   z['aaaaa', 'bb', 'cccc', 'aaaaa', 'bb', ..., 'bb', 'cccc', 'aaaaa', 'bb', 'cccc']
Length: 60
Categories (3, object): ['aaaaa', 'bb', 'cccc'])u   ああああu   いいいいいu   うううううううu,  ['ああああ', 'いいいいい', 'ううううううう', 'ああああ', 'いいいいい', ..., 'いいいいい', 'ううううううう', 'ああああ', 'いいいいい', 'ううううううう']
Length: 60
Categories (3, object): ['ああああ', 'いいいいい', 'ううううううう']z display.unicode.east_asian_widthT)r   r   r	   )r   r   r   r   r   r   test_unicode_printP   s    z&TestCategoricalRepr.test_unicode_printc                 C   s   t g d}d}t||ks J t g dg dd}d}t||ksHJ t g dd }d}t||kslJ t tjd	tjd
}d}t||ksJ d S )Nr    r!   r.   z*[1, 2, 3]
Categories (3, int64): [1, 2, 3]r    r!   r.   r    r!   r.   r&   z3[1, 2, 3, 1, 2, 3]
Categories (3, int64): [1, 2, 3]r    r!   r.   r/      
   zU[1, 2, 3, 4, 5, ..., 1, 2, 3, 4, 5]
Length: 50
Categories (5, int64): [1, 2, 3, 4, 5]r3   r$   zm[0, 1, 2, 3, 4, ..., 15, 16, 17, 18, 19]
Length: 20
Categories (20, int64): [0, 1, 2, 3, ..., 16, 17, 18, 19]r   r   r(   arangeint64r   r   r0   r   r   r   test_categorical_repro   s    z)TestCategoricalRepr.test_categorical_reprc                 C   s   t g ddd}d}t||ks$J t g dg ddd}d}t||ksNJ t g dd	 dd}d
}t||ksvJ t tjdtjddd}d}t||ksJ d S )Nr5   Tr   z,[1, 2, 3]
Categories (3, int64): [1 < 2 < 3]r6   r'   r   z5[1, 2, 3, 1, 2, 3]
Categories (3, int64): [1 < 2 < 3]r7   r9   zY[1, 2, 3, 4, 5, ..., 1, 2, 3, 4, 5]
Length: 50
Categories (5, int64): [1 < 2 < 3 < 4 < 5]r3   r$   zq[0, 1, 2, 3, 4, ..., 15, 16, 17, 18, 19]
Length: 20
Categories (20, int64): [0 < 1 < 2 < 3 ... 16 < 17 < 18 < 19]r:   r=   r   r   r   test_categorical_repr_ordered   s    z1TestCategoricalRepr.test_categorical_repr_orderedc                 C   s   t dddd}t|}d}t||ks*J t|||d}d}t||ksPJ t ddddd	}t|}d
}t||ks|J t|||d}d}t||ksJ d S )N2011-01-01 09:00hr8   freqperiodsa  [2011-01-01 09:00:00, 2011-01-01 10:00:00, 2011-01-01 11:00:00, 2011-01-01 12:00:00, 2011-01-01 13:00:00]
Categories (5, datetime64[ns]): [2011-01-01 09:00:00, 2011-01-01 10:00:00, 2011-01-01 11:00:00,
                                 2011-01-01 12:00:00, 2011-01-01 13:00:00]r&   a}  [2011-01-01 09:00:00, 2011-01-01 10:00:00, 2011-01-01 11:00:00, 2011-01-01 12:00:00, 2011-01-01 13:00:00, 2011-01-01 09:00:00, 2011-01-01 10:00:00, 2011-01-01 11:00:00, 2011-01-01 12:00:00, 2011-01-01 13:00:00]
Categories (5, datetime64[ns]): [2011-01-01 09:00:00, 2011-01-01 10:00:00, 2011-01-01 11:00:00,
                                 2011-01-01 12:00:00, 2011-01-01 13:00:00]
US/EasternrD   rE   tza  [2011-01-01 09:00:00-05:00, 2011-01-01 10:00:00-05:00, 2011-01-01 11:00:00-05:00, 2011-01-01 12:00:00-05:00, 2011-01-01 13:00:00-05:00]
Categories (5, datetime64[ns, US/Eastern]): [2011-01-01 09:00:00-05:00, 2011-01-01 10:00:00-05:00,
                                             2011-01-01 11:00:00-05:00, 2011-01-01 12:00:00-05:00,
                                             2011-01-01 13:00:00-05:00]a  [2011-01-01 09:00:00-05:00, 2011-01-01 10:00:00-05:00, 2011-01-01 11:00:00-05:00, 2011-01-01 12:00:00-05:00, 2011-01-01 13:00:00-05:00, 2011-01-01 09:00:00-05:00, 2011-01-01 10:00:00-05:00, 2011-01-01 11:00:00-05:00, 2011-01-01 12:00:00-05:00, 2011-01-01 13:00:00-05:00]
Categories (5, datetime64[ns, US/Eastern]): [2011-01-01 09:00:00-05:00, 2011-01-01 10:00:00-05:00,
                                             2011-01-01 11:00:00-05:00, 2011-01-01 12:00:00-05:00,
                                             2011-01-01 13:00:00-05:00]r   r   r   appendr   idxr   r0   r   r   r   test_categorical_repr_datetime   s$    	z2TestCategoricalRepr.test_categorical_repr_datetimec                 C   s   t dddd}t|dd}d}t||ks.J t|||dd}d	}t||ksVJ t dddd
d}t|dd}d}t||ksJ t|||dd}d}t||ksJ d S )NrA   rB   r8   rC   Tr   a  [2011-01-01 09:00:00, 2011-01-01 10:00:00, 2011-01-01 11:00:00, 2011-01-01 12:00:00, 2011-01-01 13:00:00]
Categories (5, datetime64[ns]): [2011-01-01 09:00:00 < 2011-01-01 10:00:00 < 2011-01-01 11:00:00 <
                                 2011-01-01 12:00:00 < 2011-01-01 13:00:00]r?   a  [2011-01-01 09:00:00, 2011-01-01 10:00:00, 2011-01-01 11:00:00, 2011-01-01 12:00:00, 2011-01-01 13:00:00, 2011-01-01 09:00:00, 2011-01-01 10:00:00, 2011-01-01 11:00:00, 2011-01-01 12:00:00, 2011-01-01 13:00:00]
Categories (5, datetime64[ns]): [2011-01-01 09:00:00 < 2011-01-01 10:00:00 < 2011-01-01 11:00:00 <
                                 2011-01-01 12:00:00 < 2011-01-01 13:00:00]rF   rG   a  [2011-01-01 09:00:00-05:00, 2011-01-01 10:00:00-05:00, 2011-01-01 11:00:00-05:00, 2011-01-01 12:00:00-05:00, 2011-01-01 13:00:00-05:00]
Categories (5, datetime64[ns, US/Eastern]): [2011-01-01 09:00:00-05:00 < 2011-01-01 10:00:00-05:00 <
                                             2011-01-01 11:00:00-05:00 < 2011-01-01 12:00:00-05:00 <
                                             2011-01-01 13:00:00-05:00]a   [2011-01-01 09:00:00-05:00, 2011-01-01 10:00:00-05:00, 2011-01-01 11:00:00-05:00, 2011-01-01 12:00:00-05:00, 2011-01-01 13:00:00-05:00, 2011-01-01 09:00:00-05:00, 2011-01-01 10:00:00-05:00, 2011-01-01 11:00:00-05:00, 2011-01-01 12:00:00-05:00, 2011-01-01 13:00:00-05:00]
Categories (5, datetime64[ns, US/Eastern]): [2011-01-01 09:00:00-05:00 < 2011-01-01 10:00:00-05:00 <
                                             2011-01-01 11:00:00-05:00 < 2011-01-01 12:00:00-05:00 <
                                             2011-01-01 13:00:00-05:00]rI   rK   r   r   r   &test_categorical_repr_datetime_ordered   s    z:TestCategoricalRepr.test_categorical_repr_datetime_orderedc                 C   sV   t ddtjg}d}t||ks$J tddtjgddd}d}t||ksRJ d S )Nr    r!   z)[1, 2, NaN]
Categories (2, int64): [1, 2]r*   r$   categoryzH0      1
1      2
2    NaN
dtype: category
Categories (2, int64): [1, 2])r   r(   nanr   r   Zastype)r   r   Zc_expsZs_expr   r   r   "test_categorical_repr_int_with_nan  s    z6TestCategoricalRepr.test_categorical_repr_int_with_nanc                 C   s   t dddd}t|}d}t||ks*J t|||d}d}t||ksPJ t dd	dd}t|}d
}t||kszJ t|||d}d}t||ksJ d S )NrA   rB   r8   rC   z[2011-01-01 09:00, 2011-01-01 10:00, 2011-01-01 11:00, 2011-01-01 12:00, 2011-01-01 13:00]
Categories (5, period[h]): [2011-01-01 09:00, 2011-01-01 10:00, 2011-01-01 11:00, 2011-01-01 12:00,
                            2011-01-01 13:00]r&   aF  [2011-01-01 09:00, 2011-01-01 10:00, 2011-01-01 11:00, 2011-01-01 12:00, 2011-01-01 13:00, 2011-01-01 09:00, 2011-01-01 10:00, 2011-01-01 11:00, 2011-01-01 12:00, 2011-01-01 13:00]
Categories (5, period[h]): [2011-01-01 09:00, 2011-01-01 10:00, 2011-01-01 11:00, 2011-01-01 12:00,
                            2011-01-01 13:00]2011-01Mzv[2011-01, 2011-02, 2011-03, 2011-04, 2011-05]
Categories (5, period[M]): [2011-01, 2011-02, 2011-03, 2011-04, 2011-05]z[2011-01, 2011-02, 2011-03, 2011-04, 2011-05, 2011-01, 2011-02, 2011-03, 2011-04, 2011-05]
Categories (5, period[M]): [2011-01, 2011-02, 2011-03, 2011-04, 2011-05]r
   r   r   rJ   rK   r   r   r   test_categorical_repr_period  s    z0TestCategoricalRepr.test_categorical_repr_periodc                 C   s   t dddd}t|dd}d}t||ks.J t|||dd}d	}t||ksVJ t d
ddd}t|dd}d}t||ksJ t|||dd}d}t||ksJ d S )NrA   rB   r8   rC   Tr   z[2011-01-01 09:00, 2011-01-01 10:00, 2011-01-01 11:00, 2011-01-01 12:00, 2011-01-01 13:00]
Categories (5, period[h]): [2011-01-01 09:00 < 2011-01-01 10:00 < 2011-01-01 11:00 < 2011-01-01 12:00 <
                            2011-01-01 13:00]r?   aJ  [2011-01-01 09:00, 2011-01-01 10:00, 2011-01-01 11:00, 2011-01-01 12:00, 2011-01-01 13:00, 2011-01-01 09:00, 2011-01-01 10:00, 2011-01-01 11:00, 2011-01-01 12:00, 2011-01-01 13:00]
Categories (5, period[h]): [2011-01-01 09:00 < 2011-01-01 10:00 < 2011-01-01 11:00 < 2011-01-01 12:00 <
                            2011-01-01 13:00]rS   rT   zz[2011-01, 2011-02, 2011-03, 2011-04, 2011-05]
Categories (5, period[M]): [2011-01 < 2011-02 < 2011-03 < 2011-04 < 2011-05]z[2011-01, 2011-02, 2011-03, 2011-04, 2011-05, 2011-01, 2011-02, 2011-03, 2011-04, 2011-05]
Categories (5, period[M]): [2011-01 < 2011-02 < 2011-03 < 2011-04 < 2011-05]rU   rK   r   r   r   $test_categorical_repr_period_ordered,  s    z8TestCategoricalRepr.test_categorical_repr_period_orderedc                 C   s   t ddd}t|}d}t||ks(J t|||d}d}t||ksNJ t ddd}t|}d	}t||ksvJ t|||d}d
}t||ksJ d S )N1 daysr8   rE   zr[1 days, 2 days, 3 days, 4 days, 5 days]
Categories (5, timedelta64[ns]): [1 days, 2 days, 3 days, 4 days, 5 days]r&   z[1 days, 2 days, 3 days, 4 days, 5 days, 1 days, 2 days, 3 days, 4 days, 5 days]
Categories (5, timedelta64[ns]): [1 days, 2 days, 3 days, 4 days, 5 days]1 hoursr3   a  [0 days 01:00:00, 1 days 01:00:00, 2 days 01:00:00, 3 days 01:00:00, 4 days 01:00:00, ..., 15 days 01:00:00, 16 days 01:00:00, 17 days 01:00:00, 18 days 01:00:00, 19 days 01:00:00]
Length: 20
Categories (20, timedelta64[ns]): [0 days 01:00:00, 1 days 01:00:00, 2 days 01:00:00,
                                   3 days 01:00:00, ..., 16 days 01:00:00, 17 days 01:00:00,
                                   18 days 01:00:00, 19 days 01:00:00]a  [0 days 01:00:00, 1 days 01:00:00, 2 days 01:00:00, 3 days 01:00:00, 4 days 01:00:00, ..., 15 days 01:00:00, 16 days 01:00:00, 17 days 01:00:00, 18 days 01:00:00, 19 days 01:00:00]
Length: 40
Categories (20, timedelta64[ns]): [0 days 01:00:00, 1 days 01:00:00, 2 days 01:00:00,
                                   3 days 01:00:00, ..., 16 days 01:00:00, 17 days 01:00:00,
                                   18 days 01:00:00, 19 days 01:00:00]r   r   r   rJ   rK   r   r   r   test_categorical_repr_timedeltaI  s    z3TestCategoricalRepr.test_categorical_repr_timedeltac                 C   s   t ddd}t|dd}d}t||ks,J t|||dd}d}t||ksTJ t d	d
d}t|dd}d}t||ksJ t|||dd}d}t||ksJ d S )NrX   r8   rY   Tr   zv[1 days, 2 days, 3 days, 4 days, 5 days]
Categories (5, timedelta64[ns]): [1 days < 2 days < 3 days < 4 days < 5 days]r?   z[1 days, 2 days, 3 days, 4 days, 5 days, 1 days, 2 days, 3 days, 4 days, 5 days]
Categories (5, timedelta64[ns]): [1 days < 2 days < 3 days < 4 days < 5 days]rZ   r3   a  [0 days 01:00:00, 1 days 01:00:00, 2 days 01:00:00, 3 days 01:00:00, 4 days 01:00:00, ..., 15 days 01:00:00, 16 days 01:00:00, 17 days 01:00:00, 18 days 01:00:00, 19 days 01:00:00]
Length: 20
Categories (20, timedelta64[ns]): [0 days 01:00:00 < 1 days 01:00:00 < 2 days 01:00:00 <
                                   3 days 01:00:00 ... 16 days 01:00:00 < 17 days 01:00:00 <
                                   18 days 01:00:00 < 19 days 01:00:00]a  [0 days 01:00:00, 1 days 01:00:00, 2 days 01:00:00, 3 days 01:00:00, 4 days 01:00:00, ..., 15 days 01:00:00, 16 days 01:00:00, 17 days 01:00:00, 18 days 01:00:00, 19 days 01:00:00]
Length: 40
Categories (20, timedelta64[ns]): [0 days 01:00:00 < 1 days 01:00:00 < 2 days 01:00:00 <
                                   3 days 01:00:00 ... 16 days 01:00:00 < 17 days 01:00:00 <
                                   18 days 01:00:00 < 19 days 01:00:00]r[   rK   r   r   r   'test_categorical_repr_timedelta_orderedj  s    z;TestCategoricalRepr.test_categorical_repr_timedelta_orderedc                 C   sT   t tg d}d}t||ks$J t ttjdtjd}d}t||ksPJ d S )Nr5   zRCategoricalIndex([1, 2, 3], categories=[1, 2, 3], ordered=False, dtype='category')r9   r$   z{CategoricalIndex([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], categories=[0, 1, 2, 3, ..., 6, 7, 8, 9], ordered=False, dtype='category')r   r   r   r(   r;   r<   )r   rL   r0   ir   r   r   test_categorical_index_repr  s    z/TestCategoricalRepr.test_categorical_index_reprc                 C   s\   t tg ddd}d}t||ks(J t ttjdtjddd}d}t||ksXJ d S )Nr5   Tr   zQCategoricalIndex([1, 2, 3], categories=[1, 2, 3], ordered=True, dtype='category')r9   r$   zzCategoricalIndex([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], categories=[0, 1, 2, 3, ..., 6, 7, 8, 9], ordered=True, dtype='category')r^   )r   r_   r0   r   r   r   #test_categorical_index_repr_ordered  s    z7TestCategoricalRepr.test_categorical_index_repr_orderedc                 C   sb   t dddd}tt|}d}t||ks.J t ddddd}tt|}d}t||ks^J d S )	NrA   rB   r8   rC   aQ  CategoricalIndex(['2011-01-01 09:00:00', '2011-01-01 10:00:00',
                  '2011-01-01 11:00:00', '2011-01-01 12:00:00',
                  '2011-01-01 13:00:00'],
                 categories=[2011-01-01 09:00:00, 2011-01-01 10:00:00, 2011-01-01 11:00:00, 2011-01-01 12:00:00, 2011-01-01 13:00:00], ordered=False, dtype='category')rF   rG   a  CategoricalIndex(['2011-01-01 09:00:00-05:00', '2011-01-01 10:00:00-05:00',
                  '2011-01-01 11:00:00-05:00', '2011-01-01 12:00:00-05:00',
                  '2011-01-01 13:00:00-05:00'],
                 categories=[2011-01-01 09:00:00-05:00, 2011-01-01 10:00:00-05:00, 2011-01-01 11:00:00-05:00, 2011-01-01 12:00:00-05:00, 2011-01-01 13:00:00-05:00], ordered=False, dtype='category'))r   r   r   r   r   rL   r_   r0   r   r   r   $test_categorical_index_repr_datetime  s    z8TestCategoricalRepr.test_categorical_index_repr_datetimec                 C   s   t dddd}tt|dd}d}t||ks2J t ddddd	}tt|dd}d
}t||ksfJ tt||dd}d}t||ksJ d S )NrA   rB   r8   rC   Tr   aP  CategoricalIndex(['2011-01-01 09:00:00', '2011-01-01 10:00:00',
                  '2011-01-01 11:00:00', '2011-01-01 12:00:00',
                  '2011-01-01 13:00:00'],
                 categories=[2011-01-01 09:00:00, 2011-01-01 10:00:00, 2011-01-01 11:00:00, 2011-01-01 12:00:00, 2011-01-01 13:00:00], ordered=True, dtype='category')rF   rG   a  CategoricalIndex(['2011-01-01 09:00:00-05:00', '2011-01-01 10:00:00-05:00',
                  '2011-01-01 11:00:00-05:00', '2011-01-01 12:00:00-05:00',
                  '2011-01-01 13:00:00-05:00'],
                 categories=[2011-01-01 09:00:00-05:00, 2011-01-01 10:00:00-05:00, 2011-01-01 11:00:00-05:00, 2011-01-01 12:00:00-05:00, 2011-01-01 13:00:00-05:00], ordered=True, dtype='category')aA  CategoricalIndex(['2011-01-01 09:00:00-05:00', '2011-01-01 10:00:00-05:00',
                  '2011-01-01 11:00:00-05:00', '2011-01-01 12:00:00-05:00',
                  '2011-01-01 13:00:00-05:00', '2011-01-01 09:00:00-05:00',
                  '2011-01-01 10:00:00-05:00', '2011-01-01 11:00:00-05:00',
                  '2011-01-01 12:00:00-05:00', '2011-01-01 13:00:00-05:00'],
                 categories=[2011-01-01 09:00:00-05:00, 2011-01-01 10:00:00-05:00, 2011-01-01 11:00:00-05:00, 2011-01-01 12:00:00-05:00, 2011-01-01 13:00:00-05:00], ordered=True, dtype='category'))r   r   r   r   rJ   rb   r   r   r   ,test_categorical_index_repr_datetime_ordered  s    z@TestCategoricalRepr.test_categorical_index_repr_datetime_orderedc                 C   s  t dddd}tt|}d}t||ks.J t dddd}tt|}d}t||ks\J t dddd}tt|}d	}t||ksJ t ddd
d}tt|}d}t||ksJ tt||}d}t||ksJ t ddd
d}tt|}d}t||ksJ d S )NrA   rB   r    rC   zfCategoricalIndex(['2011-01-01 09:00'], categories=[2011-01-01 09:00], ordered=False, dtype='category')r!   zCategoricalIndex(['2011-01-01 09:00', '2011-01-01 10:00'], categories=[2011-01-01 09:00, 2011-01-01 10:00], ordered=False, dtype='category')r.   zCategoricalIndex(['2011-01-01 09:00', '2011-01-01 10:00', '2011-01-01 11:00'], categories=[2011-01-01 09:00, 2011-01-01 10:00, 2011-01-01 11:00], ordered=False, dtype='category')r8   a!  CategoricalIndex(['2011-01-01 09:00', '2011-01-01 10:00', '2011-01-01 11:00',
                  '2011-01-01 12:00', '2011-01-01 13:00'],
                 categories=[2011-01-01 09:00, 2011-01-01 10:00, 2011-01-01 11:00, 2011-01-01 12:00, 2011-01-01 13:00], ordered=False, dtype='category')a  CategoricalIndex(['2011-01-01 09:00', '2011-01-01 10:00', '2011-01-01 11:00',
                  '2011-01-01 12:00', '2011-01-01 13:00', '2011-01-01 09:00',
                  '2011-01-01 10:00', '2011-01-01 11:00', '2011-01-01 12:00',
                  '2011-01-01 13:00'],
                 categories=[2011-01-01 09:00, 2011-01-01 10:00, 2011-01-01 11:00, 2011-01-01 12:00, 2011-01-01 13:00], ordered=False, dtype='category')rS   rT   zCategoricalIndex(['2011-01', '2011-02', '2011-03', '2011-04', '2011-05'], categories=[2011-01, 2011-02, 2011-03, 2011-04, 2011-05], ordered=False, dtype='category'))r
   r   r   r   rJ   rb   r   r   r   "test_categorical_index_repr_period  s.    z6TestCategoricalRepr.test_categorical_index_repr_periodc                 C   sh   t dddd}tt|dd}d}t||ks2J t dd	dd}tt|dd}d
}t||ksdJ d S )NrA   rB   r8   rC   Tr   a   CategoricalIndex(['2011-01-01 09:00', '2011-01-01 10:00', '2011-01-01 11:00',
                  '2011-01-01 12:00', '2011-01-01 13:00'],
                 categories=[2011-01-01 09:00, 2011-01-01 10:00, 2011-01-01 11:00, 2011-01-01 12:00, 2011-01-01 13:00], ordered=True, dtype='category')rS   rT   zCategoricalIndex(['2011-01', '2011-02', '2011-03', '2011-04', '2011-05'], categories=[2011-01, 2011-02, 2011-03, 2011-04, 2011-05], ordered=True, dtype='category'))r
   r   r   r   rb   r   r   r   *test_categorical_index_repr_period_ordered  s    z>TestCategoricalRepr.test_categorical_index_repr_period_orderedc                 C   s\   t ddd}tt|}d}t||ks,J t ddd}tt|}d}t||ksXJ d S )NrX   r8   rY   zCategoricalIndex(['1 days', '2 days', '3 days', '4 days', '5 days'], categories=[1 days, 2 days, 3 days, 4 days, 5 days], ordered=False, dtype='category')rZ   r9   a  CategoricalIndex(['0 days 01:00:00', '1 days 01:00:00', '2 days 01:00:00',
                  '3 days 01:00:00', '4 days 01:00:00', '5 days 01:00:00',
                  '6 days 01:00:00', '7 days 01:00:00', '8 days 01:00:00',
                  '9 days 01:00:00'],
                 categories=[0 days 01:00:00, 1 days 01:00:00, 2 days 01:00:00, 3 days 01:00:00, ..., 6 days 01:00:00, 7 days 01:00:00, 8 days 01:00:00, 9 days 01:00:00], ordered=False, dtype='category')r   r   r   r   rb   r   r   r   %test_categorical_index_repr_timedelta  s    z9TestCategoricalRepr.test_categorical_index_repr_timedeltac                 C   sd   t ddd}tt|dd}d}t||ks0J t ddd}tt|dd}d	}t||ks`J d S )
NrX   r8   rY   Tr   zCategoricalIndex(['1 days', '2 days', '3 days', '4 days', '5 days'], categories=[1 days, 2 days, 3 days, 4 days, 5 days], ordered=True, dtype='category')rZ   r9   a  CategoricalIndex(['0 days 01:00:00', '1 days 01:00:00', '2 days 01:00:00',
                  '3 days 01:00:00', '4 days 01:00:00', '5 days 01:00:00',
                  '6 days 01:00:00', '7 days 01:00:00', '8 days 01:00:00',
                  '9 days 01:00:00'],
                 categories=[0 days 01:00:00, 1 days 01:00:00, 2 days 01:00:00, 3 days 01:00:00, ..., 6 days 01:00:00, 7 days 01:00:00, 8 days 01:00:00, 9 days 01:00:00], ordered=True, dtype='category')rg   rb   r   r   r   -test_categorical_index_repr_timedelta_ordered  s    zATestCategoricalRepr.test_categorical_index_repr_timedelta_orderedc                 C   s$   t tg d}d}||ks J d S )N)r    2r.   r/   z5[1, '2', 3, 4]
Categories (4, object): [1, 3, 4, '2'])r   r   )r   resultr   r   r   r   test_categorical_str_repr"  s    z-TestCategoricalRepr.test_categorical_str_reprN)r   r   r   r,   r-   r1   pytestmarkZskipifr   r4   r>   r@   rM   rN   rR   rV   rW   r\   r]   r`   ra   rc   rd   re   rf   rh   ri   rl   r   r   r   r   r   %   s4   
>!!!		'r   )numpyr(   rm   Zpandas._configr   Zpandasr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   <module>   s
   ,