Ë
    ¤eh§M  ã                   óœ   — d dl Z 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 d dlmZ d dlmZ  G d„ d«      Z G d„ d«      Z G d	„ d
«      Zy)é    N)ÚPY311)ÚCategoricalÚCategoricalIndexÚ	DataFrameÚIndexÚSeriesÚStringDtype)Úrecode_for_categoriesc                   óö  — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  j                  dg d¢ddgg«      d	„ «       Z
d
„ Zd„ Zd„ Zej                  j                  ddgg d¢g d¢g«      d„ «       Zd„ Zd„ Zd„ Zd„ Zej                  j                  dg d¢ddgddgfg d¢ddgddgfg d¢ddgddgfg d¢ddgddgfg d¢ddgddgfg d¢ddgddgfg d¢ddgddgfg d¢ddgddgfg d¢ddgdgfg d¢ddgdgfg d¢ddgdgfg d¢ddgdgfg d¢ddgddgfg«      ej                  j                  dddg«      d „ «       «       Zd!„ Zd"„ Zd#„ Zej                  j                  d$d%gd%ej0                  gd%d%d%gg«      d&„ «       Zd'„ Zy())ÚTestCategoricalAPIc                 ó´   — t        t        d«      d¬«      }d}t        j                  t        |¬«      5  |j                  «        d d d «       y # 1 sw Y   y xY w)NÚacbF©Úorderedz5Categorical.to_list is deprecated and will be removed©Úmatch)r   ÚlistÚtmÚassert_produces_warningÚFutureWarningÚto_list)ÚselfÚcat1Úmsgs      úf/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/arrays/categorical/test_api.pyÚtest_to_list_deprecatedz*TestCategoricalAPI.test_to_list_deprecated   sE   € äœ4 ›;°Ô6ˆØEˆÜ×'Ñ'¬¸SÔAñ 	Ø�L‰LŒN÷	÷ 	ñ 	ús   ´AÁAc                 ó¤  — t        t        d«      d¬«      }t        j                  |j                  t        g d¢«      «       |j                  rJ ‚t        t        d«      t        d«      d¬«      }t        j                  |j                  t        g d¢«      «       |j                  rJ ‚t        t        d«      d¬«      }t        j                  |j                  t        g d¢«      «       |j                  sJ ‚t        t        d«      t        d«      d¬«      }t        j                  |j                  t        g d¢«      «       |j                  sJ ‚y )	Nr   Fr   ©ÚaÚbÚcÚbca©Ú
categoriesr   )r    r!   r   T)r   r   r   Úassert_index_equalr$   r   r   )r   r   Úcat2Úcat3Úcat4s        r   Útest_ordered_apiz#TestCategoricalAPI.test_ordered_api   sä   € äœ4 ›;°Ô6ˆÜ
×Ñ˜dŸo™o¬u²_Ó/EÔFØ—<’<ÐÐäœ4 ›;´4¸³;ÈÔNˆÜ
×Ñ˜dŸo™o¬u²_Ó/EÔFØ—<’<ÐÐäœ4 ›;°Ô5ˆÜ
×Ñ˜dŸo™o¬u²_Ó/EÔFØ�|Š|Ðˆ|äœ4 ›;´4¸³;ÈÔMˆÜ
×Ñ˜dŸo™o¬u²_Ó/EÔFØ�|Š|Ð‰|ó    c                 óþ  — t        g d¢d¬«      }|j                  «       }|j                  rJ ‚|j                  «       }|j                  sJ ‚|j	                  d«      j                  sJ ‚|j	                  d«      j                  rJ ‚t
        rdnd}t        j                  t        |¬«      5  d|_        d d d «       t        j                  t        |¬«      5  d|_        d d d «       y # 1 sw Y   Œ5xY w# 1 sw Y   y xY w)N©r   r    r!   r   Tr   Fz8property 'ordered' of 'Categorical' object has no setterúcan't set attributer   )	r   Úas_unorderedr   Ú
as_orderedÚset_orderedr   ÚpytestÚraisesÚAttributeError)r   Úcatr&   r   s       r   Útest_set_orderedz#TestCategoricalAPI.test_set_ordered.   sä   € ÜÒ.¸Ô=ˆØ×ÑÓ!ˆØ—<’<ÐÐØ�~‰~ÓˆØ�|Š|Ðˆ|à×Ñ Ó%×-Ò-Ð-Ð-Ø×#Ñ# EÓ*×2Ò2Ð2Ð2õ
 ñ Gà&ð 	ô
 �]‰]œ>°Ô5ñ 	ØˆCŒK÷	ä�]‰]œ>°Ô5ñ 	 ØˆCŒK÷	 ð 	 ÷	ð 	ú÷	 ð 	 ús   Â+C'ÃC3Ã'C0Ã3C<c                 ó†  — t        g d¢«      }|j                  g d¢«      }t        j                  |j	                  «       t        j                  g d¢t
        j                  ¬«      «       t        j                  |j                  t        g d¢«      «       t        j                  g d¢t
        j                  ¬«      }t        j                  |j	                  «       |«       t        g d¢«      }t        j                  |j                  |«       |j                  d„ «      }t        g d¢«      }t        j                  ||«       y )Nr,   ©é   é   é   )r8   r9   r:   r8   ©Údtyper   c                 ó"   — | j                  «       S )N)Úupper)Úxs    r   ú<lambda>z;TestCategoricalAPI.test_rename_categories.<locals>.<lambda>T   s   € °·±³€ r*   )ÚAÚBÚCrA   )r   Úrename_categoriesr   Úassert_numpy_array_equalÚ	__array__ÚnpÚarrayÚint64r%   r$   r   Úobject_Úassert_categorical_equal)r   r4   ÚresÚexp_catÚresultÚexpecteds         r   Útest_rename_categoriesz)TestCategoricalAPI.test_rename_categoriesC   sÙ   € ÜÒ.Ó/ˆð ×#Ñ#¢IÓ.ˆÜ
×#Ñ#Ø�M‰M‹OœRŸX™X¢l¼"¿(¹(ÔCô	
ô 	×Ñ˜cŸn™n¬e²IÓ.>Ô?ä—(‘(Ò/´r·z±zÔBˆÜ
×#Ñ# C§M¡M£O°WÔ=äšÓ(ˆÜ
×Ñ˜cŸn™n¨gÔ6ð ×&Ñ&Ñ':Ó;ˆÜÒ3Ó4ˆÜ
×#Ñ# F¨HÕ5r*   Únew_categories©r8   r9   r:   é   r8   r9   c                 ó¤   — t        g d¢«      }d}t        j                  t        |¬«      5  |j	                  |«       d d d «       y # 1 sw Y   y xY w)Nr,   zKnew categories need to have the same number of items as the old categories!r   )r   r1   r2   Ú
ValueErrorrD   ©r   rQ   r4   r   s       r   Ú*test_rename_categories_wrong_length_raisesz=TestCategoricalAPI.test_rename_categories_wrong_length_raisesX   sJ   € äÒ.Ó/ˆðð 	ô �]‰]œ:¨SÔ1ñ 	2Ø×!Ñ! .Ô1÷	2÷ 	2ñ 	2ús   «AÁAc                 ó¤   — t        ddg«      }|j                  t        ddgddg¬«      «      }t        ddg«      }t        j                  ||«       y )Nr   r    r   r8   ©Úindex)r   rD   r   r   rK   )r   r!   rN   rO   s       r   Útest_rename_categories_seriesz0TestCategoricalAPI.test_rename_categories_seriesb   sM   € ä˜˜c˜
Ó#ˆØ×$Ñ$¤V¨Q°¨F¸3À¸*Ô%EÓFˆÜ  1˜vÓ&ˆÜ
×#Ñ# F¨HÕ5r*   c           	      ó€  — t        g d¢«      }|j                  dddddœ«      }t        g d¢«      }t        j                  |j
                  |«       t        g d¢«      }|j                  dddœ«      }t        g d¢«      }t        j                  |j
                  |«       t        g d¢«      }|j                  ddddd	d
dœ«      }t        g d¢«      }t        j                  |j
                  |«       t        g d¢«      }|j                  dddœ«      }t        g d¢«      }t        j                  |j
                  |«       y )N©r   r    r!   ÚdrS   r:   r9   r8   ©rS   r:   r9   r8   )r   r!   )r8   r    r:   r^   é   é   )r   r    r!   r^   ÚeÚfrR   )rc   Úg)r   rD   r   r   r%   r$   )r   r4   rL   rO   s       r   Útest_rename_categories_dictz.TestCategoricalAPI.test_rename_categories_dicti   s  € äÒ.Ó/ˆØ×#Ñ#¨!°!¸!À!Ñ$DÓEˆÜšÓ&ˆÜ
×Ñ˜cŸn™n¨hÔ7ô Ò.Ó/ˆØ×#Ñ#¨!°!Ñ$4Ó5ˆäÒ)Ó*ˆÜ
×Ñ˜cŸn™n¨hÔ7ô Ò.Ó/ˆØ×#Ñ#¨!°!¸!À!È!ÐRSÑ$TÓUˆÜšÓ&ˆÜ
×Ñ˜cŸn™n¨hÔ7ô Ò.Ó/ˆØ×#Ñ#¨!°!Ñ$4Ó5ˆäÒ-Ó.ˆÜ
×Ñ˜cŸn™n¨hÕ7r*   c                 óä   — t        g d¢d¬«      }|j                  «       }t        g d¢g d¢d¬«      }|j                  g d¢«      }t        j                  ||«       t        j                  ||«       y )Nr,   Tr   ©r!   r    r   r#   )r   ÚcopyÚreorder_categoriesr   rK   ©r   r4   ÚoldÚnewrL   s        r   Útest_reorder_categoriesz*TestCategoricalAPI.test_reorder_categories„   s]   € ÜÒ.¸Ô=ˆØ�h‰h‹jˆÜÚ ª_Àdô
ˆð ×$Ñ$¢_Ó5ˆä
×#Ñ# C¨Ô-ä
×#Ñ# C¨Õ-r*   r   ©r   r    r^   r]   c                 ó¨   — t        g d¢d¬«      }d}t        j                  t        |¬«      5  |j	                  |«       d d d «       y # 1 sw Y   y xY w)Nr,   Tr   z=items in new_categories are not the same as in old categoriesr   )r   r1   r2   rU   ri   rV   s       r   Útest_reorder_categories_raisesz1TestCategoricalAPI.test_reorder_categories_raises‘   sG   € ô Ò.¸Ô=ˆØMˆÜ�]‰]œ:¨SÔ1ñ 	3Ø×"Ñ" >Ô2÷	3÷ 	3ñ 	3ús   ­AÁAc                 óZ  — t        g d¢d¬«      }|j                  «       }t        g d¢g d¢d¬«      }|j                  d«      }t        j                  ||«       t        j                  ||«       |j                  dg«      }t        j                  ||«       t        j                  ||«       t        t        d«      d¬«      }t        t        d«      t        d«      d¬«      }|j                  t        dd	g«      «      }t        j                  ||«       |j                  t        j                  dd	g«      «      }t        j                  ||«       |j                  t        dd	g«      «      }t        j                  ||«       |j                  dd	g«      }t        j                  ||«       y )
Nr,   Tr   r]   r#   r^   ÚabcÚabcderb   )
r   rh   Úadd_categoriesr   rK   r   r   rG   rH   r   )r   r4   rk   rl   rL   rO   s         r   Útest_add_categoriesz&TestCategoricalAPI.test_add_categoriesŸ   s[  € ÜÒ.¸Ô=ˆØ�h‰h‹jˆÜÚ Ò-AÈ4ô
ˆð × Ñ  Ó%ˆÜ
×#Ñ# C¨Ô-Ü
×#Ñ# C¨Ô-à× Ñ  # Ó'ˆÜ
×#Ñ# C¨Ô-Ü
×#Ñ# C¨Ô-ô œ$˜u›+¨tÔ4ˆÜœt E›{´t¸G³}ÈdÔSˆà× Ñ ¤¨¨c¨
Ó!3Ó4ˆÜ
×#Ñ# C¨Ô2Ø× Ñ ¤§¡¨3°¨*Ó!5Ó6ˆÜ
×#Ñ# C¨Ô2Ø× Ñ ¤¨¨S zÓ!2Ó3ˆÜ
×#Ñ# C¨Ô2Ø× Ñ  # s Ó,ˆÜ
×#Ñ# C¨Õ2r*   c                 óÐ   — t        g d¢d¬«      }t        j                  d«      }t        j                  t
        |¬«      5  |j                  dg«       d d d «       y # 1 sw Y   y xY w)Nr]   Tr   z5new categories must not include old categories: {'d'}r   r^   )r   ÚreÚescaper1   r2   rU   rt   )r   r4   r   s      r   Ú#test_add_categories_existing_raisesz6TestCategoricalAPI.test_add_categories_existing_raises»   sQ   € äÒ.¸Ô=ˆÜ�i‰iÐOÓPˆÜ�]‰]œ:¨SÔ1ñ 	&Ø×Ñ ˜uÔ%÷	&÷ 	&ñ 	&ús   Á AÁA%c                 ó  — t        t        ddgd¬«      «      }t        dgd¬«      }|j                  |«      }t        t        ddgd¬«      t        g d¢d¬«      ¬«      }t        j                  ||«       t        t        g d¢t        «       ¬«      «      }t        d	gt        «       ¬«      }|j                  |«      }t        t        g d¢t        «       ¬«      t        g d
¢t        «       ¬«      ¬«      }t        j                  ||«       y )Nr8   r9   ÚInt64r;   rS   )r8   r9   rS   ©r$   ©r   r    r   r^   rn   )r   r   rt   r   rK   r	   )r   r4   ÚserrN   rO   s        r   Ú,test_add_categories_losing_dtype_informationz?TestCategoricalAPI.test_add_categories_losing_dtype_informationÂ   sÏ   € äœ& ! Q ¨wÔ7Ó8ˆÜ�a�S Ô(ˆØ×#Ñ# CÓ(ˆÜÜ�A�q�6 Ô)´fºYÈgÔ6Vô
ˆô 	×#Ñ# F¨HÔ5äœ&¢¼»ÔFÓGˆÜ�c�U¤+£-Ô0ˆØ×#Ñ# CÓ(ˆÜÜ’?¬+«-Ô8Üšo´[³]ÔCô
ˆô 	×#Ñ# F¨HÕ5r*   c                 ó†	  — t        g d¢d¬«      }t        g d¢«      }t        j                  g d¢t        j                  ¬«      }|j                  g d¢«      }|j                  g d¢«      }t        j                  |j                  |«       t        j                  |j                  «       |«       t        g d¢«      }t        j                  |j                  |«       t        j                  |j                  «       |«       t        g d¢d¬«      }|j                  dg«      }t        j                  |j                  t        j                  g d¢t        j                  ¬«      «       |j                  g d	¢«      }t        j                  |j                  t        j                  g d
¢t        j                  ¬«      «       t        j                  |j                  t        g d	¢«      «       |j                  g d¢«      }t        g d¢«      }t        j                  |j                  |«       t        g d¢g d¢d¬«      }t        j                  |j                  t        j                  g d¢t        j                  ¬«      «       t        j                  |j                  t        g d¢«      «       t        j                  g d¢t        j                  ¬«      }t        j                  t        j                  |«      |«       |j                  g d¢«      }t        j                  |j                  t        j                  g d¢t        j                  ¬«      «       t        j                  |j                  t        g d¢«      «       t        j                  g d¢t        j                  ¬«      }t        j                  t        j                  |«      |«       |j!                  «       dk(  sJ ‚|j#                  «       dk(  sJ ‚|j                  g d¢d¬«      }|j$                  rJ ‚t        j                  t        j                  |«      t        j                  |«      «       |j'                  d«      j                  g d¢«      }|j$                  rJ ‚t        j                  t        j                  |«      t        j                  |«      «       y )Nr,   Tr   rg   r;   r   r   )r   éÿÿÿÿr�   r   rn   )r   r8   r�   r   r]   )r8   r9   r:   rS   r8   rR   r#   )r   r8   r9   r:   r   r_   )r:   r9   r8   r   r:   rS   r8   F)r   r   rG   rH   rJ   Úset_categoriesr   r%   r$   rE   rF   ÚcodesÚint8Ú_codesrI   ÚasarrayÚminÚmaxr   r0   )	r   r4   Úexp_categoriesÚ
exp_valuesrL   Úexp_categories_backr!   ÚexpÚc2s	            r   Útest_set_categoriesz&TestCategoricalAPI.test_set_categoriesÕ   s  € ÜÒ.¸Ô=ˆÜšÓ/ˆÜ—X‘XÒ2¼"¿*¹*ÔEˆ
à× Ñ ¢Ó1ˆØ× Ñ ¢Ó1ˆä
×Ñ˜cŸn™n¨nÔ=Ü
×#Ñ# C§M¡M£O°ZÔ@ä#¢OÓ4ÐÜ
×Ñ˜cŸn™nÐ.AÔBÜ
×#Ñ# C§M¡M£O°ZÔ@ô Ò.¸Ô=ˆØ× Ñ  # Ó'ˆÜ
×#Ñ# C§I¡I¬r¯x©xºÌbÏgÉgÔ/VÔWð × Ñ ¢Ó1ˆÜ
×#Ñ# C§I¡I¬r¯x©xºÌRÏWÉWÔ/UÔVÜ
×Ñ˜cŸn™n¬e²OÓ.DÔEð × Ñ Ò!5Ó6ˆÜÒ3Ó4ˆÜ
×Ñ˜cŸn™n¨nÔ=ô š²LÈ$ÔOˆÜ
×#Ñ# A§H¡H¬b¯h©h²ÌbÏgÉgÔ.VÔWÜ
×Ñ˜aŸl™l¬E²,Ó,?Ô@ä�h‰h’¬b¯h©hÔ7ˆÜ
×#Ñ#¤B§J¡J¨q£M°3Ô7ð ×Ñš\Ó*ˆô 	×#Ñ# A§H¡H¬b¯h©h²ÌbÏgÉgÔ.VÔWô 	×Ñ˜aŸl™l¬E²,Ó,?Ô@ô �h‰h’¬b¯h©hÔ7ˆÜ
×#Ñ#¤B§J¡J¨q£M°3Ô7Ø�u‰u‹w˜!Š|Ðˆ|Ø�u‰u‹w˜!Š|Ðˆ|ð ×Ñšl°EÐÓ:ˆØ—:’:Ðˆ~ä
×#Ñ#¤B§J¡J¨q£M´2·:±:¸b³>ÔBð �]‰]˜5Ó!×0Ñ0²Ó>ˆØ—:’:Ðˆ~ä
×#Ñ#¤B§J¡J¨q£M´2·:±:¸b³>ÕBr*   z"values, categories, new_categoriesr}   r    )r    r   r   r   )r    r   r!   r^   rb   r   TFc                 óˆ   — t        ||«      }t        |||«      }|j                  ||¬«      }t        j                  ||«       y )Nr   )r   r‚   r   rK   )r   Úvaluesr$   rQ   r   r!   rO   rN   s           r   Útest_set_categories_manyz+TestCategoricalAPI.test_set_categories_many  sC   € ô6 ˜ 
Ó+ˆÜ˜v ~°wÓ?ˆØ×!Ñ! .¸'Ð!ÓBˆÜ
×#Ñ# F¨HÕ5r*   c                 ó¨   — t        ddg«      }|j                  dgd¬«      }t        dt        j                  g«      }t	        j
                  ||«       y )NrA   rB   T)Úrename)r   r‚   rG   Únanr   rK   )r   r4   rN   rO   s       r   Útest_set_categories_rename_lessz2TestCategoricalAPI.test_set_categories_rename_less7  sI   € ä˜3 ˜*Ó%ˆØ×#Ñ# S E°$Ð#Ó7ˆÜ ¤R§V¡V˜}Ó-ˆÜ
×#Ñ# F¨HÕ5r*   c                 óP  — t        g d¢g d¢¬«      }|j                  g d¢«       t        g d¢t        d«      ¬«      }t        j                  ||«       t        g d¢g d¢¬«      }|j                  g d¢d¬«       t        g d¢t        d«      ¬«      }t        j                  ||«       y )	Nr   r]   r|   )r   r!   r^   rb   )r   r!   r^   ÚacdeT)Úfastpath)r   Ú_set_categoriesr   r   rK   )r   r4   rO   s      r   Útest_set_categories_privatez.TestCategoricalAPI.test_set_categories_private>  s�   € Üš/Ò6JÔKˆØ×ÑÒ0Ô1Üš¼4À»<ÔHˆÜ
×#Ñ# C¨Ô2ô š/Ò6JÔKˆØ×ÑÒ0¸4ÐÔ@Üš¼4À»<ÔHˆÜ
×#Ñ# C¨Õ2r*   c                 ó|  — t        g d¢d¬«      }|j                  «       }t        ddt        j                  dgddgd¬«      }|j	                  d«      }t        j                  ||«       t        j                  ||«       |j	                  dg«      }t        j                  ||«       t        j                  ||«       y )Nr,   Tr   r   r    r#   r!   )r   rh   rG   r”   Úremove_categoriesr   rK   rj   s        r   Útest_remove_categoriesz)TestCategoricalAPI.test_remove_categoriesJ  sœ   € ÜÒ.¸Ô=ˆØ�h‰h‹jˆÜ˜3 ¤R§V¡V¨SÐ1¸sÀC¸jÐRVÔWˆà×#Ñ# CÓ(ˆÜ
×#Ñ# C¨Ô-Ü
×#Ñ# C¨Ô-à×#Ñ# S EÓ*ˆÜ
×#Ñ# C¨Ô-Ü
×#Ñ# C¨Õ-r*   Úremovalsr!   c                 óÊ   — t        g d¢«      }t        j                  d«      }t        j                  t
        |¬«      5  |j                  |«       d d d «       y # 1 sw Y   y xY w)Nr}   z-removals must all be in old categories: {'c'}r   )r   rw   rx   r1   r2   rU   rœ   )r   rž   r4   Úmessages       r   Útest_remove_categories_raisesz0TestCategoricalAPI.test_remove_categories_raisesW  sL   € äš/Ó*ˆÜ—)‘)ÐKÓLˆä�]‰]œ:¨WÔ5ñ 	,Ø×!Ñ! (Ô+÷	,÷ 	,ñ 	,ús   ¾AÁA"c           	      ó:  — t        g d¢g d¢¬«      }t        g d¢«      }t        g d¢«      }t        j                  |j                  |«       |j                  «       }t        j                  |j                  |«       t        j                  |j                  |«       t        dddt        j                  gg d¢¬«      }|j                  «       }t        j                  |j                  t        t        j                  g d¢«      «      «       t        j                  g d	¢t        j                  ¬
«      }t        j                  |j                  |«       t        j                  |j                  |«       dt        j                  ddddt        j                  g}t        |t        d«      ¬«      }|j                  «       }t        j                  |j                  t        g d¢«      «       t        j                  g d¢t        j                  ¬
«      }t        j                  |j                  |«       |j                  «       |k(  sJ ‚t        d«      }	t        j                  j                  d«      j!                  |	d d d…   d«      j#                  d«      }t        j                  |t        j                  j                  d«      j!                  t%        |«      d«      <   t        ||	¬«      }|j                  «       }|j                  «       |j                  «       k(  sJ ‚y )N)r   r    r!   r^   r   )r   r    r!   r^   rb   r|   r]   r   r    r!   r   )r   r8   r9   r�   r;   ÚFÚDrB   ÚABCDEFG)r�   r$   )rB   r¤   r£   )r9   r�   r8   r   r8   r9   r�   Úabcdefghijklmnopqrstuvwxyzr9   i'  Úobjectéd   )r   r   r   r%   r$   Úremove_unused_categoriesrG   r”   rH   r„   rE   rƒ   r   ÚtolistÚrandomÚdefault_rngÚchoiceÚastypeÚlen)
r   r!   Úexp_categories_allÚexp_categories_droppedrL   Ú	exp_codesÚvalr4   ÚoutÚalphas
             r   Útest_remove_unused_categoriesz0TestCategoricalAPI.test_remove_unused_categories_  s/  € ÜÒ1Ò>WÔXˆÜ"Ò#<Ó=ÐÜ!&Ò';Ó!<Ðä
×Ñ˜aŸl™lÐ,>Ô?à×(Ñ(Ó*ˆÜ
×Ñ˜cŸn™nÐ.DÔEÜ
×Ñ˜aŸl™lÐ,>Ô?ô ˜˜c 3¬¯©Ð/Ò<UÔVˆØ×(Ñ(Ó*ˆÜ
×Ñ˜cŸn™n¬e´B·H±Hº_Ó4MÓ.NÔOÜ—H‘Hš]´"·'±'Ô:ˆ	Ü
×#Ñ# C§I¡I¨yÔ9Ü
×Ñ˜aŸl™lÐ,>Ô?à”B—F‘F˜C  c¨3´·±Ð7ˆÜ ´°i³ÔAˆØ×*Ñ*Ó,ˆÜ
×Ñ˜cŸn™n¬e²OÓ.DÔEÜ—H‘HÒ4¼B¿G¹GÔDˆ	Ü
×#Ñ# C§I¡I¨yÔ9Ø�z‰z‹|˜sÒ"Ð"Ð"äÐ1Ó2ˆÜ�i‰i×#Ñ# AÓ&×-Ñ-¨e±C°a°C©j¸%Ó@×GÑGÈÓQˆÜ>@¿f¹fˆŒB�I‰I×!Ñ! !Ó$×+Ñ+¬C°«H°cÓ:Ñ;ä °Ô7ˆØ×*Ñ*Ó,ˆØ�z‰z‹|˜sŸz™z›|Ò+Ð+Ñ+r*   N)Ú__name__Ú
__module__Ú__qualname__r   r)   r5   rP   r1   ÚmarkÚparametrizerW   r[   re   rm   rp   ru   ry   r   rŽ   r‘   r•   rš   r�   rG   r”   r¡   r¶   © r*   r   r   r      s!  „ òòò$ ò*6ð* ‡[�[×ÑÐ-²¸qÀ!¸fÐ/EÓFñ2ó Gð2ò6ò8ò6.ð ‡[�[×ÑØàˆEÚÚ ð	
óñ3óð3ò3ò8&ò6ò&@CðD ‡[�[×ÑØ,ò ˜s C˜j¨3°¨*Ð5â˜s C˜j¨3°¨*Ð5â˜s C˜j¨3°¨*Ð5â˜s C˜j¨3°¨*Ð5â˜s C˜j¨3°¨*Ð5Ú˜s C˜j¨3°¨*Ð5Ú˜s C˜j¨3°¨*Ð5Ú˜s C˜j¨3°¨*Ð5â˜s C˜j¨3¨%Ð0Ú˜s C˜j¨3¨%Ð0Ú˜s C˜j¨3¨%Ð0Ú˜s C˜j¨3¨%Ð0â˜s C˜j¨3°¨*Ð5ð)	
óð2 ‡[�[×Ñ˜Y¨¨u¨Ó6ñ6ó 7ó3ð46ò6ò
3ò.ð ‡[�[×Ñ˜Z¨3¨%°#°r·v±v°ÀÀcÈ3ÀZÐ)PÓQñ,ó Rð,ó!,r*   r   c                   ó   — e Zd Zd„ Zy)ÚTestCategoricalAPIWithFactorc                 ó�  — t        g d¢d¬«      }|j                  «       }|j                  sJ ‚t        g d¢d|j                  ¬«      }t	        g d¢g d¢d	œ|¬
«      }t        j                  ||«       |j                  «       }|j                  g d¢«      }|j                  «       }t        t        d«      |j                  d¬«      }t	        g d¢g d¢d	œ|¬
«      }t        j                  ||«       t        g d¢«      }|j                  «       }t        g d¢|j                  d¬«      }t	        g d¢g d¢d	œ|¬
«      }t        j                  ||«       t        t        j                  dddg«      }|j                  «       }t	        g d¢g d¢d	œt        ddt        j                  gddgd¬«      ¬
«      }t        j                  ||«       y )N)r   r    r    r   r   r!   r!   r!   Tr   r   r$   )Únamer   )r:   r9   r:   )ç      Ø?ç      Ð?rÁ   )ÚcountsÚfreqsrY   r]   Úabcd)r   rÀ   )r:   r9   r:   r   )rÁ   rÂ   rÁ   r   )r8   r9   r:   r8   r9   r:   r:   r9   r8   r8   r8   r7   )r`   r:   r:   )g]tÑEÝ?çtÑE]tÑ?rÆ   r8   r9   )r8   r9   r8   )rÂ   g      à?rÂ   )r$   rÀ   )r   Údescriber   r   r   r   Úassert_frame_equalrh   r‚   r   rG   r”   )r   ÚfactorÚdescÚ	exp_indexrO   r4   s         r   Útest_describez*TestCategoricalAPIWithFactor.test_describe„  s‰  € ÜÒEÈtÔTˆà�‰Ó ˆØ�~Š~Ðˆ~Ü$Ú ,¸¿¹ô
ˆ	ô Ú Ò+FÑGÈyô
ˆô 	×Ñ˜d HÔ-ð �k‰k‹mˆØ× Ñ Ò!5Ó6ˆØ�|‰|‹~ˆä$Ü�‹L &§.¡.°|ô
ˆ	ô Ú#Ò.LÑMØô
ˆô 	×Ñ˜d HÔ-ô Ò;Ó<ˆØ�|‰|‹~ˆÜ$¢Y¸¿¹È,ÔWˆ	ÜÚ Ò+IÑJØô
ˆô 	×Ñ˜d HÔ-ô œ2Ÿ6™6 1 a¨Ð+Ó,ˆØ�|‰|‹~ˆÜÚ Ò+FÑGÜ"Ø�A”r—v‘v�¨A¨q¨6¸ôô
ˆô 	×Ñ˜d HÕ-r*   N)r·   r¸   r¹   rÌ   r¼   r*   r   r¾   r¾   ƒ  s   „ ó/.r*   r¾   c                   óˆ  — e Zd Zd„ Zej
                  j                  dddgddgddgddgfddgddgddgddgfddgddgddgddgfddgddgddgddgfg d¢ddgg d¢g d¢fg d	¢g d¢ddgg d
¢fg d¢g d¢g d¢g d¢fg d¢g d¢dgg d¢fg d¢g d¢dgg d¢fg d¢g d¢g g d¢fddgg ddgddgfddgddgddgddgfg«      d„ «       Zd„ Zy)ÚTestPrivateCategoricalAPIc                 óð  — t        ddddt        j                  g«      }t        j                  g d¢d¬«      }t	        j
                  |j                  |«       t        rdnd}t        j                  t        |¬	«      5  t        j                  g d
¢d¬«      |_        d d d «       |j                  }t        j                  t        d¬	«      5  d|d<   d d d «       d|d<   t        j                  g d¢d¬«      }t	        j
                  |j                  |«       d|j                  d<   t        j                  g d¢d¬«      }t	        j
                  |j                  |«       y # 1 sw Y   ŒÅxY w# 1 sw Y   ŒœxY w)Nr   r    r!   )r   r8   r9   r   r�   r„   r;   z6property 'codes' of 'Categorical' object has no setterr-   r   )r   r8   r9   r   r8   z#assignment destination is read-onlyr8   rS   )r   r8   r9   r   r   r9   )r   r8   r9   r   r9   )r   rG   r”   rH   r   rE   rƒ   r   r1   r2   r3   rU   r…   )r   r!   rŒ   r   rƒ   s        r   Útest_codes_immutablez.TestPrivateCategoricalAPI.test_codes_immutable·  s"  € ä˜˜c 3¨¬R¯V©VÐ4Ó5ˆÜ�h‰hÒ'¨vÔ6ˆÜ
×#Ñ# A§G¡G¨SÔ1õ
 ñ Eà&ð 	ô
 �]‰]œ>°Ô5ñ 	>Ü—h‘hš°fÔ=ˆAŒG÷	>ð —‘ˆä�]‰]œ:Ð-RÔSñ 	ØˆE�!‰H÷	ð
 ˆˆ!‰Ü�h‰h’¨fÔ5ˆÜ
×#Ñ# A§G¡G¨SÔ1Øˆ�‰�‰Ü�h‰h’¨fÔ5ˆÜ
×#Ñ# A§G¡G¨SÕ1÷!	>ð 	>ú÷	ð 	ús   Á=E ÃE,Å E)Å,E5zcodes, old, new, expectedr   r8   r   r    )r   r8   r   r8   r   )r   r8   r9   r9   )r   r8   r�   r�   )r   r8   r�   )r�   r   r�   r^   )r�   r�   r�   r�   c                 ó
  — t        j                  |t         j                  ¬«      }t        j                  |t         j                  ¬«      }t        |«      }t        |«      }t	        |||«      }t        j                  ||«       y )Nr;   )rG   Ú
asanyarrayr„   r   r
   r   rE   )r   rƒ   rk   rl   rO   rN   s         r   Útest_recode_to_categoriesz3TestPrivateCategoricalAPI.test_recode_to_categoriesÕ  s\   € ô$ —‘˜e¬2¯7©7Ô3ˆÜ—=‘= ´·±Ô9ˆÜ�C‹jˆÜ�C‹jˆÜ& u¨c°3Ó7ˆÜ
×#Ñ# F¨HÕ5r*   c                 óø   — d}t        j                  |«      }t        |«      }t        j                  |dz
  ddt         j                  ¬«      }t        |«      }t	        |||«      }t        j                  ||«       y )Niè  r8   r�   r;   )rG   Úaranger   Úint16r
   r   rE   )r   ÚNrƒ   rk   rO   rl   rN   s          r   Útest_recode_to_categories_largez9TestPrivateCategoricalAPI.test_recode_to_categories_largeî  s`   € ØˆÜ—	‘	˜!“ˆÜ�E‹lˆÜ—9‘9˜Q ™U B¨´"·(±(Ô;ˆÜ�H‹oˆÜ& u¨c°3Ó7ˆÜ
×#Ñ# F¨HÕ5r*   N)	r·   r¸   r¹   rÐ   r1   rº   r»   rÓ   rØ   r¼   r*   r   rÎ   rÎ   ¶  s/  „ ò2ð< ‡[�[×ÑØ#à�ˆV�c˜3�Z # s ¨a°¨VÐ4Ø�ˆV�c˜3�Z # s ¨a°¨VÐ4Ø�ˆV�c˜3�Z # s ¨a°¨VÐ4Ø�ˆV�c˜3�Z # s ¨a°¨VÐ4Ú˜C ˜:¢ºÐEÚš?¨S°#¨JºÐGÚšª/º:ÐFÚš¨3¨%²Ð=Úš¨3¨%²Ð>Úš¨"ªlÐ;Ø�"ˆX�r˜C ˜:¨¨B xÐ0Ø�ˆV�c˜3�Z # s ¨a°¨VÐ4ð	
óñ"6ó#ð"6ó6r*   rÎ   )rw   ÚnumpyrG   r1   Úpandas.compatr   Úpandasr   r   r   r   r   r	   Úpandas._testingÚ_testingr   Úpandas.core.arrays.categoricalr
   r   r¾   rÎ   r¼   r*   r   ú<module>rß      sE   ðÛ 	ã Û å ÷÷ õ Ý @÷l,ñ l,÷^0.ñ 0.÷f?6ò ?6r*   