U
    3d                  	   @   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	m
Z
mZ ejdedgedgedgfdd Zejd	d
d dedfdgdd Zdd ZdS )    N)assert_array_equal)_object_dtype_isnandelayed
loguniformz
dtype, val   ac                 C   sJ   t j|t jgt j|gg| d}t ddgddgg}t|}t|| d S )N)dtypeFT)nparraynanr   r   )r   valXZexpected_maskmask r   B/tmp/pip-unpacked-wheel-zrfo1fqw/sklearn/utils/tests/test_fixes.pytest_object_dtype_isnan   s    r   zlow,high,base)r   
      )r   r   r   c                    s   t  |   | }t|tjjjs&t|jddd} |  |k rT| | k sXtt	|dkshtt
 fdd|D }t
|\}}| dkstt
||   dkstt  |   | jddt  |   | jddkstd S )	Ni  r   )sizerandom_statec                    s   g | ]}t | qS r   )mathlog).0xbaser   r   
<listcomp>'   s     z#test_loguniform.<locals>.<listcomp>   (   )r   )r   
isinstancescipystatsZ_distn_infrastructureZ	rv_frozenAssertionErrorrvsalllenr	   r
   Z	histogramZmeanabsmax)lowhighr   rvr$   Zlog_rvscounts_r   r   r   test_loguniform   s    $ r.   c               	   C   s2   dd } d}t jt|d t|  W 5 Q R X dS )zKCheck that we issue the FutureWarning regarding the deprecation of delayed.c                 S   s   | S )Nr   )r   r   r   r   func5   s    z&test_delayed_deprecation.<locals>.funcz@The function `delayed` has been moved from `sklearn.utils.fixes`)matchN)pytestZwarnsFutureWarningr   )r/   Zwarn_msgr   r   r   test_delayed_deprecation2   s    r3   )r   Znumpyr	   r1   Zscipy.statsr!   Zsklearn.utils._testingr   Zsklearn.utils.fixesr   r   r   markZparametrizeobjectfloatr   expr.   r3   r   r   r   r   <module>   s   


