o
    0Zc                     @   s  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 d dl	m
Z
mZ d dlm  mZ d dlmZ ejjejjdkddejjejd	kd
ddd Ze
dd Ze
dddd Zdd Ze
edddZdd Ze
eZdd Ze
eddZdd Ze
eZ eddd d! Z!d"d# Z"d$d% Z#d&d' Z$d(d) Z%ejjejjdkd*dej&d+eefeefee fgd,d- Z'd.d/ Z(ejjejjdkd*dd0d1 Z)d2d3 Z*G d4d5 d5Z+d6d7 Z,d8d9 Z-dS ):    N)arange)assert_assert_equalassert_raises_regex)	deprecatedeprecate_with_doc)StringIO   zPython running -OO)reason)   
   r   	candidate   zBroken as of bpo-44524c                  C   s0   t  } tjdd| dd |  } td| v  d S )N
eigenvaluenumpyF)moduleoutputimport_modulesznumpy.linalg.eig)r   utilslookforgetvaluer   )out r   P/var/www/chikooza/env/lib/python3.10/site-packages/numpy/lib/tests/test_utils.pytest_lookfor   s   
r   c                 C      |S Nr   selfxr   r   r   old_func      r    Rather use new_func2)messagec                 C   r   r   r   r   r   r   r   	old_func2   r!   r$   c                 C   r   r   r   r   r   r   r   	old_func3$      r%   	new_func3)old_namenew_namec                 C   r   )z Summary.

    Further info.
    r   r   r   r   r   	old_func4)      r*   c                 C   r   )z+Summary.

        Bizarre indentation.
    r   r   r   r   r   	old_func52   r+   r,   zThis function is
deprecated.c                 C   r   )z
    Also in PEP-257.
    r   r   r   r   r   	old_func6;   s   r-   Rather use new_func7)msgc                 C   r   r   r   r   r   r   r   	old_func7C   r!   r0   c                   C      t dtjv  d S )N
deprecated)r   r    __doc__r   r   r   r   test_deprecate_decoratorH      r4   c                   C   r1   )Nr"   )r   r$   r3   r   r   r   r    test_deprecate_decorator_messageL   r5   r6   c                   C   s    t dtjv  t dtjv  d S )Nr%   r'   )r   r'   r3   r   r   r   r   test_deprecate_fnP   s   r7   c                   C   r1   )Nr.   )r   r0   r3   r   r   r   r   )test_deprecate_with_doc_decorator_messageU   r5   r8   z-OO discards docstringszold_func, new_funcc                 C   s~   t | | d| fd|ffD ]/\}}t|jdD ]"\}}|dkr0|ds/|dr/J |q|r;|ds;J |qqd S )Noldnew
r   z     )_compare_docs	enumerater3   split
startswith)r    new_funckndfuncliliner   r   r   test_deprecate_help_indentationY   s   
rF   c                 C   s8   t | }t |}|dd }t||d  | d S )Nz

r	   )inspectgetdocindexr   )r    rA   old_docnew_docrI   r   r   r   r=   j   s   

r=   c                   C   r1   )Nz
        Bizarre)r   	new_func5r3   r   r   r   r   "test_deprecate_preserve_whitespaceq   s   rM   c                   C   s   t d d S )NNone)r   	safe_evalr   r   r   r   test_safe_eval_nameconstantv   s   rP   c                   @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
TestByteBoundsc                 C   s8   t ddd}t|\}}t|| |j|j  d S N   r      )r   reshaper   byte_boundsr   sizeitemsize)r   alowhighr   r   r   test_byte_bounds}   s   zTestByteBounds.test_byte_boundsc                 C   s>   t ddd}|j}t|\}}t|| |j|j  d S rR   r   rU   Tr   rV   r   rW   rX   r   rY   brZ   r[   r   r   r   "test_unusual_order_positive_stride   s   z1TestByteBounds.test_unusual_order_positive_stridec                 C   sH   t ddd}|jd d d }t|\}}t|| |j|j  d S )NrS   r   rT   r]   r_   r   r   r   "test_unusual_order_negative_stride   s   z1TestByteBounds.test_unusual_order_negative_stridec                 C   sH   t d}|d d d }t|\}}t|| |jd |j |j  d S )NrS   r	   )r   r   rV   r   rW   rX   r_   r   r   r   test_strided   s   $zTestByteBounds.test_stridedN)__name__
__module____qualname__r\   ra   rc   rd   r   r   r   r   rQ   {   s
    rQ   c                   C   s(   t td td1 sw   Y  d S )Nzno deprecation warning)r   
ValueErrorr   r   r   r   (test_assert_raises_regex_context_manager   s   ri   c                  C   s@   G dd d} G dd d}dd }||sJ || rJ d S )Nc                   @   s   e Zd ZdS )z1test_info_method_heading.<locals>.NoPublicMethodsN)re   rf   rg   r   r   r   r   NoPublicMethods   s    rj   c                   @   s   e Zd Zdd ZdS )z3test_info_method_heading.<locals>.WithPublicMethodsc                   S   s   d S r   r   r   r   r   r   first_method   r&   z@test_info_method_heading.<locals>.WithPublicMethods.first_methodN)re   rf   rg   rk   r   r   r   r   WithPublicMethods   s    rl   c                 S   s    t  }tj| |d d| v S )N)r   zMethods:)r   r   infor   )clsr   r   r   r   _has_method_heading   s   z5test_info_method_heading.<locals>._has_method_headingr   )rj   rl   ro   r   r   r   test_info_method_heading   s
   rp   ).rG   syspytest
numpy.corer   numpy.testingr   r   r   	numpy.libr   r   numpy.lib.utilslibr   ior   markskipifflagsoptimizeversion_infor   r    r$   r%   r'   r*   	new_func4r,   rL   r-   	new_func6r0   r4   r6   r7   r8   parametrizerF   r=   rM   rP   rQ   ri   rp   r   r   r   r   <module>   s\    



