a
    oÝEb†  ã                   @   sØ  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 ejejddged�ejddged�ejddged�ejdd	ged�ejd
dged�ejddgdd�ejddgdd�gd�dd„ ƒZej dg d¢¡dd„ ƒZej dg 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$d0d1„ Z%d2d3„ Z&d4d5„ Z'd6d7„ Z(ej d8ej)ej*ej+g¡d9d:„ ƒZ,d;d<„ Z-d=d>„ Z.ej d?deg¡d@dA„ ƒZ/dBdC„ Z0dDdE„ Z1dS )FzN
Additional tests for PandasArray that aren't covered by
the interface tests.
é    N©ÚPandasDtype)ÚPandasArrayÚaÚb©Údtypeé   y      ð?       @TFúdatetime64[ns]ztimedelta64[ns])Úparamsc                 C   s   | j S )zk
    Parametrized fixture for NumPy arrays with different dtypes.

    This excludes string and bytes.
    )Úparam)Úrequest© r   ú^/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/pandas/tests/arrays/test_numpy.pyÚany_numpy_array   s    r   zdtype, expected)
©ÚboolT)ÚintT)ÚuintT)ÚfloatT)ÚcomplexT©ÚstrF©ÚbytesF©r
   F©ÚobjectF©ÚvoidFc                 C   s   t | ƒ} | j|u sJ ‚d S ©N)r   Z_is_numeric©r   Úexpectedr   r   r   Útest_is_numeric'   s    r#   )
r   )r   F)r   F)r   F)r   Fr   r   r   r   r   c                 C   s   t | ƒ} | j|u sJ ‚d S r    )r   Z_is_booleanr!   r   r   r   Útest_is_boolean;   s    r$   c                  C   s"   t t d¡ƒ} t| ƒdksJ ‚d S )NÚint64zPandasDtype('int64'))r   Únpr   Úreprr   r   r   r   Ú	test_reprO   s    r(   c                  C   s(   t  d¡} t t d¡ƒ}| |ks$J ‚d S )Nr%   )r   Zconstruct_from_stringr&   r   )Úresultr"   r   r   r   Útest_constructor_from_stringT   s    
r*   c                 C   s    t | ƒ}t |ƒ}||ksJ ‚d S r    r   )Zany_numpy_dtyper   r)   r   r   r   Útest_dtype_univalentZ   s    r+   c                   C   s>   t jtdd�� tg d¢ƒ W d   ƒ n1 s00    Y  d S )NzNumPy array©Úmatch©r	   é   é   )ÚpytestÚraisesÚ
ValueErrorr   r   r   r   r   Útest_constructor_no_coercione   s    r4   c                  C   s2   t  g d¢¡} tjt| ƒdd�}|j| us.J ‚d S )Nr.   T©Úcopy)r&   ÚarrayÚpdÚSeriesr   Úvalues)ÚndarrayÚserr   r   r   Ú!test_series_constructor_with_copyj   s    r=   c                  C   sB   t  g d¢¡} tjt| ƒdd�}tjg d¢dd�}t ||¡ d S )Nr.   Zfloat64r   )ç      ð?g       @g      @)r&   r7   r8   r9   r   ÚtmÚassert_series_equal)r;   r)   r"   r   r   r   Ú#test_series_constructor_with_astypeq   s    rA   c                  C   sF   t jg d¢dd�} tj| dd�}tt jg d¢dd�ƒ}t ||¡ d S )Nr.   r%   r   Zuint64)r&   r7   r   Z_from_sequencer?   Úassert_extension_array_equal©Úarrr)   r"   r   r   r   Útest_from_sequence_dtypex   s    rE   c                  C   s.   t  ddg¡} t| dd�}t || ¡r*J ‚d S )Nr   r	   Tr5   )r&   r7   r   r?   Zshares_memory)rD   r)   r   r   r   Útest_constructor_copy   s    rF   c                 C   s"   | }t |ƒ}|jj|jksJ ‚d S r    )r   r   Znumpy_dtype©r   ZnparrrD   r   r   r   Útest_constructor_with_data†   s    rH   c                  C   sp   t t g d¢¡ƒ} |  ¡ }|| ju s(J ‚| jdd�}|| jusBJ ‚| jdd�}tjg d¢dd�}t ||¡ d S )Nr.   Tr5   Zf8r   )r   r&   r7   Úto_numpyÚ_ndarrayr?   Úassert_numpy_array_equalrC   r   r   r   Útest_to_numpy�   s    rL   c                  C   s6   t  g d¢¡} d| jd< t  g d¢¡}t | |¡ d S )Nr.   é
   r   )rM   r/   r0   )r8   r9   r7   r?   r@   )r<   r"   r   r   r   Útest_setitem_series¡   s    
rN   c                 C   s<   | }t |dd�}|d |d< |d |d< t | ¡ |¡ d S )NTr5   r	   r   )r   r?   rK   rI   rG   r   r   r   Útest_setitem¨   s
    rO   c                  C   sZ   t jg d¢dd�} t| ƒ} d}tjt|d�� |  |¡ W d   ƒ n1 sL0    Y  d S )Nr.   r%   r   z)cannot perform not_a_method with type intr,   )r&   r7   r   r1   r2   Ú	TypeErrorZ_reduce©rD   Úmsgr   r   r   Útest_bad_reduce_raises¶   s
    rS   c                  C   sT   t t g d¢¡ƒ} d}tjt|d�� | jdd� W d   ƒ n1 sF0    Y  d S )Nr.   z/the 'keepdims' parameter is not supported .*allr,   T)Zkeepdims)r   r&   r7   r1   r2   r3   ÚallrQ   r   r   r   Ú$test_validate_reduction_keyword_args¾   s    rU   c                  C   s|   g d¢} t  | ¡}|j}| ¡ |d u s,J ‚| ¡ |d u s@J ‚tj |¡}||d ks\J ‚tj |¡}||d ksxJ ‚d S )N))©ÚjÚk©ÚlÚm)rY   ©ÚoÚp)r\   rV   r/   )r8   r9   r7   Úmaxr&   ÚmaximumÚreduce)Úvalsr<   rD   r)   r   r   r   Útest_np_max_nested_tuplesÅ   s    
rc   c                  C   sZ   t  d¡ dd¡} t| ƒ}t jj|dd�}t ||d ¡ |jdd�}t ||d ¡ d S )Né   é   r0   r   )Zaxiséÿÿÿÿ)	r&   ZarangeZreshaper   r`   ra   r?   rB   r_   )ÚrawrD   ÚresZaltr   r   r   Útest_np_reduce_2dÚ   s    ri   Úufuncc                 C   s8   t t g d¢¡ƒ}| |ƒ}t | |jƒƒ}t ||¡ d S )N©g      ð¿g        r>   )r   r&   r7   rJ   r?   rB   )rj   rD   r)   r"   r   r   r   Útest_ufunc_unaryé   s    rl   c                  C   sr   t t g d¢¡ƒ} t | t | d¡¡\}}t | jt | jd¡¡\}}t |ƒ}t |ƒ}t ||¡ t ||¡ d S )Nrk   r/   )r   r&   r7   ÚdivmodÚaddrJ   r?   rB   )rD   Úr1Úr2Úe1Úe2r   r   r   Ú
test_ufuncñ   s    rs   c                  C   s<   t t g d¢¡ƒ} | |  }t t g d¢¡ƒ}t ||¡ d S )Nr.   )r/   re   é   ©r   r&   r7   r?   rB   )Úxr)   r"   r   r   r   Útest_basic_binopü   s    rw   r   c                 C   sD   t tjg d¢| d�ƒ}d|d< t tjg d¢| d�ƒ}t ||¡ d S )N)r   r   Úcr   Útr   )ry   r   rx   ru   )r   rD   r"   r   r   r   Útest_setitem_object_typecode  s    rz   c                  C   sx   t t g d¢¡ƒ} tjtdd�� d| d< W d   ƒ n1 s>0    Y  d| d< t| d ttjfƒstJ t	| d ƒƒ‚d S )Nr.   r   r,   r   r   ç      @)
r   r&   r7   r1   r2   r3   Ú
isinstancer   ÚintegerÚtype)rD   r   r   r   Útest_setitem_no_coercion  s
    &r   c                  C   sŒ   t t g d¢¡ƒ} |  ¡ }| d d … }t | ¡}d| d< |d dksHJ ‚|d dksXJ ‚|d dkshJ ‚d| d< d|d< | d dksˆJ ‚d S )Nr.   é	   r   r{   rf   é   )r   r&   r7   ÚviewZasarray)rD   Zview1Zview2Zview3r   r   r   Útest_setitem_preserves_views  s    
rƒ   )2Ú__doc__Únumpyr&   r1   Zpandas.core.dtypes.dtypesr   Zpandasr8   Zpandas._testingZ_testingr?   Zpandas.arraysr   Zfixturer7   r   r   r   r   r   r   ÚmarkZparametrizer#   r$   r(   r*   r+   r4   r=   rA   rE   rF   rH   rL   rN   rO   rS   rU   rc   ri   ÚabsÚnegativeZpositiverl   rs   rw   rz   r   rƒ   r   r   r   r   Ú<module>   sf   ùÿ
þ
þ


	
