
    Piw                         d 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	 ddl
mZ ddlZddlmZmZ ddlmZ ddlZddlmZmZmZmZmZmZ ed	             Zd
 Zd Zd Z G d d          ZdS )z
 Testing

    N)BytesIO)mkstemp)contextmanager)assert_assert_equal)raises)make_streamGenericStreamZlibInputStream
_read_into_read_string
BLOCK_SIZEc               #   v  K   d} t                      \  }}t          j        |d          5 }|                    |            d d d            n# 1 swxY w Y   t	          |d          5 }t          |           }t          |           }|||fV  d d d            n# 1 swxY w Y   t          j        |           d S )N   a stringwbrb)r   osfdopenwriteopenr   unlink)valfdfnamefsgscss         v/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/scipy/io/matlab/tests/test_streams.pysetup_test_filer      s-     
C		IB	2t		 
              	eT		 bS\\S\\"bj               Ies#   AAA(&BB!Bc                      t                      5 \  } }}t          t          t          |          t                               d d d            d S # 1 swxY w Y   d S N)r   r   
isinstancer	   r
   )r   r   r   s      r   test_make_streamr#   *   s    			 <lr2r
;r??M::;;;< < < < < < < < < < < < < < < < < <s   4AAAc                     t                      5 \  } }}| ||fD ]0}t          |          }|                    d          }t          |d           t          |                                d           |                    d          }t          |d           t          |                                d           |                    dd          }t          |d           t          |                                d           |                    dd          }t          |d           t          |                                d           2	 d d d            d S # 1 swxY w Y   d S )Nr                  )r   r	   seekr   tellr   r   r   sstress         r   test_tell_seekr1   0   s}   			 'lr2rb" 	' 	'AQB''!**Ca   A&&&''!**Ca   A&&&''!Q--Ca   A&&&''"a..Ca   A&&&&	'' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 's   D<EE Ec                  <   t                      5 \  } }}| ||fD ]h}t          |          }|                    d           |                    d          }t	          |d           |                    d           |                    d          }t	          |d           |                    d           t          |d          }t	          |d           t          |d          }t	          |d           t          t          t
          |d           |                    d           t          |d          }t	          |d           t          |d          }t	          |d           t          t          t          |d           j	 d d d            d S # 1 swxY w Y   d S )Nr   r      s   a sts   ringr&   )	r   r	   r+   readr   r   assert_raisesOSErrorr   r-   s         r   	test_readr8   B   s   			 8lr2rb" 	8 	8AQBGGAJJJ''"++Cn---GGAJJJ''!**Cj)))GGAJJJR##Cj)))R##Cg&&&':r1555GGAJJJr1%%Cj)))r1%%Cg&&&'<Q7777+	88 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8s   E4FFFc                   <   e Zd Zd Zd Zd Zd Zd Zd Zd Z	e
j                             ej                    dk    o
ej        d	k    d
          d             Ze
j                             ej                    dk    o
ej        d	k    d
          d             ZdS )TestZlibInputStreamc                     t          j        |          }t          j        |          }t	          |          }|t          |          |fS r!   )random	randbyteszlibcompressr   len)selfsizedatacompressed_datastreams        r   	_get_datazTestZlibInputStream._get_data]   sC    %%---))s?++T11    c           	           dddt           dz  t           dz
  t           t           dz   dt           z  dz
  g}t           dz  t           dz
  t           t           dz   g} fd}|D ]}|D ]} |||           d S )Nr   r'   
   r&   c                    	                     |           \  }}}t          ||          }d}d}	 |                    t          || |z
                      }|sn|t	          |          z  }||z  }At          ||           d S )NrG   r   )rF   r   r5   minr@   r   )
rB   	read_sizecompressed_streamcompressed_data_lenrC   rE   data2so_farblockrA   s
            r   checkz,TestZlibInputStream.test_read.<locals>.checkj   s    ;?>>$;O;O82D$%68KLLFEFC	(,v%7 %7 8 8 #e**$ u%%%%%rG   )r   )rA   SIZES
READ_SIZESrR   rB   rL   s   `     r   r8   zTestZlibInputStream.test_readc   s    Ar:q=*Q,Z\1Z<>; !!mZ\ *Q,0
	& 	& 	& 	& 	&  	' 	'D' ' '	dI&&&&'	' 	'rG   c                    t          j        d          }t          j        |          }t	          |dz             }t          |t          |                    }|                    t          |                     t          |	                                t          |                     t          t          |j        d           d S )Ni  s   abbacacar'   )r<   r=   r>   r?   r   r   r@   r5   r   r,   r6   r7   rA   rC   rD   rM   rE   s        r   test_read_max_lengthz(TestZlibInputStream.test_read_max_length|   s    %%---#Ok$ABB !2C4H4HIICII&++--s?/C/CDDDgv{A.....rG   c                 V   t          j        d          }t          j        |          }|d d         t	          |d         dz   dz  g          z   }t          |          }t          |t          |                    }t          t          j	        |j
        t          |                     d S NrI   r3   r'      )r<   r=   r>   r?   bytesr   r   r@   r6   errorr5   rV   s        r   test_read_bad_checksumz*TestZlibInputStream.test_read_bad_checksum       ##--- +3B3/"_R%81%<$C#DEEF $O44 !2C4H4HIIdj&+s4yy99999rG   c                    |                      d          \  }}}t          ||          }|                    d           d}t          |                                |           |                    d          }t          ||||dz                       |                    dd           d}t          |                                |           |                    d          }t          ||||dz                       |                    dd	           d}t          |                                |           |                    d          }t          ||||dz                       t          t          |j        d
d           t          t          |j        dd           t          t          |j        dd           |                    dd           t          t          |j        d           d S )N   {      iA  r'   i     i  r   rI   r&   r3   i'     )	rF   r   r+   r   r,   r5   r6   r7   
ValueError)	rA   rM   rN   rC   rE   pd1d2d3s	            r   	test_seekzTestZlibInputStream.test_seek   s   7;~~d7K7K4. !24GHHCV[[]]A&&&[[__Ra"f&&&CV[[]]A&&&[[__Ra"f&&&CV[[]]A&&&[[__Ra"f&&&gv{B222gv{B222j&+q#666E1gv{B/////rG   c                 V   t          j        d          }t          j        |          }|d d         t	          |d         dz   dz  g          z   }t          |          }t          |t          |                    }t          t          j	        |j
        t          |                     d S rY   )r<   r=   r>   r?   r[   r   r   r@   r6   r\   r+   rV   s        r   test_seek_bad_checksumz*TestZlibInputStream.test_seek_bad_checksum   r^   rG   c                 v   |                      d          \  }}}t          ||          }t          |                                            |                    d           t          |                                            |                    d           t          |                                           d S )Nr`   i   )rF   r   r   all_data_readr+   )rA   rM   rN   rC   rE   s        r   test_all_data_readz&TestZlibInputStream.test_all_data_read   s    7;~~d7K7K4. !24GHHF((***+++CF((***+++D$$&&'''''rG   Windows)      zgh-23185)reasonc                    d}t          j        dt           j                  }t          j        ||          }t          |          }t          |t          dz   k               t          |          }t          ||          }t          |
                                            |                    t          |                     t          |
                                           d S )Nr*   Sdtyper&   )nparangeuint8r>   r?   r@   r   r   r   r   rn   r+   rA   COMPRESSION_LEVELrC   rD   rN   rM   rE   s          r   test_all_data_read_overlapz.TestZlibInputStream.test_all_data_read_overlap   s     y222-.?@@!/22 	#zA~5666#O44 !24GHHF((***+++CII$$&&'''''rG   c                    d}t          j        dt           j                  }t          j        ||          }t          |          }t          |t          dz   k               |d d         t          |d         dz   dz  g          z   }t          |          }t          ||          }t          |                                            |                    t          |                     t          t          j        |j                   d S )Nr*   ru   rv   r&   r3   r'   rZ   )rx   ry   rz   r>   r?   r@   r   r   r[   r   r   rn   r+   r6   r\   r{   s          r   test_all_data_read_bad_checksumz3TestZlibInputStream.test_all_data_read_bad_checksum   s     y222-.?@@!/22 	#zA~5666 +3B3/"_R%81%<$C#DEEF $O44 !24GHHF((***+++CIIdj&"677777rG   N)__name__
__module____qualname__rF   r8   rW   r]   rj   rl   ro   pytestmarkskipifplatformsystemsysversion_infor}   r    rG   r   r:   r:   \   s+       2 2 2' ' '2	/ 	/ 	/: : :0 0 0<: : :( ( ( [X_)+K0@G0K   ( ( (  [X_)+K0@G0K   8 8 8 8 8rG   r:   ) __doc__r   r   r<   r   r>   ior   tempfiler   
contextlibr   numpyrx   numpy.testingr   r   r   r   r6   scipy.io.matlab._streamsr	   r
   r   r   r   r   r   r#   r1   r8   r:   r   rG   r   <module>r      s     				  



              % % % % % %     / / / / / / / / * * * * * * * * * * * * * * * * * * * * * *
 
 
 
< < <' ' '$8 8 84U8 U8 U8 U8 U8 U8 U8 U8 U8 U8rG   