o
    &zhvh  ã                   @   s‚   d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlZd dlmZ d dlmZ G dd„ dƒZdS )	é    N)ÚDtype)Úis_bool_dtype)ÚNumpyEADtype)Úna_value_for_dtype)Únargsortc                   @   s  e Zd ZU dZdd„ Zdd„ Zej dddg¡d	d
„ ƒZ	dd„ Z
dd„ Zdd„ Zdd„ Zej dddg¡dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zej d d!d"g¡d#d$„ ƒZej d d!d"g¡d%d&„ ƒZej d'd(d)d*d+d,dejfd-dejfd.d/g¡d0d1„ ƒZd2d3„ Zej d4d5ejg d6¢e d7¡d8fd9ejg d:¢e d7¡d8fg¡d;d<„ ƒZej d=ddg¡d>d?„ ƒZej d=ddg¡d@dA„ ƒZej d=ddg¡dBdC„ ƒZej dDg dE¢¡dFdG„ ƒZej dHe j!dIdJ„ g¡ej d dKdJ„ e j"g¡dLdM„ ƒƒZ#dNdO„ Z$dPdQ„ Z%dRdS„ Z&dTdU„ Z'dVdW„ Z(dXdY„ Z)e*dZƒZ+e,e-d[< d\d]„ Z.d^d_„ Z/d`da„ Z0ej dbddg¡ej dcddg de¢fdfg dg¢fdhg di¢fg¡djdk„ ƒƒZ1dldm„ Z2ej dndoddg¡dpdq„ ƒZ3ej dcdrdsdsggdsdodsggdfdfdoggdodsdfggdtdsdsggg¡dudv„ ƒZ4ej dng dw¢¡dxdy„ ƒZ5dzd{„ Z6d|d}„ Z7d~d„ Z8d€d„ Z9d‚dƒ„ Z:d„d…„ Z;d†d‡„ Z<ej dˆdfdodhg d‰¢g¡dŠd‹„ ƒZ=ej dŒdhddoie>dfdsi e>dŽfdodhgi e>dfdhdd‘ie?d’fg¡d“d”„ ƒZ@d•d–„ ZAd—d˜„ ZBd™dš„ ZCd›dœ„ ZDej dHe je j!e jEg¡ddž„ ƒZFdŸd „ ZGdS )¡ÚBaseMethodsTestsz%Various Series and DataFrame methods.c                 C   s@   ddl m} |jd|dd}|jtjksJ ‚|j|jksJ ‚d S )Nr   )Ú_default_hash_keyzutf-8F)ÚencodingÚhash_keyÚ
categorize)Úpandas.core.util.hashingr   Ú_hash_pandas_objectÚdtypeÚnpÚuint64Úshape)ÚselfÚdatar   Úres© r   ú^/var/www/html/kangema/venv/lib/python3.10/site-packages/pandas/tests/extension/base/methods.pyÚtest_hash_pandas_object   s   ÿz(BaseMethodsTests.test_hash_pandas_objectc                 C   sF   t |dƒst dt|ƒ› ¡ t |j¡}|jd }|jdu s!J ‚d S )NÚvalue_countsz$value_counts is not implemented for ÚdropnaT)	ÚhasattrÚpytestÚskipÚtypeÚinspectÚ	signaturer   Ú
parametersÚdefault)r   r   ÚsigÚkwargr   r   r   Ú test_value_counts_default_dropna    s
   

z1BaseMethodsTests.test_value_counts_default_dropnar   TFc                 C   s`   |d d… }|r||  ¡   }n|}t |¡j|d ¡ }t |¡j|d ¡ }t ||¡ d S )Né
   )r   )ÚisnaÚpdÚSeriesr   Ú
sort_indexÚtmÚassert_series_equal)r   Úall_datar   ÚotherÚresultÚexpectedr   r   r   Útest_value_counts(   s   z"BaseMethodsTests.test_value_countsc                 C   s  |d d…   ¡ }t || ¡   ¡}tj||jd}|jdd ¡ }t	|tj
ƒs;tjdt|ƒ gt|ƒ |jdd}ntjd|jdd}dt|ƒ ||d	k< t	|jtjƒrb|jjtju rb| d
¡}n#t|jddƒdksrt	|jtjƒrx| d¡}nt|jƒtju r…| d¡}t ||¡ d S )Nr%   ©r   T)Ú	normalizeé   Ú
proportion)ÚindexÚnameg        r   Úfloat64ÚstorageÚ Úpyarrowzdouble[pyarrow]ÚFloat64)Úuniquer   Úarrayr&   r'   r(   r   r   r)   Ú
isinstanceÚCategoricalÚlenr5   ÚStringDtypeÚna_valueÚnanÚastypeÚgetattrÚ
ArrowDtyper   ÚNAr*   r+   )r   r   ÚvaluesÚserr.   r/   r   r   r   Ú test_value_counts_with_normalize5   s&   ÿÿ
z1BaseMethodsTests.test_value_counts_with_normalizec                 C   s8   t  d|i¡}|jdd}t  ddg¡}t ||¡ d S )NÚAÚcolumns©Úaxisr   r3   )r'   Ú	DataFrameÚcountr(   r*   r+   )r   Údata_missingÚdfr.   r/   r   r   r   Ú
test_countS   s   zBaseMethodsTests.test_countc                 C   s&   t  |¡}| ¡ }d}||ksJ ‚d S )Nr3   )r'   r(   rP   )r   rQ   rI   r.   r/   r   r   r   Útest_series_countY   s   
z"BaseMethodsTests.test_series_countc                 C   s$   t  |¡ t¡}t|t jƒsJ ‚d S ©N)r'   r(   ÚapplyÚidr>   ©r   r   r.   r   r   r   Útest_apply_simple_series`   s   z)BaseMethodsTests.test_apply_simple_seriesÚ	na_actionNÚignorec                 C   s*   |j dd„ |d}| ¡ }t ||¡ d S )Nc                 S   ó   | S rU   r   ©Úxr   r   r   Ú<lambda>f   ó    z+BaseMethodsTests.test_map.<locals>.<lambda>)rZ   )ÚmapÚto_numpyr*   Úassert_numpy_array_equal)r   rQ   rZ   r.   r/   r   r   r   Útest_mapd   s   zBaseMethodsTests.test_mapc                 C   s8   t  |¡ ¡ }t  tjg d¢tjd¡}t ||¡ d S ©N©é   r   r3   r1   )r'   r(   Úargsortr   r=   Úintpr*   r+   )r   Údata_for_sortingr.   r/   r   r   r   Útest_argsortj   s   zBaseMethodsTests.test_argsortc                 C   s,   |  ¡ }tjg d¢tjd}t ||¡ d S re   )rh   r   r=   ri   r*   rc   )r   Údata_missing_for_sortingr.   r/   r   r   r   Útest_argsort_missing_arrayp   s   z+BaseMethodsTests.test_argsort_missing_arrayc                 C   sj   d}t jt|d t |¡ ¡ }W d   ƒ n1 sw   Y  t tjg d¢tjd¡}t  	||¡ d S )Nz;The behavior of Series.argsort in the presence of NA values©Úmatch)r3   éÿÿÿÿr   r1   )
r*   Úassert_produces_warningÚFutureWarningr'   r(   rh   r   r=   ri   r+   )r   rl   Úmsgr.   r/   r   r   r   Útest_argsort_missingv   s   ÿz%BaseMethodsTests.test_argsort_missingc                 C   sŽ   |j j}d}d}|rd}d}| ¡ |ksJ ‚| ¡ dksJ ‚| g d¢¡}| ¡ |ks-J ‚| ¡ dks5J ‚| ¡ dks=J ‚| ¡ dksEJ ‚d S )Nr3   é   r   rg   )rg   r   r   r3   r3   rg   )r   Ú_is_booleanÚargmaxÚargminÚtake)r   rj   rl   rB   Úis_boolÚ
exp_argmaxÚexp_argmax_repeatedr   r   r   r   Útest_argmin_argmax}   s   z#BaseMethodsTests.test_argmin_argmaxÚmethodrw   rx   c                 C   sL   d}t jt|d t|d d… |ƒƒ  W d   ƒ d S 1 sw   Y  d S )Núattempt to getrn   r   )r   ÚraisesÚ
ValueErrorrE   )r   r~   r   Úerr_msgr   r   r   Útest_argmin_argmax_empty_array–   s   "ÿz/BaseMethodsTests.test_argmin_argmax_empty_arrayc                 C   s\   d}t |ƒj||g|jd}tjt|d t||ƒƒ  W d   ƒ d S 1 s'w   Y  d S )Nr   r1   rn   )r   Ú_from_sequencer   r   r€   r   rE   )r   r~   r   rB   r‚   Údata_nar   r   r   Útest_argmin_argmax_all_na   s
   "ÿz*BaseMethodsTests.test_argmin_argmax_all_nazop_name, skipna, expected)ÚidxmaxTr   )ÚidxminTrg   )rw   Tr   )rx   Trg   r‡   rˆ   )rw   Frp   )rx   Frp   c           	      C   s˜   d }d}|  d¡r|dkrt}|  d¡r t |¡r t}d|› }t |¡}tj||d t||ƒ|d}W d   ƒ n1 s?w   Y  t 	||¡ d S )Nz$The behavior of Series.argmax/argminÚargrp   ÚidxzThe behavior of Series.rn   ©Úskipna)
Ú
startswithrr   r   Úisnanr'   r(   r*   rq   rE   Úassert_almost_equal)	r   rl   Úop_namerŒ   r/   Úwarnrs   rI   r.   r   r   r   Útest_argreduce_series¥   s   

ÿz&BaseMethodsTests.test_argreduce_seriesc                 C   s~   |}t jtdd |jdd W d   ƒ n1 sw   Y  t jtdd |jdd W d   ƒ d S 1 s8w   Y  d S )Nr9   rn   Fr‹   )r   r€   ÚNotImplementedErrorrx   rw   )r   rl   r   r   r   r   Ú+test_argmax_argmin_no_skipna_notimplementedÂ   s   ÿ"ÿz<BaseMethodsTests.test_argmax_argmin_no_skipna_notimplementedzna_position, expectedÚlastrf   ri   r1   Úfirst©r3   rg   r   c                 C   s   t ||d}t ||¡ d S )N)Úna_position)r   r*   rc   )r   rl   r˜   r/   r.   r   r   r   Útest_nargsortÌ   s   	zBaseMethodsTests.test_nargsortÚ	ascendingc                 C   sd   t  |¡}|j||d}|jg d¢ }|s*| ¡ dkr#|jg d¢ }n|jg d¢ }t ||¡ d S )N©rš   Úkeyrf   rg   )r   r3   rg   )r3   r   rg   )r'   r(   Úsort_valuesÚilocÚnuniquer*   r+   )r   rj   rš   Úsort_by_keyrI   r.   r/   r   r   r   Útest_sort_valuesØ   s   
z!BaseMethodsTests.test_sort_valuesc                 C   sJ   t  |¡}|j||d}|r|jg d¢ }n|jg d¢ }t ||¡ d S )Nr›   rf   )r   rg   r3   )r'   r(   r   rž   r*   r+   )r   rl   rš   r    rI   r.   r/   r   r   r   Útest_sort_values_missingæ   s   
z)BaseMethodsTests.test_sort_values_missingc                 C   sX   t  g d¢|dœ¡}| ddg¡}t jg d¢| g d¢¡dœg d¢d}t ||¡ d S )N)r3   rg   r3   ©rK   ÚBrK   r¤   )r3   r3   rg   rf   ©r5   )r'   rO   r   ry   r*   Úassert_frame_equal)r   rj   rš   rR   r.   r/   r   r   r   Útest_sort_values_frameò   s   ÿz'BaseMethodsTests.test_sort_values_frameÚkeep)r–   r•   Fc                 C   sh   |  g d¢¡}|j|d}|dkrt g d¢¡}n|dkr%t g d¢¡}nt g d¢¡}t ||¡ d S )N)r   r3   r   r3   )r¨   r–   )FFTTr•   ©TTFF)TTTT)ry   Ú
duplicatedr   r=   r*   rc   )r   r   r¨   Úarrr.   r/   r   r   r   Útest_duplicatedû   s   z BaseMethodsTests.test_duplicatedÚboxc                 C   r\   rU   r   r]   r   r   r   r_     r`   zBaseMethodsTests.<lambda>c                 C   s   |   ¡ S rU   )r<   r]   r   r   r   r_     ó    c                 C   sb   ||j |d |d g|jdƒ}||ƒ}t|ƒdksJ ‚t|t|ƒƒs%J ‚|d |d ks/J ‚d S )Nr   r1   r3   )r„   r   r@   r>   r   )r   r   r­   r~   rª   r.   r   r   r   Útest_unique  s
    zBaseMethodsTests.test_uniquec                 C   s€   t j|dd\}}|jj}|r!tjg d¢tjd}| ddg¡}ntjg d¢tjd}| g d¢¡}t 	||¡ t 
||¡ d S )	NT©Úuse_na_sentinel)r   r   rp   rp   r3   r3   r   r   r1   r   é   )r   r   rp   rp   r3   r3   r   rg   )r   r²   é   )r'   Ú	factorizer   rv   r   r=   ri   ry   r*   rc   Úassert_extension_array_equal)r   Údata_for_groupingÚcodesÚuniquesrz   Úexpected_codesÚexpected_uniquesr   r   r   Útest_factorize  s   zBaseMethodsTests.test_factorizec                 C   sh   t j|dd\}}|jdd\}}t ||¡ t ||¡ t|ƒtt  |¡ƒks*J ‚|j|jks2J ‚d S )NTr°   )r'   r´   r*   rc   rµ   r@   r<   r   )r   r¶   Úcodes_1Ú	uniques_1Úcodes_2Ú	uniques_2r   r   r   Útest_factorize_equivalence!  s   z+BaseMethodsTests.test_factorize_equivalencec                 C   s^   t  |d d… ¡\}}tjg tjd}t|ƒjg |d d… jd}t 	||¡ t 
||¡ d S )Nr   r1   )r'   r´   r   r=   ri   r   r„   r   r*   rc   rµ   )r   r   r·   r¸   r¹   rº   r   r   r   Útest_factorize_empty*  s
   z%BaseMethodsTests.test_factorize_emptyc                 C   sR   |  ddg¡}t d|i¡}| ¡ }|jd }| |¡}||jd< t ||¡ d S )Nr3   rK   )r   r   )ry   r'   rO   Úcopyrž   Úfillnar*   r¦   )r   rQ   r«   rR   Údf_origÚ
filled_valr.   r   r   r   Útest_fillna_copy_frame2  s   


z'BaseMethodsTests.test_fillna_copy_framec                 C   sP   |  ddg¡}tj|dd}| ¡ }|d }| |¡}||jd< t ||¡ d S )Nr3   F)rÂ   r   )ry   r'   r(   rÂ   rÃ   rž   r*   r+   )r   rQ   r«   rI   Úser_origrÅ   r.   r   r   r   Útest_fillna_copy_series>  s   

z(BaseMethodsTests.test_fillna_copy_seriesc                 C   sJ   d}t jt|d | | dg¡¡ W d   ƒ d S 1 sw   Y  d S )Nz!Length of 'value' does not match.rn   r3   )r   r€   r   rÃ   ry   )r   rQ   rs   r   r   r   Útest_fillna_length_mismatchI  s   "ÿz,BaseMethodsTests.test_fillna_length_mismatchÚboolÚ_combine_le_expected_dtypec                    s¼   |dƒ\}}t  |¡}t  |¡}| |dd„ ¡}t  t jdd„ tt|ƒt|ƒƒD ƒ| jd¡}t ||¡ |j	d ‰ | ˆ dd„ ¡}t  t j‡ fd	d„t|ƒD ƒ| jd¡}t ||¡ d S )
Nrg   c                 S   ó   | |kS rU   r   ©Úx1Úx2r   r   r   r_   W  r®   z2BaseMethodsTests.test_combine_le.<locals>.<lambda>c                 S   s   g | ]\}}||k‘qS r   r   ©Ú.0ÚaÚbr   r   r   Ú
<listcomp>Z  ó    z4BaseMethodsTests.test_combine_le.<locals>.<listcomp>r1   r   c                 S   rÌ   rU   r   rÍ   r   r   r   r_   a  r®   c                    s   g | ]}|ˆ k‘qS r   r   ©rÑ   rÒ   ©Úvalr   r   rÔ   d  ó    )
r'   r(   Úcombiner=   ÚzipÚlistrË   r*   r+   rž   )r   Údata_repeatedÚ
orig_data1Ú
orig_data2Ús1Ús2r.   r/   r   r×   r   Útest_combine_leQ  s(   

þÿ
þÿz BaseMethodsTests.test_combine_lec                    s4  |dƒ\}}t  |¡}t  |¡}z,tjdd t  | dd„ tt|ƒt|ƒƒD ƒ¡¡}W d   ƒ n1 s6w   Y  W n) tye   t 	t¡ | 
|dd„ ¡ W d   ƒ Y d S 1 s]w   Y  Y d S w | 
|dd„ ¡}t ||¡ |jd	 ‰ | 
ˆ d
d„ ¡}t  | ‡ fdd„t|ƒD ƒ¡¡}t ||¡ d S )Nrg   r[   )Úoverc                 S   s   g | ]\}}|| ‘qS r   r   rÐ   r   r   r   rÔ   v  rÕ   z5BaseMethodsTests.test_combine_add.<locals>.<listcomp>c                 S   ó   | | S rU   r   rÍ   r   r   r   r_   }  r®   z3BaseMethodsTests.test_combine_add.<locals>.<lambda>c                 S   rä   rU   r   rÍ   r   r   r   r_   €  r®   r   c                 S   rä   rU   r   rÍ   r   r   r   r_   „  r®   c                    s   g | ]}|ˆ  ‘qS r   r   rÖ   r×   r   r   rÔ   †  rÙ   )r'   r(   r   Úerrstater„   rÛ   rÜ   Ú	TypeErrorr   r€   rÚ   r*   r+   rž   )r   rÝ   rÞ   rß   rà   rá   r/   r.   r   r×   r   Útest_combine_addj  s8   

ÿÿÿ€
ÿþû
ÿz!BaseMethodsTests.test_combine_addc                 C   sX   t  |d d… ¡}t j|dd… g d¢d}| |¡}t  |d d… ¡}t ||¡ d S )Nru   rg   é   )rg   ru   r²   r¥   )r'   r(   Úcombine_firstr*   r+   )r   r   rÒ   rÓ   r.   r/   r   r   r   Útest_combine_firstŠ  s
   
z#BaseMethodsTests.test_combine_firstÚframezperiods, indiceséþÿÿÿ)rg   ru   r²   rp   rp   r   )r   r3   rg   ru   r²   rg   )rp   rp   r   r3   rg   c           	      C   sž   |d d… }t j|dd}t j|j|dddd}|r@|jddjdd |¡}t j|t jdgd dd |¡gdd	}tj}n| |¡}tj	}|||ƒ d S )
Nrè   rK   ©r6   T©Ú
allow_fillr3   )r¤   r¤   rM   )
r'   r(   ry   Úto_frameÚassignÚshiftÚconcatr*   r¦   r+   )	r   r   rë   ÚperiodsÚindicesÚsubsetr/   r.   Úcomparer   r   r   Útest_container_shift’  s   ÿ
z%BaseMethodsTests.test_container_shiftc                 C   sB   |  d¡}|d |d ksJ ‚|d |d< |d |d ksJ ‚d S )Nr   r3   ©rò   rX   r   r   r   Útest_shift_0_periods©  s   
z%BaseMethodsTests.test_shift_0_periodsrô   r3   c           	      C   sü   |d d… }t |jƒrtj}ntj}z|||ƒ W n ty,   t t|ƒ› d¡ Y nw t	 
|¡}| |¡}t	 
||| |¡ƒ¡}t ||¡ t	 |dgd dœ¡}| |¡}|dkretjddddg}n	dddtjtjg}t	 ||dœ¡}t ||¡ d S )Nrè   z does not support diffg      ð?r£   r3   r   )r   r   ÚoperatorÚxorÚsubÚ	Exceptionr   r   r   r'   r(   Údiffrò   r*   r+   rO   r   rC   r¦   )	r   r   rô   ÚopÚsr.   r/   rR   rÓ   r   r   r   Ú	test_diff°  s(   
ÿ


zBaseMethodsTests.test_difféüÿÿÿrp   r²   c                 C   s4   |d d… }|  |¡}|j|dd}t ||¡ d S )Nrg   Trî   ©rò   ry   r*   rµ   )r   r   rô   rõ   rö   r.   r/   r   r   r   Útest_shift_non_empty_arrayÊ  s   
z+BaseMethodsTests.test_shift_non_empty_array)r  rp   r   r3   r²   c                 C   s*   |d d… }|  |¡}|}t ||¡ d S )Nr   )rò   r*   rµ   )r   r   rô   Úemptyr.   r/   r   r   r   Útest_shift_empty_arrayÕ  s   
z'BaseMethodsTests.test_shift_empty_arrayc                 C   s8   |  d¡}||usJ ‚|d d…   d¡}||usJ ‚d S )Nr   rg   rù   rX   r   r   r   Útest_shift_zero_copiesÝ  s   
z'BaseMethodsTests.test_shift_zero_copiesc                 C   sh   |d d… }|d }|j d|d}| g d¢¡}t ||¡ |j d|d}| g d¢¡}t ||¡ d S )Nr²   r   r3   )Ú
fill_value)r   r   r3   rg   rì   )rg   ru   r   r   r  )r   r   r«   r	  r.   r/   r   r   r   Útest_shift_fill_valueå  s   z&BaseMethodsTests.test_shift_fill_valuec                 C   s<   t jtdd t|ƒ W d   ƒ d S 1 sw   Y  d S )Nzunhashable typern   )r   r€   ræ   Úhash©r   r   r   r   r   Útest_not_hashableð  s   
"ÿz"BaseMethodsTests.test_not_hashablec                 C   s>   t  |¡}|r| ¡ }t j |¡}t j |¡}t ||¡ d S rU   )r'   r(   rð   ÚutilÚhash_pandas_objectr*   Úassert_equal)r   r   Úas_framerÒ   rÓ   r   r   r   Útest_hash_pandas_object_worksõ  s   
z.BaseMethodsTests.test_hash_pandas_object_worksc           
      C   s  |j jr
|  ||¡S |\}}}| g d¢¡}|rt |¡}| |¡dks&J ‚|j|dddks1J ‚| |¡dks:J ‚|j|dddksEJ ‚| |¡dksNJ ‚|j|dddksYJ ‚| | ddg¡¡}tjddgtj	d}t
 ||¡ t g d	¢¡}	|j||	d
dks…J ‚d S )Nrf   r   Úright©Úsider3   rg   ru   r1   r—   ©Úsorter)r   rv   Ú_test_searchsorted_bool_dtypesry   r'   r(   Úsearchsortedr   r=   ri   r*   rc   )
r   rj   Ú	as_seriesrÓ   ÚcrÒ   r«   r.   r/   r  r   r   r   Útest_searchsortedþ  s"   

z"BaseMethodsTests.test_searchsortedc           
      C   sì   |j }tjddg|d}|\}}t|ƒ ||g¡}|r t |¡}| |¡dks)J ‚|j|dddks4J ‚| |¡dks=J ‚|j|dddksHJ ‚| | ddg¡¡}tjddgtj	d}t
 ||¡ t ddg¡}	|j||	d	dkstJ ‚d S )
NTFr1   r   r  r  r3   rg   r  )r   r'   r=   r   r„   r(   r  ry   r   ri   r*   rc   )
r   rj   r  r   rÓ   rÒ   r«   r.   r/   r  r   r   r   r    s   
z/BaseMethodsTests._test_searchsorted_bool_dtypesc                 C   s¢  |d |d ks
J ‚t |ƒ}|d d… \}}t |j||||g|jd¡}| ¡ }t g d¢¡}	|r>|jdd}|	 	dd¡}	| 
|	¡}
t |j||||g|jd¡}|rZ|jdd}t |
|¡ |j|	 d	d
 t ||¡ | ¡ }|rz|jdd}t g d¢¡}	|j||||g|jd}|rt d|i¡}t d|	i¡}	| 
|	|¡}
t |j||||g|jd¡}|rº|jdd}t |
|¡ |j|	 |d	d
 t ||¡ d S )Nr   r3   rg   r1   r©   rÒ   rí   rp   T)Úinplace)TFTT)r   r'   r(   r„   r   rÂ   r   r=   rð   ÚreshapeÚwherer*   r  ÚmaskrO   )r   r   rB   r  ÚclsrÒ   rÓ   ÚorigrI   Úcondr.   r/   r-   r   r   r   Útest_where_series3  sB   
ÿz"BaseMethodsTests.test_where_seriesÚrepeats)r3   rg   ru   c                 C   s®   t |ƒj|d d… |jd}|rt |¡}|rt ||¡n| |¡}t|tƒr,|gd n|}dd„ t	||ƒD ƒ}t |ƒj||jd}|rOtj||j
 |¡d}t ||¡ d S )Nru   r1   c                 S   s"   g | ]\}}t |ƒD ]}|‘q
qS r   )Úrange)rÑ   r^   ÚnÚ_r   r   r   rÔ   g  s   " z0BaseMethodsTests.test_repeat.<locals>.<listcomp>r¥   )r   r„   r   r'   r(   r   Úrepeatr>   ÚintrÛ   r5   r*   r  )r   r   r%  r  Ú	use_numpyr«   r.   r/   r   r   r   Útest_repeat^  s   
zBaseMethodsTests.test_repeatzrepeats, kwargs, error, msgrN   Únegativer   ÚfooÚbarz'foo'c                 C   sp   t j||d' |rtj||fi |¤Ž n|j|fi |¤Ž W d   ƒ d S W d   ƒ d S 1 s1w   Y  d S )Nrn   )r   r€   r   r)  )r   r   r%  ÚkwargsÚerrorrs   r+  r   r   r   Útest_repeat_raisesn  s   
ü"þz#BaseMethodsTests.test_repeat_raisesc                 C   sd   |  d¡}|dd … }t ||¡ |  ddg¡}| |dg |dg |dd … g¡}t ||¡ d S )Nr   r3   ru   rg   r²   )Údeleter*   rµ   Ú_concat_same_type)r   r   r.   r/   r   r   r   Útest_delete~  s   
$zBaseMethodsTests.test_deletec                 C   sº   |dd …   d|d ¡}t ||¡ |dd …   t|dd … ƒ |d ¡}t ||¡ |d d…   d|d ¡}t t|ƒ¡}|dd… |dd …< t|ƒd |d< | |¡}t ||¡ d S )Nr3   r   rp   r²   rè   )Úinsertr*   rµ   r@   r   Úarangery   )r   r   r.   Útakerr/   r   r   r   Útest_insert‡  s   &
zBaseMethodsTests.test_insertc                 C   sÀ   |}t  ttf¡ | d|¡ W d   ƒ n1 sw   Y  t  ttf¡ | d|¡ W d   ƒ n1 s7w   Y  t  ttf¡ | t|ƒd |¡ W d   ƒ d S 1 sYw   Y  d S )Nr   r²   r3   )r   r€   ræ   r   r6  r@   )r   r   Úinvalid_scalarÚitemr   r   r   Útest_insert_invalid˜  s   ÿÿ"ÿz$BaseMethodsTests.test_insert_invalidc                 C   sÆ   t |ƒ}t t¡ | |d |d ¡ W d   ƒ n1 sw   Y  t t¡ | | d |d ¡ W d   ƒ n1 s>w   Y  t t¡ | d|d ¡ W d   ƒ d S 1 s\w   Y  d S )Nr3   r   g      ø?)r@   r   r€   Ú
IndexErrorr6  ræ   )r   r   Úubr   r   r   Útest_insert_invalid_loc¤  s   ÿÿ"þz(BaseMethodsTests.test_insert_invalid_locc                 C   s2  t |ƒj|d gt|ƒ |jd}t |ƒj|gt|ƒ |jd}tj||dd}tj||dd}tj||dd}| |¡du sAJ ‚| | ¡ ¡du sLJ ‚| |¡du sUJ ‚| |¡du s^J ‚|d d…  |d d… ¡du soJ ‚|d d…  |d d… ¡du s€J ‚| d ¡du s‰J ‚|dg  |d ¡du s—J ‚d S )Nr   r1   F)Ú	transposeTrg   ru   )r   r„   r@   r   r*   Úbox_expectedÚequalsrÂ   )r   r   rB   r  r­   Údata2r…   r   r   r   Útest_equals±  s   """ zBaseMethodsTests.test_equalsc                 C   s   t  |¡ t  |¡¡sJ ‚d S rU   )r'   r(   rB  r  r   r   r   Ú&test_equals_same_data_different_objectÎ  s   z7BaseMethodsTests.test_equals_same_data_different_object)HÚ__name__Ú
__module__Ú__qualname__Ú__doc__r   r$   r   ÚmarkÚparametrizer0   rJ   rS   rT   rY   rd   rk   rm   rt   r}   rƒ   r†   r   rC   r’   r”   r=   r   r™   r¡   r¢   r§   r¬   r'   r(   r<   r¯   r»   rÀ   rÁ   rÆ   rÈ   rÉ   r   rË   r   Ú__annotations__râ   rç   rê   rø   rú   r  r  r  r  r
  r  r  r  r  r$  r,  r   ræ   r2  r5  r9  r<  r?  rO   rD  rE  r   r   r   r   r      sÎ   
 





øþ

þþ




		  þ
4þ

	+

üþ
		
r   )r   rû   Únumpyr   r   Úpandas._typingr   Úpandas.core.dtypes.commonr   Úpandas.core.dtypes.dtypesr   Úpandas.core.dtypes.missingr   Úpandasr'   Úpandas._testingÚ_testingr*   Úpandas.core.sortingr   r   r   r   r   r   Ú<module>   s    