§
    Ù! hâ<  ã                   óV  — d Z ddlZddlZddlm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 e
j        Zdded	efd
„Z ej        ddg¬¦  «        d„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Zej          !                    d¦  «        Z" G d„ dej#        ¦  «        Z$ G d„ dej%        ¦  «        Z&dS )aÖ  
This file contains a minimal set of tests for compliance with the extension
array interface test suite, and should contain no other tests.
The test suite for the full functionality of the array is located in
`pandas/tests/arrays/`.

The tests in this file are inherited from the BaseExtensionTests, and only
minimal tweaks should be applied to get the tests passing (by overwriting a
parent method).

Additional tests should either be added to one of the BaseExtensionTests
classes (if they are relevant for the extension interface for all dtypes), or
be added to the array-specific tests in `pandas/tests/arrays/`.

Note: we do not bother with base.BaseIndexTests because NumpyExtensionArray
will never be held in an Index.
é    N)ÚNumpyEADtype)Úis_object_dtype)ÚNumpyExtensionArray)ÚbaseÚ
AttributesÚattrÚobjc                 óŒ  — | dk    r«t          |dd¦  «        }t          |dd¦  «        }t          |t          ¦  «        r0t          |t          ¦  «        s|                     |j        ¦  «        }nDt          |t          ¦  «        r/t          |t          ¦  «        s|                     |j        ¦  «        }t          | |||¦  «         dS )zi
    patch tm.assert_attr_equal so NumpyEADtype("object") is closed enough to
    np.dtype("object")
    ÚdtypeN)ÚgetattrÚ
isinstancer   ÚastypeÚnumpy_dtypeÚorig_assert_attr_equal)r   ÚleftÚrightr	   ÚlattrÚrattrs         ú[c:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/tests/extension/test_numpy.pyÚ_assert_attr_equalr       s¹   € ð
 ˆw‚€Ý˜˜g tÑ,Ô,ˆÝ˜˜w¨Ñ-Ô-ˆÝ�e�\Ñ*Ô*ð 	4µ:¸eÅ\Ñ3RÔ3Rð 	4Ø—;’;˜uÔ0Ñ1Ô1ˆDˆDÝ˜�|Ñ,Ô,ð 	4µZÀÅ|Ñ5TÔ5Tð 	4Ø—L’L Ô!2Ñ3Ô3ˆEå˜4  u¨cÑ2Ô2Ð2Ð2Ð2ó    ÚfloatÚobject)Úparamsc                 óN   — t          t          j        | j        ¦  «        ¦  «        S ©N)r   Únpr   Úparam)Úrequests    r   r   r   0   s   € å�œ ¤Ñ/Ô/Ñ0Ô0Ð0r   c              #   óð   K  — |                       ¦   «         5 }|                     t          dd¦  «         |                     t          j        dt
          ¦  «         dV — ddd¦  «         dS # 1 swxY w Y   dS )a  
    A monkeypatch to tells pandas to let us in.

    By default, passing a NumpyExtensionArray to an index / series / frame
    constructor will unbox that NumpyExtensionArray to an ndarray, and treat
    it as a non-EA column. We don't want people using EAs without
    reason.

    The mechanism for this is a check against ABCNumpyExtensionArray
    in each constructor.

    But, for testing, we need to allow them in pandas. So we patch
    the _typ of NumpyExtensionArray, so that we evade the ABCNumpyExtensionArray
    check.
    Ú_typÚ	extensionÚassert_attr_equalN)ÚcontextÚsetattrr   ÚtmÚ	assertersr   )ÚmonkeypatchÚms     r   Úallow_in_pandasr*   5   sµ   è è € ð" 
×	Ò	Ñ	Ô	ð  !Ø	�	Š	Õ% v¨{Ñ;Ô;Ð;Ø	�	Š	•"”,Ð 3Õ5GÑHÔHÐHØˆˆˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   —AA+Á+A/Á2A/c                 óÊ   — |j         dk    r0t          j        d„ t          d¦  «        D ¦   «         ¦  «        j        S t          t          j        dd|j        ¬¦  «        ¦  «        S )Nr   c                 ó   — g | ]}|f‘ŒS © r-   )Ú.0Úis     r   ú
<listcomp>zdata.<locals>.<listcomp>O   s   € Ð3Ð3Ð3 1˜1˜$Ð3Ð3Ð3r   éd   é   ée   ©r   )	r   ÚpdÚSeriesÚrangeÚarrayr   r   ÚarangeÚ_dtype©r*   r   s     r   Údatar<   L   sY   € àÔ˜HÒ$Ð$ÝŒyÐ3Ð3­¨c©
¬
Ð3Ñ3Ô3Ñ4Ô4Ô:Ð:Ý�rœy¨¨C°u´|ÐDÑDÔDÑEÔEÐEr   c                 óÚ   — |j         dk    r4t          t          j        t          j        dgt
          ¬¦  «        ¦  «        S t          t          j        t          j        dg¦  «        ¦  «        S )Nr   ©r2   r4   g      ð?©r   r   r   r8   Únanr   r;   s     r   Údata_missingrA   S   sQ   € àÔ˜HÒ$Ð$Ý"¥2¤8­R¬V°T¨NÅ&Ð#IÑ#IÔ#IÑJÔJÐJÝ�rœx­¬°¨Ñ6Ô6Ñ7Ô7Ð7r   c                  ó   — d„ } | S )Nc                 óR   — t          j        | ¦  «        ot          j        |¦  «        S r   )r   Úisnan)ÚaÚbs     r   Úcmpzna_cmp.<locals>.cmp\   s   € ÝŒx˜‰{Œ{Ð*�rœx¨™{œ{Ð*r   r-   )rG   s    r   Úna_cmprH   Z   s   € ð+ð +ð +ð €Jr   c                 óÂ   — |j         dk    r2t          t          j        g d¢t          ¬¦  «        dd…         ¦  «        S t          t          j        g d¢¦  «        ¦  «        S )ziLength-3 array with a known sort order.

    This should be three items [B, C, A] with
    A < B < C
    r   )r-   ©é   ©é   r>   r4   r2   N)r2   rK   r   )r   r   r   r8   r   r;   s     r   Údata_for_sortingrN   b   s`   € ð Ô˜HÒ$Ð$õ #¥2¤8Ð,BÐ,BÐ,BÍ&Ð#QÑ#QÔ#QÐRSÐRTÐRTÔ#UÑVÔVÐVÝ�rœx¨	¨	¨	Ñ2Ô2Ñ3Ô3Ð3r   c                 óÞ   — |j         dk    r5t          t          j        dt          j        dgt
          ¬¦  «        ¦  «        S t          t          j        dt          j        dg¦  «        ¦  «        S )zvLength-3 array with a known sort order.

    This should be three items [B, NA, A] with
    A < B and NA missing.
    r   r>   )r   r4   r2   r   r?   r;   s     r   Údata_missing_for_sortingrP   p   sX   € ð Ô˜HÒ$Ð$Ý"¥2¤8¨Tµ2´6¸4Ð,@ÍÐ#OÑ#OÔ#OÑPÔPÐPÝ�rœx¨­B¬F°A¨Ñ7Ô7Ñ8Ô8Ð8r   c                 óÞ   — |j         dk    rd\  }}}nt          j        d¦  «        \  }}}t          t          j        ||t          j        t          j        ||||g|j         ¬¦  «        ¦  «        S )z“Data for factorization, grouping, and unique tests.

    Expected to be like [B, B, NA, NA, A, A, B, C]

    Where A < B < C and NA is missing
    r   )r>   rJ   rL   rM   r4   )r   r   r9   r   r8   r@   )r*   r   rE   rF   Úcs        r   Údata_for_groupingrS   |   sn   € ð Ô˜HÒ$Ð$Ø"‰ˆˆ1ˆaˆaå”)˜A‘,”,‰ˆˆ1ˆaÝÝ
Œ�!�Q�œ¥¤¨¨1¨a°Ð3¸5Ô;LÐMÑMÔMñô ð r   c                 ó    — | j         dk    rt          j        | › d�¦  «         t          j        d¦  «        dz  }t          j        || ¬¦  «        S )NÚOz is not a numeric dtyper1   rK   r4   )ÚkindÚpytestÚskipr   Úonesr   Ú_from_sequence)r   Úarrs     r   Údata_for_twosr\   �   sP   € à„z�SÒÐÝŒ�uÐ5Ð5Ð5Ñ6Ô6Ð6Ý
Œ'�#‰,Œ,˜Ñ
€CÝÔ-¨c¸Ð?Ñ?Ô?Ð?r   c                 ó€   — | dk    r7t           j                             d¬¦  «        }|                     |¦  «         dS dS )a”  
    Tests for NumpyExtensionArray with nested data. Users typically won't create
    these objects via `pd.array`, but they can show up through `.array`
    on a Series with nested data. Many of the base tests fail, as they aren't
    appropriate for nested data.

    This fixture allows these tests to be skipped when used as a usefixtures
    marker to either an individual test or a test class.
    r   zFails for object dtype©ÚreasonN)rW   ÚmarkÚxfailÚapplymarker)r   r   r`   s      r   Úskip_numpy_objectrc   •   sJ   € ð �ÒÐÝŒ{× Ò Ð(@Ð ÑAÔAˆØ×Ò˜DÑ!Ô!Ð!Ð!Ð!ð Ðr   rc   c                   óÎ  ‡ — e Zd Zej                             d¬¦  «        d„ ¦   «         Zeˆ fd„¦   «         Zˆ fd„Z	ˆ fd„Z
eˆ fd„¦   «         Zeˆ fd„¦   «         Zeˆ fd	„¦   «         Zeˆ fd
„¦   «         Zeˆ fd„¦   «         Zej                             d¬¦  «        ˆ fd„¦   «         Zˆ fd„Zeˆ fd„¦   «         ZdZdZdZdZˆ fd„Zd„ Zˆ fd„Zˆ fd„Zˆ fd„Zdej        dede fd„Z!dej        dede fd„Z"ej                             d¦  «        ej         #                    dddg¦  «        d„ ¦   «         ¦   «         Z$eˆ fd „¦   «         Z%eˆ fd!„¦   «         Z&eˆ fd"„¦   «         Z'eˆ fd#„¦   «         Z(eej         #                    d$d%dg¦  «        ˆ fd&„¦   «         ¦   «         Z)eˆ fd'„¦   «         Z*eej         #                    d( e+j,        g d)¢¦  «         ej,        g d)¢d*¬+¦  «        gd,d-g¬.¦  «        ˆ fd/„¦   «         ¦   «         Z-eej         #                    d0g d1¢ ej,        g d1¢d2¬+¦  «         e+j,        g d1¢¦  «        gg d3¢¬.¦  «        ˆ fd4„¦   «         ¦   «         Z.ej         #                    d5d6d7d8ej/        gdf ej0        d6d7d8ej/        gdej        j        ¬9¦  «         ej,        d6d7d8ej/        gd2¬+¦  «        df ej,        d6d7d8ej/        gd2¬+¦  «        dfgg d:¢¬.¦  «        ˆ fd;„¦   «         Z1eˆ fd<„¦   «         Z2eˆ fd=„¦   «         Z3d>„ Z4ej                             d?¬¦  «        ˆ fd@„¦   «         Z5eej         #                    dAdBdCg¦  «        ˆ fdD„¦   «         ¦   «         Z6ˆ xZ7S )EÚTestNumpyExtensionArrayzWe don't register our dtyper^   c                 ó   — d S r   r-   )Úselfr<   s     r   Útest_from_dtypez'TestNumpyExtensionArray.test_from_dtype©   ó	   € ð 	ˆr   c                 óL   •— t          ¦   «                              ||¦  «         d S r   )ÚsuperÚ)test_series_constructor_scalar_with_index)rg   r<   r   Ú	__class__s      €r   rl   zATestNumpyExtensionArray.test_series_constructor_scalar_with_index®   s%   ø€ õ 	‰Œ×9Ò9¸$ÀÑFÔFÐFÐFÐFr   c                 óê   •— |j         j        dk    r@|                     t          j                             d|j         j        › �¬¦  «        ¦  «         t          ¦   «                              |¦  «         d S )Nr   z:NumpyExtensionArray expectedly clashes with a NumPy name: r^   )r   r   rb   rW   r`   ra   rk   Útest_check_dtype)rg   r<   r   Úusing_infer_stringrm   s       €r   ro   z(TestNumpyExtensionArray.test_check_dtype³   s|   ø€ ØŒ:Ô! XÒ-Ð-Ø×ÒÝ”×!Ò!ð<Ø#'¤:Ô#9ð<ð <ð "ñ ô ñô ð õ 	‰Œ× Ò  Ñ&Ô&Ð&Ð&Ð&r   c                 ó†   •— |j         dk    rt          |¦  «        sJ ‚d S t          ¦   «                              |¦  «         d S )Nr   )r   r   rk   Útest_is_not_object_type)rg   r   r   rm   s      €r   rr   z/TestNumpyExtensionArray.test_is_not_object_type½   sK   ø€ ØÔ Ò(Ð(õ # 5Ñ)Ô)Ð)Ð)Ð)Ð)Ð)å‰GŒG×+Ò+¨EÑ2Ô2Ð2Ð2Ð2r   c                 óJ   •— t          ¦   «                              |¦  «         d S r   )rk   Útest_getitem_scalar©rg   r<   rm   s     €r   rt   z+TestNumpyExtensionArray.test_getitem_scalarÅ   s#   ø€ õ 	‰Œ×#Ò# DÑ)Ô)Ð)Ð)Ð)r   c                 óJ   •— t          ¦   «                              |¦  «         d S r   )rk   Útest_shift_fill_valueru   s     €r   rw   z-TestNumpyExtensionArray.test_shift_fill_valueÊ   s#   ø€ õ 	‰Œ×%Ò% dÑ+Ô+Ð+Ð+Ð+r   c                 óJ   •— t          ¦   «                              |¦  «         d S r   )rk   Útest_fillna_copy_frame©rg   rA   rm   s     €r   ry   z.TestNumpyExtensionArray.test_fillna_copy_frameÏ   s#   ø€ õ 	‰Œ×&Ò& |Ñ4Ô4Ð4Ð4Ð4r   c                 óJ   •— t          ¦   «                              |¦  «         d S r   )rk   Útest_fillna_copy_seriesrz   s     €r   r|   z/TestNumpyExtensionArray.test_fillna_copy_seriesÔ   s#   ø€ õ 	‰Œ×'Ò'¨Ñ5Ô5Ð5Ð5Ð5r   c                 óL   •— t          ¦   «                              ||¦  «         d S r   )rk   Útest_searchsorted)rg   rN   Ú	as_seriesrm   s      €r   r~   z)TestNumpyExtensionArray.test_searchsortedÙ   s&   ø€ õ
 	‰Œ×!Ò!Ð"2°IÑ>Ô>Ð>Ð>Ð>r   z*NumpyExtensionArray.diff may fail on dtypec                 óH   •— t          ¦   «                              ||¦  «        S r   )rk   Ú	test_diff)rg   r<   Úperiodsrm   s      €r   r�   z!TestNumpyExtensionArray.test_diffà   s   ø€ å‰wŒw× Ò   wÑ/Ô/Ð/r   c                 óÞ   •— |j         j        t          k    r5t          j                             d¬¦  «        }|                     |¦  «         t          ¦   «                              |¦  «         d S )Nz$Dimension mismatch in np.concatenater^   )	r   r   r   rW   r`   ra   rb   rk   Útest_insert)rg   r<   r   r`   rm   s       €r   r„   z#TestNumpyExtensionArray.test_insertä   s^   ø€ ØŒ:Ô!¥VÒ+Ð+Ý”;×$Ò$Ð,RÐ$ÑSÔSˆDØ×Ò Ñ%Ô%Ð%å‰Œ×Ò˜DÑ!Ô!Ð!Ð!Ð!r   c                 óL   •— t          ¦   «                              ||¦  «         d S r   )rk   Útest_insert_invalid©rg   r<   Úinvalid_scalarrm   s      €r   r†   z+TestNumpyExtensionArray.test_insert_invalidë   s%   ø€ õ 	‰Œ×#Ò# D¨.Ñ9Ô9Ð9Ð9Ð9r   Nc                 óŠ   •— d }|j         j        dk    rt          }|| _        t	          ¦   «                              |¦  «         d S ©NrU   )r   rV   Ú	TypeErrorÚ
divmod_excrk   Útest_divmod)rg   r<   rŒ   rm   s      €r   r�   z#TestNumpyExtensionArray.test_divmodõ   sA   ø€ Øˆ
ØŒ:Œ?˜cÒ!Ð!Ý"ˆJØ$ˆŒÝ‰Œ×Ò˜DÑ!Ô!Ð!Ð!Ð!r   c                 ó¦   — t          j        |¦  «        }d }|j        j        dk    rt          }|| _        |                      |t          |¦  «         d S rŠ   )r5   r6   r   rV   r‹   rŒ   Ú_check_divmod_opÚdivmod)rg   r<   ÚserÚexcs       r   Útest_divmod_series_arrayz0TestNumpyExtensionArray.test_divmod_series_arrayü   sM   € ÝŒi˜‰oŒoˆØˆØŒ:Œ?˜cÒ!Ð!ÝˆCØ!ˆDŒOØ×Ò˜c¥6¨4Ñ0Ô0Ð0Ð0Ð0r   c                 ó  •— |}d }|j         j        t          k    rE|dv r:t          j                             d¬¦  «        }|j                             |¦  «         t          }|| _	        t          ¦   «                              ||¦  «         d S ©N)Ú__mul__Ú__rmul__z9the Series.combine step raises but not the Series method.r^   )r   r   r   rW   r`   ra   ÚnodeÚ
add_markerr‹   Úseries_scalar_excrk   Útest_arith_series_with_scalar)rg   r<   Úall_arithmetic_operatorsr   Úopnamerš   r`   rm   s          €r   r›   z5TestNumpyExtensionArray.test_arith_series_with_scalar  s�   ø€ Ø)ˆØ ÐØŒ:Ô!¥VÒ+Ð+ØÐ0Ð0Ð0Ý”{×(Ò(ØVð )ñ ô �ð ”×'Ò'¨Ñ-Ô-Ð-Ý )ÐØ!2ˆÔÝ‰Œ×-Ò-¨dÐ4LÑMÔMÐMÐMÐMr   c                 ó¢   •— |}d }|j         j        t          k    r|dvrt          }|| _        t          ¦   «                              ||¦  «         d S )N)Ú__add__Ú__radd__)r   r   r   r‹   Úseries_array_excrk   Útest_arith_series_with_array)rg   r<   rœ   r�   r¡   rm   s        €r   r¢   z4TestNumpyExtensionArray.test_arith_series_with_array  sX   ø€ Ø)ˆØÐØŒ:Ô!¥VÒ+Ð+°Ð>UÐ0UÐ0UÝ(ÐØ 0ˆÔÝ‰Œ×,Ò,¨TÐ3KÑLÔLÐLÐLÐLr   c                 ó  •— |}d }|j         j        t          k    rE|dv r:t          j                             d¬¦  «        }|j                             |¦  «         t          }|| _	        t          ¦   «                              ||¦  «         d S r•   )r   r   r   rW   r`   ra   r˜   r™   r‹   Úframe_scalar_excrk   Útest_arith_frame_with_scalar)rg   r<   rœ   r   r�   r¤   r`   rm   s          €r   r¥   z4TestNumpyExtensionArray.test_arith_frame_with_scalar  s�   ø€ Ø)ˆØÐØŒ:Ô!¥VÒ+Ð+ØÐ0Ð0Ð0Ý”{×(Ò(ØVð )ñ ô �ð ”×'Ò'¨Ñ-Ô-Ð-Ý(ÐØ 0ˆÔÝ‰Œ×,Ò,¨TÐ3KÑLÔLÐLÐLÐLr   r‘   Úop_nameÚreturnc                 ó.   — |j         j        dk    r|dv S dS )NrU   )ÚsumÚminÚmaxÚanyÚallT)r   rV   )rg   r‘   r¦   s      r   Ú_supports_reductionz+TestNumpyExtensionArray._supports_reduction&  s"   € ØŒ9Œ>˜SÒ Ð ØÐAÐAÐAØˆtr   Úskipnac                 ó  — t          ||¦  «        }|j        j        }|                     |¦  «        }t          ||¦  «        }|dk    r |¦   «         } |¦   «         }	n ||¬¦  «        } ||¬¦  «        }	t	          j        ||	¦  «         d S )NÚcount)r¯   )r   r   r   r   r&   Úassert_almost_equal)
rg   r‘   r¦   r¯   Úres_opÚ	cmp_dtypeÚaltÚexp_opÚresultÚexpecteds
             r   Úcheck_reducez$TestNumpyExtensionArray.check_reduce+  s�   € Ý˜˜gÑ&Ô&ˆð ”IÔ)ˆ	Ø�jŠj˜Ñ#Ô#ˆÝ˜˜gÑ&Ô&ˆØ�gÒÐØ�V‘X”XˆFØ�v‘x”xˆHˆHà�V 6Ð*Ñ*Ô*ˆFØ�v VÐ,Ñ,Ô,ˆHÝ
Ô˜v xÑ0Ô0Ð0Ð0Ð0r   zTODO: tests not written yetTFc                 ó   — d S r   r-   )rg   r<   Úall_numeric_reductionsr¯   s       r   Útest_reduce_framez)TestNumpyExtensionArray.test_reduce_frame;  ri   r   c                 óJ   •— t          ¦   «                              |¦  «         d S r   )rk   Útest_fillna_seriesrz   s     €r   r¾   z*TestNumpyExtensionArray.test_fillna_series@  s#   ø€ õ 	‰Œ×"Ò" <Ñ0Ô0Ð0Ð0Ð0r   c                 óJ   •— t          ¦   «                              |¦  «         d S r   )rk   Útest_fillna_framerz   s     €r   rÀ   z)TestNumpyExtensionArray.test_fillna_frameE  s#   ø€ õ 	‰Œ×!Ò! ,Ñ/Ô/Ð/Ð/Ð/r   c                 óL   •— t          ¦   «                              ||¦  «         d S r   )rk   Útest_setitem_invalidr‡   s      €r   rÂ   z,TestNumpyExtensionArray.test_setitem_invalidJ  s%   ø€ õ 	‰Œ×$Ò$ T¨>Ñ:Ô:Ð:Ð:Ð:r   c                 óL   •— t          ¦   «                              ||¦  «         d S r   )rk   Ú test_setitem_sequence_broadcasts©rg   r<   Úbox_in_seriesrm   s      €r   rÄ   z8TestNumpyExtensionArray.test_setitem_sequence_broadcastsO  s%   ø€ õ 	‰Œ×0Ò0°°}ÑEÔEÐEÐEÐEr   ÚsetterÚlocc                 óL   •— t          ¦   «                              ||¦  «         d S r   )rk   Útest_setitem_mask_broadcast)rg   r<   rÇ   rm   s      €r   rÊ   z3TestNumpyExtensionArray.test_setitem_mask_broadcastU  s%   ø€ õ
 	‰Œ×+Ò+¨D°&Ñ9Ô9Ð9Ð9Ð9r   c                 óJ   •— t          ¦   «                              |¦  «         d S r   )rk   Ú&test_setitem_scalar_key_sequence_raiseru   s     €r   rÌ   z>TestNumpyExtensionArray.test_setitem_scalar_key_sequence_raise\  s#   ø€ õ 	‰Œ×6Ò6°tÑ<Ô<Ð<Ð<Ð<r   Úmask)TTTFFÚbooleanr4   únumpy-arrayzboolean-array)Úidsc                 óN   •— t          ¦   «                              |||¦  «         d S r   )rk   Útest_setitem_mask)rg   r<   rÍ   rÆ   rm   s       €r   rÒ   z)TestNumpyExtensionArray.test_setitem_maskd  s'   ø€ õ 	‰Œ×!Ò! $¨¨mÑ<Ô<Ð<Ð<Ð<r   Úidx)r   r2   rK   ÚInt64)Úlistzinteger-arrayrÏ   c                 óN   •— t          ¦   «                              |||¦  «         d S r   )rk   Útest_setitem_integer_array©rg   r<   rÓ   rÆ   rm   s       €r   r×   z2TestNumpyExtensionArray.test_setitem_integer_arrayp  s'   ø€ õ 	‰Œ×*Ò*¨4°°mÑDÔDÐDÐDÐDr   zidx, box_in_seriesr   r2   rK   )Úmarks)z
list-Falsez	list-Truezinteger-array-Falsezinteger-array-Truec                 óN   •— t          ¦   «                              |||¦  «         d S r   )rk   Ú(test_setitem_integer_with_missing_raisesrØ   s       €r   rÛ   z@TestNumpyExtensionArray.test_setitem_integer_with_missing_raisesy  s'   ø€ õ 	‰Œ×8Ò8¸¸sÀMÑRÔRÐRÐRÐRr   c                 óL   •— t          ¦   «                              ||¦  «         d S r   )rk   Útest_setitem_slicerÅ   s      €r   rÝ   z*TestNumpyExtensionArray.test_setitem_slice†  s#   ø€ å‰Œ×"Ò" 4¨Ñ7Ô7Ð7Ð7Ð7r   c                 óJ   •— t          ¦   «                              |¦  «         d S r   )rk   Útest_setitem_loc_iloc_sliceru   s     €r   rß   z3TestNumpyExtensionArray.test_setitem_loc_iloc_sliceŠ  s!   ø€ å‰Œ×+Ò+¨DÑ1Ô1Ð1Ð1Ð1r   c                 óÀ  — t          j        dt          j        |¦  «        i¦  «        x}}t          j        |j        ¬¦  «        } ||¦  «        }|d         |j        |df<   |j        j        t          k    rPt          |t          ¦  «        r|t          d ¦  «        k    r(t          j        d| 
                    ¦   «         i¦  «        }t          j        ||d¬¦  «         d S )Nr<   )ÚindexF)Úcheck_column_type)r5   Ú	DataFramer6   rá   rÈ   r   r   r   r   ÚsliceÚto_numpyr&   Úassert_frame_equal)rg   r<   Úfull_indexerÚdfr¸   r·   Úkeys          r   Ú,test_setitem_with_expansion_dataframe_columnzDTestNumpyExtensionArray.test_setitem_with_expansion_dataframe_columnŽ  sË   € åœ f­b¬i¸©o¬oÐ%>Ñ?Ô?Ð?ˆˆXÝ” B¤HÐ-Ñ-Ô-ˆð ˆl˜2ÑÔˆØ"$ V¤*ˆŒ
�3˜�;Ñð Œ:Ô!¥VÒ+Ð+Ý˜c¥5Ñ)Ô)ð C¨SµE¸$±K´KÒ-?Ð-?Ýœ<¨°·²±´Ð(AÑBÔB�Ý
Ô˜f hÀ%ÐHÑHÔHÐHÐHÐHr   zNumpyEADtype is unpackedc                 óJ   •— t          ¦   «                              |¦  «         d S r   )rk   Ú#test_index_from_listlike_with_dtyperu   s     €r   rì   z;TestNumpyExtensionArray.test_index_from_listlike_with_dtypeŸ  s!   ø€ å‰Œ×3Ò3°DÑ9Ô9Ð9Ð9Ð9r   ÚenginerR   Úpythonc                 óN   •— t          ¦   «                              |||¦  «         d S r   )rk   Útest_EA_types)rg   rí   r<   r   rm   s       €r   rð   z%TestNumpyExtensionArray.test_EA_types£  s'   ø€ õ 	‰Œ×Ò˜f d¨GÑ4Ô4Ð4Ð4Ð4r   )8Ú__name__Ú
__module__Ú__qualname__rW   r`   rX   rh   Úskip_nestedrl   ro   rr   rt   rw   ry   r|   r~   ra   r�   r„   r†   rŒ   rš   r¤   r¡   r�   r“   r›   r¢   r¥   r5   r6   ÚstrÚboolr®   r¹   Úparametrizer¼   r¾   rÀ   rÂ   rÄ   rÊ   rÌ   r   r8   rÒ   r×   ÚNAr   rÛ   rÝ   rß   rê   rì   rð   Ú__classcell__)rm   s   @r   re   re   ¨   sì  ø€ € € € € Ø„[×ÒÐ:ÐÑ;Ô;ðð ñ <Ô;ðð ðGð Gð Gð Gñ „[ðGð'ð 'ð 'ð 'ð 'ð3ð 3ð 3ð 3ð 3ð ð*ð *ð *ð *ñ „[ð*ð ð,ð ,ð ,ð ,ñ „[ð,ð ð5ð 5ð 5ð 5ñ „[ð5ð ð6ð 6ð 6ð 6ñ „[ð6ð ð?ð ?ð ?ð ?ñ „[ð?ð „[×ÒÐJÐÑKÔKð0ð 0ð 0ð 0ñ LÔKð0ð"ð "ð "ð "ð "ð ð:ð :ð :ð :ñ „[ð:ð €JØÐØÐØÐð"ð "ð "ð "ð "ð1ð 1ð 1ðNð Nð Nð Nð NðMð Mð Mð Mð MðMð Mð Mð Mð Mð r¤yð ¸3ð À4ð ð ð ð ð
1 ¤	ð 1°Cð 1Àð 1ð 1ð 1ð 1ð  „[×ÒÐ3Ñ4Ô4Ø„[×Ò˜X¨¨e }Ñ5Ô5ðð ñ 6Ô5ñ 5Ô4ðð ð1ð 1ð 1ð 1ñ „[ð1ð ð0ð 0ð 0ð 0ñ „[ð0ð ð;ð ;ð ;ð ;ñ „[ð;ð ðFð Fð Fð Fñ „[ðFð
 Ø„[×Ò˜X¨¨t }Ñ5Ô5ð:ð :ð :ð :ñ 6Ô5ñ „[ð:ð
 ð=ð =ð =ð =ñ „[ð=ð Ø„[×ÒØàˆBŒHÐ5Ð5Ð5Ñ6Ô6ØˆBŒHÐ5Ð5Ð5¸YÐGÑGÔGð	
ð ˜OÐ,ð ñ ô ð=ð =ð =ð =ñô ñ „[ð=ð Ø„[×ÒØØ	ˆˆ�H�B”H˜Y˜Y˜Y¨gÐ6Ñ6Ô6¸¸¼ÀÀÀÑ8KÔ8KÐLØ4Ð4Ð4ð ñ ô ð
Eð Eð Eð Eñô ñ „[ðEð „[×ÒØà��A�r”uÐ˜uÐ%ØˆFŒL˜!˜Q  2¤5Ð)¨4°v´{Ô7HÐIÑIÔIØˆRŒX�q˜!˜Q ¤Ð&¨gÐ6Ñ6Ô6¸Ð>ØˆRŒX�q˜!˜Q ¤Ð&¨gÐ6Ñ6Ô6¸Ð>ð		
ð UÐTÐTð ñ 	ô 	ðSð Sð Sð Sñ	ô 	ðSð ð8ð 8ð 8ð 8ñ „[ð8ð ð2ð 2ð 2ð 2ñ „[ð2ðIð Ið Ið" „[×ÒÐ8ÐÑ9Ô9ð:ð :ð :ð :ñ :Ô9ð:ð Ø„[×Ò˜X¨¨X Ñ7Ô7ð5ð 5ð 5ð 5ñ 8Ô7ñ „[ð5ð 5ð 5ð 5ð 5r   re   c                   ó   — e Zd ZdS )ÚTest2DCompatN)rñ   rò   ró   r-   r   r   rû   rû   ©  s   € € € € € Ø€Dr   rû   )r   )'Ú__doc__Únumpyr   rW   Úpandas.core.dtypes.dtypesr   Úpandasr5   Úpandas._testingÚ_testingr&   Úpandas.api.typesr   Úpandas.core.arrays.numpy_r   Úpandas.tests.extensionr   r#   r   rõ   r   Úfixturer   r*   r<   rA   rH   rN   rP   rS   r\   rc   r`   Úusefixturesrô   ÚExtensionTestsre   ÚNDArrayBacked2DTestsrû   r-   r   r   ú<module>r	     s|  ððð ð" Ð Ð Ð Ø €€€à 2Ð 2Ð 2Ð 2Ð 2Ð 2à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'àÔ-Ð ð3ð 3˜Sð 3°Cð 3ð 3ð 3ð 3ð  €„˜ Ð*Ð+Ñ+Ô+ð1ð 1ñ ,Ô+ð1ð „ðð ñ „ðð, „ðFð Fñ „ðFð „ð8ð 8ñ „ð8ð „ðð ñ „ðð „ð
4ð 
4ñ „ð
4ð „ð9ð 9ñ „ð9ð „ðð ñ „ðð  „ð@ð @ñ „ð@ð „ð"ð "ñ „ð"ð Œk×%Ò%Ð&9Ñ:Ô:€ð~5ð ~5ð ~5ð ~5ð ~5˜dÔ1ñ ~5ô ~5ð ~5ðB	ð 	ð 	ð 	ð 	�4Ô,ñ 	ô 	ð 	ð 	ð 	r   