o
    
i0                     @   st   d dl Z d dlZd dlmZmZ d dlmZ d dlmZ dd Zdd Z	d	d
 Z
dd Zdd Zdd Zdd ZdS )    N)Unpacker
BufferFull)pack)	OutOfDatac                  C   sh  t  } | d tt tt|  W d    n1 sw   Y  | d tt tt|  W d    n1 s>w   Y  | d tt tt|  W d    n1 s^w   Y  | d tt tt|  W d    n1 s~w   Y  | d tt tt|  W d    n1 sw   Y  | d tt| dksJ d S )N      h   a   l   os   hallo)r   feedpytestraisesStopIterationnextiterunpacker r   V/home/ubuntu/.local/lib/python3.10/site-packages/srsly/tests/msgpack/test_sequnpack.pytest_partialdata   s.   





r   c                  C   s  t ddd} | d |  tdksJ |  tdksJ |  tdks)J |  tdks3J |  tdks=J |  td	ksGJ tt |   W d    n1 s[w   Y  | d
 | d d}t| dD ]\}}|t|ks}J |d7 }qq|tdksJ d S )N      	read_sizeuse_list   foobar   fr
      br      rs   foos   barr   	foobarbaz)	r   r   unpackordr   r   r   ziplen)r   koer   r   r   test_foobar   s$   




r'   c                  C   s   t ddd} | d |  tdksJ |   |  tdks#J |   |  tdks1J |   tt |   W d    d S 1 sJw   Y  d S )Nr   r   r   r   r   r
   r   )r   r   r    r!   skipr   r   r   r   r   r   r   test_foobar_skip3   s   

"r)   c                  C   s   t t tddd W d    n1 sw   Y  tdddd} | d t t | d W d    n1 s<w   Y  | d td	t| ksPJ | d
 tdt| ks_J tdt| ksiJ tdt| kssJ d S )N   r   )r   max_buffer_sizer   )r   r+   r   s   fos   obr
   fr   r%   b)r   r   
ValueErrorr   r   r   r!   r   r   r   r   r   test_maxbuffersize@   s   


r/   c                  C   s   t dd} | d |  tdksJ | ddksJ |  tdks'J |  tdks1J t tddd} |  tdksDJ | ddksMJ |  tdksWJ |  tdksaJ d S )Nr   )r   r   r   s   oobr   r   )r   r   r    r!   
read_bytesioBytesIOr   r   r   r   test_readbytesO   s   

r3   c                  C   s   t  } | d t| dksJ t| dksJ | d t| dks%J t| dks-J | d t| dks:J t| dksBJ d S )Ns   ?!)   ?   !r   s   ?)r4   r5   )r5   )r   r   tupler   r   r   r   test_issue124_   s   


r7   c                  C   s   t  } dd tdD }|dd tddD 7 }|ddd ttd	d
d tdD dd tdD g7 }g }|D ]}t||  ||   q:| d t| }t	||D ]\}}t
|}||kseJ || ksmJ qWd S )Nc                 S   s   g | ]}d | d qS )   r   r   .0ir   r   r   
<listcomp>n   s    z$test_unpack_tell.<locals>.<listcomp>A   c                 S   s   g | ]}d |  qS )r8   r   r9   r   r   r   r<   o   s    r   @   s   helloi     c                 S      i | ]	}|t || qS r   bytesr9   r   r   r   
<dictcomp>t       z$test_unpack_tell.<locals>.<dictcomp>
   c                 S   r@   r   rA   r9   r   r   r   rC   u   rD       r   )r1   r2   rangelistr   appendtellseekr   r"   r   )streammessagesoffsetsmr   r%   m2r   r   r   test_unpack_telll   s*   


rQ   )r1   r   srsly.msgpackr   r   r   srsly.msgpack.exceptionsr   r   r'   r)   r/   r3   r7   rQ   r   r   r   r   <module>   s    