3
���h� � @ s� d dl Z d dlZd dlZd dlmZ d dlmZmZmZ d dl m
Z
d dljj
Z
d dlmZ ejjejjdkdd�d d
� �Ze
dd� �Ze
d
d�dd� �Zdd� Ze
eddd�Zdd� Ze
e�Zdd� Ze
edd�Zdd� Ze
e�Zdd� Zdd� Z d d!� Z!ejjejjdkd"d�ejj"d#eefeefeefg�d$d%� ��Z#d&d'� Z$ejjejjdkd"d�d(d)� �Z%d*d+� Z&G d,d-� d-�Z'd.d/� Z(dS )0� N)�arange)�assert_�assert_equal�assert_raises_regex)� deprecate)�StringIO� zPython running -OO)�reasonc C s0 t � } tjdd| dd� | j� } td| k� d S )NZ
eigenvalueZnumpyF)�module�outputZimport_modulesznumpy.linalg.eig)r �utilsZlookfor�getvaluer )�out� r �;/tmp/pip-build-5_djhm0z/numpy/numpy/lib/tests/test_utils.py�test_lookfor
s
r c C s |S )Nr )�self�xr r r �old_func s r zRather use new_func2)�messagec C s |S )Nr )r r r r r � old_func2 s r c C s |S )Nr )r r r r r � old_func3 s r � new_func3)Zold_name�new_namec C s |S )z Summary.
Further info.
r )r r r r r � old_func4% s r c C s |S )z+Summary.
Bizarre indentation.
r )r r r r r � old_func5. s r zThis function is
deprecated.c C s |S )z
Also in PEP-257.
r )r r r r r � old_func67 s r c C s t dtjk� d S )NZ
deprecated)r r �__doc__r r r r �test_deprecate_decorator? s r c C s t dtjk� d S )NzRather use new_func2)r r r r r r r � test_deprecate_decorator_messageC s r c C s t dtjk� t dtjk� d S )Nr r )r r r r r r r �test_deprecate_fnG s r z-OO discards docstringszold_func, new_funcc C s� t | |� xxd| fd|ffD ]d\}}xZt|jjd��D ]F\}}|dkrf|jd�s||jd� s|t|��q6|r6|jd�s6t|��q6W qW d S )N�old�new�
r z � )�
_compare_docs� enumerater �split�
startswith�AssertionError)r �new_funcZknd�func�li�liner r r �test_deprecate_help_indentationL s
r. c C s8 t j| �}t j|�}|jd�d }t||d � |� d S )Nz
r )�inspectZgetdoc�indexr )r r* Zold_docZnew_docr0 r r r r% ] s
r% c C s t dtjk� d S )Nz
Bizarre)r � new_func5r r r r r �"test_deprecate_preserve_whitespaced s r2 c C s t jd� d S )N�None)r Z safe_evalr r r r �test_safe_eval_nameconstanti s r4 c @ s, e Zd Zdd� Zdd� Zdd� Zdd� Zd S )
�TestByteBoundsc C s8 t d�jdd�}tj|�\}}t|| |j|j � d S )N� � � )r �reshaper �byte_boundsr �size�itemsize)r �a�low�highr r r �test_byte_boundsp s zTestByteBounds.test_byte_boundsc C s> |