ó
‡ˆ\c           @   s>  d  d l  Z  d  d l 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	 d  d l m
 Z
 d  d l m Z d  d l m Z d  d	 l m Z d  d
 l m Z d „  Z d „  Z e j j d d% d e j d d d d d e j g ƒ f d e j d d g ƒ f g ƒ d „  ƒ Z e j j d e j d d d e j g ƒ d d d g e j d d d g ƒ f e j d d d e j g ƒ d d f e j e j e j g ƒ d d g e j e j e j g ƒ f g ƒ d „  ƒ Z e j j d d& ƒ d! „  ƒ Z e j j d" e d g e d# g e d g f ƒ d$ „  ƒ Z d S('   iÿÿÿÿN(   t   assert_equal(   t   assert_array_equal(   t   assert_allclose(   t   divide(   t   MaskedArray(   t	   nanmedian(   t   nanpercentile(   t   _joblib_parallel_args(   t   _object_dtype_isnanc           C   s   t  t d d ƒ d ƒ d  S(   Ng333333ã?i   (   R    R   (    (    (    s=   lib/python2.7/site-packages/sklearn/utils/tests/test_fixes.pyt   test_divide   s    c          C   s‰   t  d d  d g d t ƒ}  xg t t d d d g f D]M } | |  _ t j t j |  ƒ ƒ } t	 |  j
 | j
 ƒ t	 |  j | j ƒ q4 Wd  S(   Ni   t   at   dtypei    (   R   t   Nonet   objectt   Truet   Falset   maskt   picklet   loadst   dumpsR   t   data(   t   marrR   t   marr_pickled(    (    s=   lib/python2.7/site-packages/sklearn/utils/tests/test_fixes.pyt&   test_masked_array_obj_dtype_pickleable   s    	s   axis, expected_mediang      @i    g      ð?g      @g      @i   g      @c         C   s’   t  j d d d d t  j t  j g t  j d d d d t  j g g ƒ } t | d |  ƒ} |  d  k r | t j | ƒ k sŽ t ‚ n t | | ƒ d  S(   Ni   i   i   i   t   axis(	   t   npt   arrayt   nanR   R   t   pytestt   approxt   AssertionErrorR   (   R   t   expected_mediant   Xt   median(    (    s=   lib/python2.7/site-packages/sklearn/utils/tests/test_fixes.pyt   test_nanmedian%   s    !$s   a, q, expected_percentilei   i   i2   id   g       @g      @c         C   s    t  |  | ƒ } t | | ƒ d  S(   N(   R   R   (   R
   t   qt   expected_percentilet
   percentile(    (    s=   lib/python2.7/site-packages/sklearn/utils/tests/test_fixes.pyt   test_nanpercentile5   s    t   joblib_versions   0.11s   0.12.0c      	   C   s•  d d  l  } |  j | j j d | ƒ | d k r§ t d d ƒ i d d 6k sS t ‚ t d d d d  ƒ i d d 6d  d 6k s‚ t ‚ t d d	 ƒ i d	 d 6k s‘t ‚ nê | d
 k r‹t d d ƒ i d d 6k sÕ t ‚ t d d ƒ i d d 6k s÷ t ‚ t j t	 ƒ  t d d ƒ Wd  QXt d d d d ƒ i d d 6k sBt ‚ t j t	 ƒ  t d d ƒ Wd  QXt j t
 ƒ  t d t ƒ Wd  QXn t	 ‚ d  S(   Niÿÿÿÿt   __version__s   0.12.0t   prefert   threadst	   processest   requiret   non_existingi   s   0.11t	   threadingt   backendt   multiprocessingt   invalidt	   sharedmemt   verbose(   t   sklearn.utils._joblibt   setattrt   utilst   _joblibR   R   R   R   t   raisest
   ValueErrort   NotImplementedErrorR   (   t   monkeypatchR'   t   sklearn(    (    s=   lib/python2.7/site-packages/sklearn/utils/tests/test_fixes.pyt   test_joblib_parallel_args@   s,    "%s
   dtype, valR
   c         C   sk   t  j | t  j g t  j | g g d |  ƒ} t  j t t g t t g g ƒ } t | ƒ } t | | ƒ d  S(   NR   (   R   R   R   R   R   R   R   (   R   t   valR    t   expected_maskR   (    (    s=   lib/python2.7/site-packages/sklearn/utils/tests/test_fixes.pyt   test_object_dtype_isnan^   s    (   Ng      @(   s   0.11s   0.12.0(   R   t   numpyR   R   t   sklearn.utils.testingR    R   R   t   sklearn.utils.fixesR   R   R   R   R   R   R	   R   t   markt   parametrizeR   R   R   R"   R&   R=   R   t   floatR@   (    (    (    s=   lib/python2.7/site-packages/sklearn/utils/tests/test_fixes.pyt   <module>   s6   		
	'*	?$N	