
    [e
                         d dl Z d dlmZ d dlZd dlmZ d dlmZ ej        d             Z	d Z
d Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd ZdS )    N)MutableMapping)Zip)
utils_testc              #      K   | dz  V  d S )Nztmp.zip )tmp_pathcheck_fd_leakss     3lib/python3.11/site-packages/zict/tests/test_zip.pyfnr   
   s      
Y
    c                 b   t          |           }t          |t                    sJ |rJ t          |          t          |                                          cxk    rg k    sn J t          |                                          g k    sJ t          |                                          g k    sJ d|d<   t          |          t          |                                          cxk    rdgk    sn J t          |                                          dgk    sJ t          |                                          dgk    sJ |d         dk    sJ |                                 t          j	        | d          }|
                    d          dk    sJ d|d<   |d         dk    sJ d S )N   123x)r   r   rmode   456y)r   
isinstancer   listkeysvaluesitemsflushzipfileZipFilereadr   zzzs      r
   test_simpler!      s   BAa(((((LLL77d16688nn**********

r!!!!		??b    AcF77d16688nn----------

x''''		??}o----S6VGGIII	#	&	&	&B773<<6!!!!AcFS6Vr   c                     t          |           }t          j        t                    5  d|d<   d d d            d S # 1 swxY w Y   d S )N{   r   )r   pytestraises	TypeErrorr   r   s     r
   test_setitem_typeerrorr(   &   s    BA	y	!	!  #                 s   <A A c                     t          |           5 }d|d<   d d d            n# 1 swxY w Y   t          j        | d          }|                    d          dk    sJ d S )Nr   r   r   r   )r   r   r   r   r   s      r
   test_contextmanagerr*   ,   s    	R A#               
#	&	&	&B773<<6!!!!!!s   "&&c                     t          |           }t          j        t                    5  |d          d d d            d S # 1 swxY w Y   d S )Nr   )r   r$   r%   KeyErrorr'   s     r
   test_missing_keyr-   4   s    BA	x	 	   	#                 s   	?AAc                 &   t          |           }d|d<   |                                 t          j        | d          }|                    d          dk    sJ t          j        t                    5  d|d<   d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   r   )r   closer   r   r   r$   r%   IOErrorr   s      r
   
test_closer1   ;   s    BAAcFGGIII	#	&	&	&B773<<6!!!!	w		  #                 s   3BB
B
c                     t          d          }t          |           5 }||d<   d d d            n# 1 swxY w Y   t          |           5 }|d         dk    sJ 	 d d d            d S # 1 swxY w Y   d S Nr   r   )	bytearrayr   r   datar   s      r
   test_bytearrayr7   H   s    VD	R A#               
R  Av                                      155A((A,/A,c                     t          d          }t          |           5 }||d<   d d d            n# 1 swxY w Y   t          |           5 }|d         dk    sJ 	 d d d            d S # 1 swxY w Y   d S r3   )
memoryviewr   r5   s      r
   test_memoryviewr;   Q   s    fD	R A#               
R  Av                                   r8   c                 |   t          | t                    sJ t          j        |            d| d<   d| d<   t	          |           dk    sJ | d         dk    sJ t          j        | ddg           d| v sJ d| v sJ d| vsJ t          j        t                    5  | d          d	d	d	           d	S # 1 swxY w Y   d	S )
z_Shorter version of utils_test.check_mapping, as zip supports neither update nor
    delete
    r   abc   12xyz   )r=   r   )r?   r>   defN)	r   r   r   check_empty_mappinglencheck_itemsr$   r%   r,   )r   s    r
   check_mappingrE   Z   s!    a((((("1%%%AeHAeHq66Q;;;;U8v1?@@@A::::A::::>>>>	x	 	   	%                 s   	B11B58B5c                     t          |           5 }t          |           t          j        |           ddd           dS # 1 swxY w Y   dS )z+
    Test mapping interface for Zip().
    N)r   rE   r   check_closingr'   s     r
   test_mappingrH   p   s     
R $Aa ###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s   $AAAc                 |   t          |           5 }d|d<   t          j        t                    5  |d= d d d            n# 1 swxY w Y   t          j        t                    5  d|d<   d d d            n# 1 swxY w Y   t	          |          dk    sJ |d         dk    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr   r   r      )r   r$   r%   NotImplementedErrorrC   r'   s     r
   test_no_delete_updaterL   y   s   	R  A#].// 	 	#	 	 	 	 	 	 	 	 	 	 	 	 	 	 	].// 	 	AcF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	1vv{{{{v                                   sU   B1?B1A	B1A	B1#A5)B15A9	9B1<A9	=&B11B58B5c                     t          |           5 }t          j        |d           t          j        |           d d d            d S # 1 swxY w Y   d S )NF)has_del)r   r   check_bad_key_typescheck_bad_value_typesr'   s     r
   test_bad_typesrQ      s    	R ,A&q%8888(+++, , , , , , , , , , , , , , , , , ,s   +AAA)r   collections.abcr   r$   zictr   
zict.testsr   fixturer   r!   r(   r*   r-   r1   r7   r;   rE   rH   rL   rQ   r   r   r
   <module>rV      s    * * * * * *        ! ! ! ! ! !     .  " " "  
 
 
            ,$ $ $     , , , , ,r   