Ë
    âQ(hî  ã                   ó¶   — d 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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y)z
 Testing

é    N)ÚBytesIO)Úmkstemp)Úcontextmanager)Úassert_Úassert_equal)Úraises)Úmake_streamÚGenericStreamÚZlibInputStreamÚ
_read_intoÚ_read_stringÚ
BLOCK_SIZEc               #   óH  K  — d} t        «       \  }}t        j                  |d«      5 }|j                  | «       d d d «       t	        |d«      5 }t        | «      }t        | «      }|||f–— d d d «       t        j                  |«       y # 1 sw Y   ŒQxY w# 1 sw Y   Œ+xY w­w)Nó   a stringÚwbÚrb)r   ÚosÚfdopenÚwriteÚopenr   Úunlink)ÚvalÚfdÚfnameÚfsÚgsÚcss         ú`/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/io/matlab/tests/test_streams.pyÚsetup_test_filer      s’   è ø€ à
€CÜ“	�I€Bˆä	�‰�2�tÓ	ð  Ø
�‰�Œ÷ä	ˆe�TÓ	ð ˜bÜ�S‹\ˆÜ�S‹\ˆØ�"�bˆjÒ÷ô ‡I�IˆeÕ÷ð ú÷ð üs3   ‚&B"¨B
ºB"ÁBÁ,B"Â
BÂB"ÂBÂB"c                  óŽ   — t        «       5 \  } }}t        t        t        |«      t        «      «       d d d «       y # 1 sw Y   y xY w)N)r   r   Ú
isinstancer	   r
   )r   r   r   s      r   Útest_make_streamr"   &   s8   € Ü	Ó	ð <™l˜r 2 rä”
œ; r›?¬MÓ:Ô;÷<÷ <ñ <ús	   ‹';»Ac                  ó2  — t        «       5 \  } }}| ||fD ]ë  }t        |«      }|j                  d«      }t        |d«       t        |j	                  «       d«       |j                  d«      }t        |d«       t        |j	                  «       d«       |j                  dd«      }t        |d«       t        |j	                  «       d«       |j                  dd«      }t        |d«       t        |j	                  «       d«       Œí 	 d d d «       y # 1 sw Y   y xY w)Nr   é   é   é   é   éþÿÿÿé   )r   r	   Úseekr   Útell©r   r   r   ÚsÚstÚress         r   Útest_tell_seekr0   ,   sã   € Ü	Ó	ð '™l˜r 2 rØ�b˜"�ò 	'ˆAÜ˜Q“ˆBØ—'‘'˜!“*ˆCÜ˜˜aÔ Ü˜Ÿ™› AÔ&Ø—'‘'˜!“*ˆCÜ˜˜aÔ Ü˜Ÿ™› AÔ&Ø—'‘'˜!˜Q“-ˆCÜ˜˜aÔ Ü˜Ÿ™› AÔ&Ø—'‘'˜"˜a“.ˆCÜ˜˜aÔ Ü˜Ÿ™› AÕ&ñ	'÷'÷ 'ñ 'ús   ‹C8DÄDc                  óŽ  — t        «       5 \  } }}| ||fD �]  }t        |«      }|j                  d«       |j                  d«      }t	        |d«       |j                  d«       |j                  d«      }t	        |d«       |j                  d«       t        |d«      }t	        |d«       t        |d«      }t	        |d«       t        t        t
        |d«       |j                  d«       t        |d«      }t	        |d«       t        |d«      }t	        |d«       t        t        t        |d«       �Œ 	 d d d «       y # 1 sw Y   y xY w)Nr   éÿÿÿÿr   é   s   a sts   ringr%   )	r   r	   r*   Úreadr   r   Úassert_raisesÚOSErrorr   r,   s         r   Ú	test_readr7   >   s  € Ü	Ó	ð 8™l˜r 2 rØ�b˜"�ó 	8ˆAÜ˜Q“ˆBØ�G‰G�AŒJØ—'‘'˜"“+ˆCÜ˜˜nÔ-Ø�G‰G�AŒJØ—'‘'˜!“*ˆCÜ˜˜jÔ)à�G‰G�AŒJÜ˜R Ó#ˆCÜ˜˜jÔ)Ü˜R Ó#ˆCÜ˜˜gÔ&Üœ'¤:¨r°1Ô5à�G‰G�AŒJÜ˜r 1Ó%ˆCÜ˜˜jÔ)Ü˜r 1Ó%ˆCÜ˜˜gÔ&Üœ'¤<°°QÖ7ñ+	8÷8÷ 8ñ 8ús   ‹D&D;Ä;Ec                   óB   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zy
)ÚTestZlibInputStreamc                 óö   — t         j                  j                  dd|«      j                  t         j                  «      j                  «       }t        j                  |«      }t        |«      }|t        |«      |fS )Nr   é   )
ÚnpÚrandomÚrandintÚastypeÚuint8ÚtobytesÚzlibÚcompressr   Úlen)ÚselfÚsizeÚdataÚcompressed_dataÚstreams        r   Ú	_get_datazTestZlibInputStream._get_dataY   s\   € Ü�y‰y× Ñ   C¨Ó.×5Ñ5´b·h±hÓ?×GÑGÓIˆÜŸ-™-¨Ó-ˆÜ˜Ó)ˆØ”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 ]  } |||«       Œ Œ y )Nr   r&   é
   r%   c                 óÔ   •— ‰	j                  | «      \  }}}t        ||«      }d}d}	 |j                  t        || |z
  «      «      }|sn|t	        |«      z  }||z  }Œ5t        ||«       y )NrK   r   )rJ   r   r4   ÚminrD   r   )
rF   Ú	read_sizeÚcompressed_streamÚcompressed_data_lenrG   rI   Údata2Úso_farÚblockrE   s
            €r   Úcheckz,TestZlibInputStream.test_read.<locals>.checkf   s�   ø€ Ø;?¿>¹>È$Ó;OÑ8ÐÐ2°DÜ$Ð%6Ð8KÓLˆFØˆEØˆFØØŸ™¤C¨	Ø(,¨v©ó%7ó 8�áØØœ#˜e›*Ñ$�Ø˜‘�ð ô ˜˜uÕ%rK   )r   )rE   ÚSIZESÚ
READ_SIZESrV   rF   rP   s   `     r   r7   zTestZlibInputStream.test_read_   s~   ø€ Ø�A�rœ: q™=¬*°Q©,ÜœZ¨™\¨1¬Z©<¸©>ð;ˆô ! !‘m¤Z°¡\Ü ¤*¨Q¡,ð0ˆ
ô	&ð ò 	'ˆDØ'ò '�	Ù�d˜IÕ&ñ'ñ	'rK   c                 óÀ  — d}t         j                  j                  dd|«      j                  t         j                  «      j                  «       }t        j                  |«      }t        |dz   «      }t        |t        |«      «      }|j                  t        |«      «       t        |j                  «       t        |«      «       t        t        |j                  d«       y )NiÒ  r   r;   s   abbacacar&   )r<   r=   r>   r?   r@   rA   rB   rC   r   r   rD   r4   r   r+   r5   r6   )rE   rF   rG   rH   rQ   rI   s         r   Útest_read_max_lengthz(TestZlibInputStream.test_read_max_lengthx   s    € ØˆÜ�y‰y× Ñ   C¨Ó.×5Ñ5´b·h±hÓ?×GÑGÓIˆÜŸ-™-¨Ó-ˆÜ# O°kÑ$AÓBÐÜ Ð!2´C¸Ó4HÓIˆà�‰”C˜“IÔÜÐ&×+Ñ+Ó-¬s°?Ó/CÔDä”g˜vŸ{™{¨AÕ.rK   c                 ó˜  — t         j                  j                  ddd«      j                  t         j                  «      j                  «       }t        j                  |«      }|d d t        |d   dz   dz  g«      z   }t        |«      }t        |t        |«      «      }t        t        j                  |j                  t        |«      «       y ©Nr   r;   rM   r2   r&   éÿ   )r<   r=   r>   r?   r@   rA   rB   rC   Úbytesr   r   rD   r5   Úerrorr4   ©rE   rG   rH   rQ   rI   s        r   Útest_read_bad_checksumz*TestZlibInputStream.test_read_bad_checksum„   ó¥   € Ü�y‰y× Ñ   C¨Ó,×3Ñ3´B·H±HÓ=×EÑEÓGˆÜŸ-™-¨Ó-ˆð +¨3¨BÐ/Ü" _°RÑ%8¸1Ñ%<ÀÑ$CÐ#DÓEñFˆô $ OÓ4ÐÜ Ð!2´C¸Ó4HÓIˆä”d—j‘j &§+¡+¬s°4«yÕ9rK   c                 ó,  — | j                  d«      \  }}}t        ||«      }|j                  d«       d}t        |j	                  «       |«       |j                  d«      }t        ||||dz    «       |j                  dd«       d}t        |j	                  «       |«       |j                  d«      }t        ||||dz    «       |j                  dd	«       d}t        |j	                  «       |«       |j                  d«      }t        ||||dz    «       t        t        |j                  d
d«       t        t        |j                  dd«       t        t        |j                  dd«       |j                  dd«       t        t        |j
                  d«       y )Né   é{   é   iA  r&   iÇ  é   i�  r   rM   r%   r2   i'  é   )	rJ   r   r*   r   r+   r4   r5   r6   Ú
ValueError)	rE   rQ   rR   rG   rI   ÚpÚd1Úd2Úd3s	            r   Ú	test_seekzTestZlibInputStream.test_seek‘   sE  € Ø7;·~±~ÀdÓ7KÑ4ÐÐ.°ä Ð!2Ð4GÓHˆà�‰�CÔØˆÜ�V—[‘[“] AÔ&Ø�[‰[˜‹_ˆÜ�R˜˜a  "¡˜Ô&à�‰�C˜ÔØˆÜ�V—[‘[“] AÔ&Ø�[‰[˜‹_ˆÜ�R˜˜a  "¡˜Ô&à�‰�C˜ÔØˆÜ�V—[‘[“] AÔ&Ø�[‰[˜‹_ˆÜ�R˜˜a  "¡˜Ô&ä”g˜vŸ{™{¨B°Ô2Ü”g˜vŸ{™{¨B°Ô2Ü”j &§+¡+¨q°#Ô6à�‰�E˜1ÔÜ”g˜vŸ{™{¨BÕ/rK   c                 ó˜  — t         j                  j                  ddd«      j                  t         j                  «      j                  «       }t        j                  |«      }|d d t        |d   dz   dz  g«      z   }t        |«      }t        |t        |«      «      }t        t        j                  |j                  t        |«      «       y r\   )r<   r=   r>   r?   r@   rA   rB   rC   r^   r   r   rD   r5   r_   r*   r`   s        r   Útest_seek_bad_checksumz*TestZlibInputStream.test_seek_bad_checksum¯   rb   rK   c                 ó$  — | j                  d«      \  }}}t        ||«      }t        |j                  «        «       |j	                  d«       t        |j                  «        «       |j	                  d«       t        |j                  «       «       y )Nrd   i   )rJ   r   r   Úall_data_readr*   )rE   rQ   rR   rG   rI   s        r   Útest_all_data_readz&TestZlibInputStream.test_all_data_read¼   sx   € Ø7;·~±~ÀdÓ7KÑ4ÐÐ.°Ü Ð!2Ð4GÓHˆÜ�F×(Ñ(Ó*Ð*Ô+Ø�‰�CÔÜ�F×(Ñ(Ó*Ð*Ô+Ø�‰�DÔÜ�×$Ñ$Ó&Õ'rK   c                 ó¼  — d}t        j                  d«      j                  t         j                  «      j	                  «       }t        j                  ||«      }t        |«      }t        |t        dz   k(  «       t        |«      }t        ||«      }t        |j                  «        «       |j                  t        |«      «       t        |j                  «       «       y )Nr)   éøSr%   )r<   Úaranger?   r@   rA   rB   rC   rD   r   r   r   r   rr   r*   ©rE   ÚCOMPRESSION_LEVELrG   rH   rR   rQ   rI   s          r   Útest_all_data_read_overlapz.TestZlibInputStream.test_all_data_read_overlapÅ   s¬   € ØÐä�y‰y˜Ó"×)Ñ)¬"¯(©(Ó3×;Ñ;Ó=ˆÜŸ-™-¨Ð.?Ó@ˆÜ! /Ó2Ðô 	Ð#¤z°A¡~Ñ5Ô6ä# OÓ4ÐÜ Ð!2Ð4GÓHˆÜ�F×(Ñ(Ó*Ð*Ô+Ø�‰”C˜“IÔÜ�×$Ñ$Ó&Õ'rK   c                 ó  — d}t        j                  d«      j                  t         j                  «      j	                  «       }t        j                  ||«      }t        |«      }t        |t        dz   k(  «       |d d t        |d   dz   dz  g«      z   }t        |«      }t        ||«      }t        |j                  «        «       |j                  t        |«      «       t        t
        j                   |j                  «       y )Nr)   ru   r%   r2   r&   r]   )r<   rv   r?   r@   rA   rB   rC   rD   r   r   r^   r   r   rr   r*   r5   r_   rw   s          r   Útest_all_data_read_bad_checksumz3TestZlibInputStream.test_all_data_read_bad_checksumÕ   sß   € ØÐä�y‰y˜Ó"×)Ñ)¬"¯(©(Ó3×;Ñ;Ó=ˆÜŸ-™-¨Ð.?Ó@ˆÜ! /Ó2Ðô 	Ð#¤z°A¡~Ñ5Ô6ð +¨3¨BÐ/Ü" _°RÑ%8¸1Ñ%<ÀÑ$CÐ#DÓEñFˆô $ OÓ4ÐÜ Ð!2Ð4GÓHˆÜ�F×(Ñ(Ó*Ð*Ô+Ø�‰”C˜“IÔä”d—j‘j &×"6Ñ"6Õ7rK   N)Ú__name__Ú
__module__Ú__qualname__rJ   r7   rZ   ra   rn   rp   rs   ry   r{   © rK   r   r9   r9   X   s/   „ ò2ò'ò2
/ò:ò0ò<:ò(ò(ó 8rK   r9   )Ú__doc__r   rB   Úior   Útempfiler   Ú
contextlibr   Únumpyr<   Únumpy.testingr   r   Úpytestr   r5   Úscipy.io.matlab._streamsr	   r
   r   r   r   r   r   r"   r0   r7   r9   r   rK   r   ú<module>rˆ      s_   ðñó 
Û å õ Ý %ã ç /Ý *÷*÷ *ð
 ñ
ó ð
ò<ò'ò$8÷4P8ò P8rK   