
    h0                     f    S SK r S SKrS SKJrJr  S SKJr  S SKJr  S rS r	S r
S rS	 rS
 rS rg)    N)Unpacker
BufferFull)pack)	OutOfDatac                     [        5       n U R                  S5        [        R                  " [        5         [        [        U 5      5        S S S 5        U R                  S5        [        R                  " [        5         [        [        U 5      5        S S S 5        U R                  S5        [        R                  " [        5         [        [        U 5      5        S S S 5        U R                  S5        [        R                  " [        5         [        [        U 5      5        S S S 5        U R                  S5        [        R                  " [        5         [        [        U 5      5        S S S 5        U R                  S5        [        [        U 5      5      S:X  d   eg ! , (       d  f       GN[= f! , (       d  f       GN%= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f)N      h   a   l   os   hallo)r   feedpytestraisesStopIterationnextiterunpackers    \/home/james-whalen/.local/lib/python3.13/site-packages/srsly/tests/msgpack/test_sequnpack.pytest_partialdatar      s&   zHMM'	}	%T(^ 
&MM$	}	%T(^ 
&MM$	}	%T(^ 
&MM$	}	%T(^ 
&MM$	}	%T(^ 
&MM$X8+++ 
&	% 
&	% 
&	% 
&	% 
&	%s;   F>F1GGG%
F.1
G 
G
G"%
G3c                     [        SSS9n U R                  S5        U R                  5       [        S5      :X  d   eU R                  5       [        S5      :X  d   eU R                  5       [        S5      :X  d   eU R                  5       [        S5      :X  d   eU R                  5       [        S5      :X  d   eU R                  5       [        S	5      :X  d   e[        R
                  " [        5         U R                  5         S S S 5        U R                  S
5        U R                  S5        Sn[        U S5       H  u  p#U[        U5      :X  d   eUS-  nM     U[        S5      :X  d   eg ! , (       d  f       No= f)N      	read_sizeuse_list   foobar   fr      br
      rs   foos   barr   	foobarbaz)	r   r   unpackordr   r   r   ziplen)r   koes       r   test_foobarr)      s3   !a0HMM)??D	)))??D	)))??D	)))??D	)))??D	)))??D	)))	y	! 
" MM&MM&	AHk*CF{{	Q + I 
"	!s   0E**
E8c                     [        SSS9n U R                  S5        U R                  5       [        S5      :X  d   eU R	                  5         U R                  5       [        S5      :X  d   eU R	                  5         U R                  5       [        S5      :X  d   eU R	                  5         [
        R                  " [        5         U R                  5         S S S 5        g ! , (       d  f       g = f)Nr   r   r   r   r   r   r
   )r   r   r"   r#   skipr   r   r   r   s    r   test_foobar_skipr,   3   s    !a0HMM)??D	)))MMO??D	)))MMO??D	)))MMO	y	! 
"	!	!s   C
C+c                  V   [         R                  " [        5         [        SSS9  S S S 5        [        SSSS9n U R	                  S5        [         R                  " [
        5         U R	                  S5        S S S 5        U R	                  S5        [        S	5      [        U 5      :X  d   eU R	                  S
5        [        S5      [        U 5      :X  d   e[        S5      [        U 5      :X  d   e[        S5      [        U 5      :X  d   eg ! , (       d  f       N= f! , (       d  f       N= f)N   r   )r   max_buffer_sizer   )r   r/   r   s   fos   obr   fr   r'   b)r   r   
ValueErrorr   r   r   r#   r   r   s    r   test_maxbuffersizer3   @   s    	z	"1a0 
#!QCHMM%	z	"e 
#MM$s8tH~%%%MM$s8tH~%%%s8tH~%%%s8tH~%%% 
#	" 
#	"s   D	$D	
D
D(c                  D   [        SS9n U R                  S5        U R                  5       [        S5      :X  d   eU R	                  S5      S:X  d   eU R                  5       [        S5      :X  d   eU R                  5       [        S5      :X  d   e[        [
        R                  " S5      SS9n U R                  5       [        S5      :X  d   eU R	                  S5      S:X  d   eU R                  5       [        S5      :X  d   eU R                  5       [        S5      :X  d   eg )Nr   )r   r   r   s   oobr
   r    )r   r   r"   r#   
read_bytesioBytesIOr   s    r   test_readbytesr8   O   s    !$HMM)??D	)))q!V+++??D	)))??D	))) 

9-;H??D	)))q!V+++??D	)))??D	)))    c                  J   [        5       n U R                  S5        [        U 5      S:X  d   e[        U 5      S:X  d   eU R                  S5        [        U 5      S:X  d   e[        U 5      S:X  d   eU R                  S5        [        U 5      S:X  d   e[        U 5      S:X  d   eg )Ns   ?!)   ?   ! s   ?)r;   r<   )r<   )r   r   tupler   s    r   test_issue124r?   _   s    zHMM- ?l***?b   MM,?g%%%?b   MM$?g%%%?b   r9   c                     [         R                  " 5       n [        S5       Vs/ s H  nSU-  S-
  PM     nnU[        SS5       Vs/ s H	  nSU-  * PM     sn-  nUSSS-  [        [        S5      5      [        S5       Vs0 s H  o[	        U5      U-  _M     sn[        S	5       Vs0 s H  o[	        U5      U-  _M     sn/-  n/ nU H-  n[        X@5        UR                  U R                  5       5        M/     U R                  S
5        [        U 5      n[        X#5       H,  u  pF[        U5      nXG:X  d   eXeR                  5       :X  a  M,   e   g s  snf s  snf s  snf s  snf )NA      r   @   s   helloi     
       r   )r6   r7   rangelistbytesr   appendtellseekr   r$   r   )streamimessagesoffsetsmr   r'   m2s           r   test_unpack_tellrS   l   s<   ZZ\F$)"I.IqQ
IH.E!RL1Lq16L11H4U2Y"'),)QE!HqL),"'),)QE!HqL), H GQv{{}%  KKNHH&(^wwMMO### ' /1
 	-,s   EEE(E")r6   r   srsly.msgpackr   r   r   srsly.msgpack.exceptionsr   r   r)   r,   r3   r8   r?   rS   r=   r9   r   <module>rV      s7    	  .  .,*,
&* 
!$r9   