ó
‡ˆ\c           @   sW  d  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	 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 Z e j d d ƒ d „  ƒ Z e j j d ƒ d „  ƒ Z e j j d ƒ d „  ƒ Z e j j d ƒ d „  ƒ Z e j j d ƒ d „  ƒ Z d S(   s0   Test functionality of mldata fetching utilities.iÿÿÿÿN(   t   datasets(   t   mldata_filenamet   fetch_mldata(   t	   assert_in(   t   assert_not_in(   t   mock_mldata_urlopen(   t   assert_equal(   t   assert_raises(   t   assert_array_equal(   t   assert_warnst   scopet   modulec         c   sS   |  j  d ƒ } t | j d ƒ ƒ } t j | ƒ t | ƒ Vt j t | ƒ ƒ d  S(   Nt   tmpt   mldata(   t   mktempt   strt   joint   ost   makedirst   shutilt   rmtree(   t   tmpdir_factoryt   tmpdirt   tmpdir_path(    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_mldata.pyt   tmpdata   s
    s   ignore::DeprecationWarningc          C   sC   d d d d d g }  x' |  D] \ } } t  t | ƒ | ƒ q Wd  S(   Ns   datasets-UCI iriss   datasets-uci-iriss   news20.binaryt   news20binarys   book-crossing-ratings-1.0s   book-crossing-ratings-10s   Nile Water Levels   nile-water-levels   MNIST (original)s   mnist-original(   s   datasets-UCI iriss   datasets-uci-iris(   s   news20.binaryR   (   s   book-crossing-ratings-1.0s   book-crossing-ratings-10(   s   Nile Water Levels   nile-water-level(   s   MNIST (original)s   mnist-original(   R   R   (   t   casest   namet   desired(    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_mldata.pyt   test_mldata_filename   s    	c         C   sá   t  j j } t i i t j d ƒ d 6t j d ƒ d 6d 6ƒ t  j _ zˆ t t t d d |  ƒ} x' d d d	 d g D] } t	 | | ƒ qs Wt
 | j j d ƒ t
 | j j d ƒ t t  j j t t t d
 ƒ Wd | t  j _ Xd S(   s@   Test that fetch_mldata is able to download and cache a data set.i–   t   labeli   t   datat   mockt	   data_homet	   COL_NAMESt   DESCRt   targett   not_existing_nameN(   i–   (   i–   i   (   i–   (   i–   i   (   R    R   t   urlopenR   t   spt   onesR	   t   DeprecationWarningR   R   R   R$   t   shapeR   R   t	   HTTPError(   R   t   _urlopen_refR    t   n(    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_mldata.pyt   test_download)   s      	c         C   sù   t  j j } zÙ d } t j d ƒ j d d ƒ } t i i | d 6| 6ƒ t  j _ t | d |  ƒ} x$ d d d	 g D] } t | | ƒ qr Wt	 d
 | ƒ t
 | j j d ƒ t | j | ƒ t | d t d |  ƒ} t
 | j j d ƒ Wd  | t  j _ Xd  S(   Nt   onecoli   i   i   t   xR!   R"   R#   R   R$   t   transpose_data(   i   i   (   i   i   (   R    R   R&   R'   t   aranget   reshapeR   R   R   R   R   R   R*   R   t   False(   R   R,   t   datanameR0   t   dsetR-   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_mldata.pyt   test_fetch_one_columnC   s     c         C   s:  t  j j } zt j d ƒ j d d ƒ } t j d d g ƒ } t j d ƒ j d d ƒ } d } t i i | d	 6| d
 6| d 6d d
 d	 g f | 6ƒ t  j _ t | d |  ƒ} x* d d d d
 d g D] } t	 | | ƒ qÅ Wt
 d | ƒ t
 d | ƒ t | j | ƒ t | j | ƒ t | j | j ƒ d } t i i | d 6| d 6| d 6d d d g f | 6ƒ t  j _ t | d |  ƒ} x* d d d d
 d g D] } t	 | | ƒ q”Wt
 d | ƒ t
 d | ƒ t | j | ƒ t | j | ƒ t | j | j ƒ d } t i i | d 6| d 6| d 6d d d g f | 6ƒ t  j _ t | d d d d d |  ƒ} x* d d d d
 d g D] } t	 | | ƒ qoWt
 d | ƒ t
 d | ƒ t | j | ƒ t | j | ƒ t | d d d d d |  ƒ} x* d d d d
 d g D] } t	 | | ƒ qôWt
 d | ƒ t
 d | ƒ Wd  | t  j _ Xd  S(   Ni   i   i   i   iÿÿÿÿi   i   s   threecol-defaultR   R   t   zR!   R"   R#   R$   R0   t   ys   threecol-orders   threecol-numbert   target_namet	   data_namei    (   R    R   R&   R'   R2   R3   t   arrayR   R   R   R   R   R   R$   R8   t   T(   R   R,   R0   R9   R8   R5   R6   R-   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_mldata.pyt   test_fetch_multiple_column[   sf    		(   t   __doc__R   t   scipyR'   R   t   sklearnR    t   sklearn.datasetsR   R   t   sklearn.utils.testingR   R   R   R   R   R   R	   t   pytestt   fixtureR   t   markt   filterwarningsR   R.   R7   R>   (    (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_mldata.pyt   <module>   s$   	