ó
Ë½÷Xc           @` si  d  Z  d d l m Z m Z m Z d d l Z d d l Z d d l Z d d l m	 Z	 e j
 d d k rr e	 Z n d d l m Z d d l m Z d d l Z d d l m Z m Z m Z m Z d d	 l m Z m Z m Z m Z m Z m Z m Z d a d a  d a! d a" d
 „  Z# d „  Z$ d „  Z% d „  Z& d „  Z' d e( f d „  ƒ  YZ) e* d k ree ƒ  n  d S(   s
    Testing

i    (   t   divisiont   print_functiont   absolute_importN(   t   BytesIOi   (   t   StringIO(   t   mkstemp(   t   assert_t   assert_equalt   assert_raisest   run_module_suite(   t   make_streamt   GenericStreamt   cStringStreamt
   FileStreamt   ZlibInputStreamt
   _read_intot   _read_stringc          C` si   d }  t  ƒ  \ } a t j | d ƒ a t j |  ƒ t j ƒ  t t d ƒ a t |  ƒ a	 t
 |  ƒ a d  S(   Nt   a stringt   wbt   rb(   R   t   fnamet   ost   fdopent   fst   writet   closet   openR   t   gst	   cStringIOt   cs(   t   valt   fd(    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/io/matlab/tests/test_streams.pyt   setup$   s    
c           C` s   t  j ƒ  b  t j t ƒ d  S(   N(   R   R   R   t   unlinkR   (    (    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/io/matlab/tests/test_streams.pyt   teardown0   s    
c           C` se   t  t t t ƒ t ƒ ƒ t j d d k  ra t  t t t ƒ t ƒ ƒ t  t t t	 ƒ t
 ƒ ƒ n  d  S(   Ni    i   (   R   t
   isinstanceR
   R   R   t   syst   version_infoR   R   R   R   (    (    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/io/matlab/tests/test_streams.pyt   test_make_stream7   s    c          c` sô   xí t  t t f D]Ü }  t |  ƒ } | j d ƒ } t | d f Vt | j ƒ  d f V| j d ƒ } t | d f Vt | j ƒ  d f V| j d d ƒ } t | d f Vt | j ƒ  d f V| j d d ƒ } t | d f Vt | j ƒ  d f Vq Wd  S(   Ni    i   i   i   i   iþÿÿÿi   (   R   R   R   R
   t   seekR   t   tell(   t   st   stt   res(    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/io/matlab/tests/test_streams.pyt   test_tell_seek@   s    c          c` s4  x-t  t t f D]}  t |  ƒ } | j d ƒ | j d ƒ } t | d f V| j d ƒ | j d ƒ } t | d f V| j d ƒ t | d ƒ } t | d f Vt | d ƒ } t | d f Vt t	 t | d f V| j d ƒ t
 | d ƒ } t | d f Vt
 | d ƒ } t | d f Vt t	 t
 | d f Vq Wd  S(   Ni    iÿÿÿÿR   i   t   a stt   ringi   (   R   R   R   R
   R'   t   readR   R   R   t   IOErrorR   (   R)   R*   R+   (    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/io/matlab/tests/test_streams.pyt	   test_readR   s(    t   TestZlibInputStreamc           B` s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` sX   t  j j d d | ƒ j t  j ƒ j ƒ  } t j | ƒ } t | ƒ } | t	 | ƒ | f S(   Ni    i   (
   t   npt   randomt   randintt   astypet   uint8t   tostringt   zlibt   compressR   t   len(   t   selft   sizet   datat   compressed_datat   stream(    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/io/matlab/tests/test_streams.pyt	   _get_datam   s    *c      	   #` s™   d } d d d | d | d | | d d | d g } | d | d | | d g } ‡  f d †  } x- | D]% } x | D] } | | | f Vqy Wql Wd  S(   Ni   i    i   i
   i   c   	      ` s‘   ˆ  j  |  ƒ \ } } } t | | ƒ } d } d } xJ t r | j t | |  | ƒ ƒ } | sb Pn  | t | ƒ 7} | | 7} q6 Wt | | ƒ d  S(   Nt    i    (   RA   R   t   TrueR/   t   minR;   R   (	   R=   t	   read_sizet   compressed_streamt   compressed_data_lenR>   R@   t   data2t   so_fart   block(   R<   (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/io/matlab/tests/test_streams.pyt   check|   s    	(    (   R<   t
   block_sizet   SIZESt
   READ_SIZESRK   R=   RE   (    (   R<   sA   /tmp/pip-build-7oUkmx/scipy/scipy/io/matlab/tests/test_streams.pyR1   s   s    c         C` s§   d } t  j j d d | ƒ j t  j ƒ j ƒ  } t j | ƒ } t | d ƒ } t	 | t
 | ƒ ƒ } | j t
 | ƒ ƒ t | j ƒ  t
 | ƒ ƒ t t | j d ƒ d  S(   NiÒ  i    i   t   abbacacai   (   R3   R4   R5   R6   R7   R8   R9   R:   R   R   R;   R/   R   R(   R   R0   (   R<   R=   R>   R?   RF   R@   (    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/io/matlab/tests/test_streams.pyt   test_read_max_lengthŽ   s    *c   	      C` s}  |  j  d ƒ \ } } } t | | ƒ } | j d ƒ d } t | j ƒ  | ƒ | j d ƒ } t | | | | d !ƒ | j d d ƒ d } t | j ƒ  | ƒ | j d ƒ } t | | | | d !ƒ | j d d ƒ d } t | j ƒ  | ƒ | j d ƒ } t | | | | d !ƒ t t | j d	 d
 ƒ t t | j d d ƒ t t | j d d ƒ | j d d ƒ t t | j d ƒ d  S(   Ni   i{   i   iA  i   i   i  i    i
   i   iÿÿÿÿi'  i   i†   iÇ  (	   RA   R   R'   R   R(   R/   R   R0   t
   ValueError(	   R<   RF   RG   R>   R@   t   pt   d1t   d2t   d3(    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/io/matlab/tests/test_streams.pyt	   test_seekš   s,    c         C` sw   |  j  d ƒ \ } } } t | | ƒ } t | j ƒ  ƒ | j d ƒ t | j ƒ  ƒ | j d ƒ t | j ƒ  ƒ d  S(   Ni   i   (   RA   R   R   t   all_data_readR'   (   R<   RF   RG   R>   R@   (    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/io/matlab/tests/test_streams.pyt   test_all_data_read¸   s    (   t   __name__t
   __module__RA   R1   RP   RV   RX   (    (    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/io/matlab/tests/test_streams.pyR2   l   s
   				t   __main__(+   t   __doc__t
   __future__R    R   R   R   R$   R9   t   ioR   R%   R   R   t   tempfileR   t   numpyR3   t   numpy.testingR   R   R   R	   t   scipy.io.matlab.streamsR
   R   R   R   R   R   R   t   NoneR   R   R   R   R    R"   R&   R,   R1   t   objectR2   RY   (    (    (    sA   /tmp/pip-build-7oUkmx/scipy/scipy/io/matlab/tests/test_streams.pyt   <module>   s0   	"4						V