ó
î&]\c           @` s\  d  d l  m Z m Z m Z d  d l Z 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 d  d l m Z d  d l m Z m Z m Z m Z m Z m Z m Z m Z e j j e j j e ƒ d ƒ Z d „  Z d	 „  Z  d
 „  Z! d „  Z" d „  Z# e	 j$ j% e e j& ƒ d k  d d ƒd „  ƒ Z' d „  Z( d „  Z) d S(   i    (   t   divisiont   print_functiont   absolute_importN(   t   raises(   t   assert_equalt   assert_(   t   NumpyVersion(   t
   csc_matrixt
   csr_matrixt
   bsr_matrixt
   dia_matrixt
   coo_matrixt   save_npzt   load_npzt
   dok_matrixt   datac         C` sW   t  j d d ƒ \ } } t j | ƒ z t | |  ƒ t | ƒ } Wd  t j | ƒ X| S(   Nt   suffixs   .npz(   t   tempfilet   mkstempt   ost   closeR   R   t   remove(   t   matrixt   fdt   tmpfilet   loaded_matrix(    (    s@   lib/python2.7/site-packages/scipy/sparse/tests/test_matrix_io.pyt   _save_and_load   s    c         C` s‘   xŠ t  t t t t g D]s } | |  ƒ } t | ƒ } t t | ƒ | k ƒ t | j |  j k ƒ t | j	 |  j	 k ƒ t
 | j ƒ  |  ƒ q Wd  S(   N(   R   R   R	   R
   R   R   R   t   typet   shapet   dtypeR   t   toarray(   t   dense_matrixt   matrix_classR   R   (    (    s@   lib/python2.7/site-packages/scipy/sparse/tests/test_matrix_io.pyt   _check_save_and_load   s    c          C` sL   d }  t  j j d ƒ t  j j |  |  f ƒ } d | | d k <t | ƒ d  S(   Ni
   i    gffffffæ?(   t   npt   randomt   seedR!   (   t   NR   (    (    s@   lib/python2.7/site-packages/scipy/sparse/tests/test_matrix_io.pyt   test_save_and_load_random'   s
    c          C` s   t  j d ƒ }  t |  ƒ d  S(   Ni   i   (   i   i   (   R"   t   zerosR!   (   R   (    (    s@   lib/python2.7/site-packages/scipy/sparse/tests/test_matrix_io.pyt   test_save_and_load_empty.   s    c          C` s'   t  j d ƒ }  d |  d <t |  ƒ d  S(   Ni   i   i   i   (   i   i   (   i   i   (   R"   R'   R!   (   R   (    (    s@   lib/python2.7/site-packages/scipy/sparse/tests/test_matrix_io.pyt   test_save_and_load_one_entry2   s    
s   1.10.0t   reasons-   disabling unpickling requires numpy >= 1.10.0c          C` sz   d t  f d „  ƒ  Y}  t j d d ƒ \ } } t j | ƒ z* t j | d |  ƒ  ƒt t t	 | ƒ Wd  t j
 | ƒ Xd  S(   Nt   Executorc           B` s   e  Z d  „  Z RS(   c         S` s   t  t d f f S(   Ns   unexpected code execution(   R   t   False(   t   self(    (    s@   lib/python2.7/site-packages/scipy/sparse/tests/test_matrix_io.pyt
   __reduce__<   s    (   t   __name__t
   __module__R.   (    (    (    s@   lib/python2.7/site-packages/scipy/sparse/tests/test_matrix_io.pyR+   ;   s   R   s   .npzt   format(   t   objectR   R   R   R   R"   t   savezt   assert_raisest
   ValueErrorR   R   (   R+   R   R   (    (    s@   lib/python2.7/site-packages/scipy/sparse/tests/test_matrix_io.pyt   test_malicious_load8   s    c          C` s~   t  t j j t d ƒ ƒ }  t  t j j t d ƒ ƒ } t d g g ƒ } t |  j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ d  S(   Ns   csc_py2.npzs   csc_py3.npzi    (   R   R   t   patht   joint   DATA_DIRR   R   R   (   t   at   bt   c(    (    s@   lib/python2.7/site-packages/scipy/sparse/tests/test_matrix_io.pyt   test_py23_compatibilityJ   s
    c          C` s-   t  d ƒ }  d |  d <t t t d |  ƒ d  S(   Ni   i   i   i    s   x.npz(   i   i   (   i    i   (   R   R4   t   NotImplementedErrorR   (   t   x(    (    s@   lib/python2.7/site-packages/scipy/sparse/tests/test_matrix_io.pyt   test_implemented_errorV   s    
(*   t
   __future__R    R   R   t   sysR   t   numpyR"   R   t   pytestR   R4   t   numpy.testingR   R   t   scipy._lib._versionR   t   scipy.sparseR   R   R	   R
   R   R   R   R   R7   R8   t   dirnamet   __file__R9   R   R!   R&   R(   R)   t   markt   skipift   __version__R6   R=   R@   (    (    (    s@   lib/python2.7/site-packages/scipy/sparse/tests/test_matrix_io.pyt   <module>   s&   :!	
						