
    [e                     R    d dl Z d dlZd dlmZ d dlmZ d Zd Zd Zd Z	d Z
d	 ZdS )
    N)locked
SimpleDictc                  T    d G fddt                     }  |             }~sJ d S )NFc                       e Zd Z fdZdS )test_close_on_del.<locals>.Dc                     dd S NT selfcloseds    6lib/python3.11/site-packages/zict/tests/test_common.pyclosez"test_close_on_del.<locals>.D.close       FFF    N__name__
__module____qualname__r   r   s   r   Dr      .        	 	 	 	 	 	 	r   r   r   )r   dr   s     @r   test_close_on_delr   	   sY    F      J   
 	
A	MMMMMr   c                      d G fddt                     }  |             }|5 }||u sJ 	 d d d            n# 1 swxY w Y   sJ d S )NFc                       e Zd Z fdZdS )test_context.<locals>.Dc                     dd S r
   r   r   s    r   r   ztest_context.<locals>.D.close   r   r   Nr   r   s   r   r   r      r   r   r   r   )r   r   d2r   s      @r   test_contextr!      s    F      J   
 	
A	
 bQwwwww              MMMMMs   9= =c                  *   g  G fddt                     }  |             }|                    ddi           t                    dgk    sJ |                    t          dg                     t                    dgk    sJ |                    ddid	           t                    d
dgk    sJ |                    d           t                    dgk    sJ |                    dd           t                    ddgk    sJ d S )Nc                       e Zd Z fdZdS )test_update.<locals>.Dc                     |d S Nr   )r   items_itemss     r   
_do_updatez!test_update.<locals>.D._do_update(   s    EEEr   N)r   r   r   r)   )r(   s   r   r   r$   '   s.        	 	 	 	 	 	 	r   r   x   )r*   r+   )r*            )y)r*   r-   )r/   r.      )r*   )r*   r0   r,   )r   other)r   r+   )r1   r,   )r   updatelistiter)r   r   r(   s     @r   test_updater5   $   sG   E      J   
 	
AHHc1X;;8*$$$$HHT8*;;8*$$$$HHc1XH;;8X.....HHqHMMM;;8*$$$$ HH!1H;;;5555555r   c                       G d dt                     }  |             }d|d<   d|d<   |                    d           |                    d           |j        ddik    sJ d S )Nc                       e Zd Zd ZdS )test_discard.<locals>.Dc                     t                      r&   )AssertionError)r   keys     r   __getitem__z#test_discard.<locals>.D.__getitem__=   s     """r   N)r   r   r   r<   r   r   r   r   r8   <   s#        	# 	# 	# 	# 	#r   r   r+   r*   r,   zr/   )r   discarddata)r   r   s     r   test_discardr@   ;   s    # # # # #J # # # 	
AAcFAcFIIcNNNIIcNNN6c1Xr   c                      t                      } d| d<   t          j        t          j        |                     }|j        ddik    sJ d S )Nr+   r*   )r   pickleloadsdumpsr?   )r   r    s     r   test_picklerE   H   sH    AAcF	fl1oo	&	&B7sAhr   c                 n     G d dt                      G  fddt                    } |            }  |          rJ |                    d             |          rJ t          j                  5  |                    d           d d d            n# 1 swxY w Y     |          rJ d S )Nc                       e Zd ZdS )test_lock.<locals>.CustomErrorN)r   r   r   r   r   r   CustomErrorrH   P   s        r   rI   c                   ,    e Zd Ze fd            ZdS )test_lock.<locals>.Dc                     |           sJ |                                  5   |           rJ 	 d d d            n# 1 swxY w Y    |           sJ t          j                  5  |                                  5               # 1 swxY w Y   	 d d d            n# 1 swxY w Y    |           sJ |r
             d S r&   )unlockpytestraises)r   crashrI   	is_lockeds     r   fztest_lock.<locals>.D.fT   s   9T??""" + +$9T??****+ + + + + + + + + + + + + + +9T??""" {++ ( ([[]] ( (%+--'( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 9T??""" $!kmm#$ $s?   >AA*B"?B

B	B"B	B""B&)B&N)r   r   r   r   rR   )rI   rQ   s   r   r   rK   S   s=        		$ 	$ 	$ 	$ 	$ 
	$ 	$ 	$r   r   F)rP   T)	Exceptionr   rR   rN   rO   )rQ   r   r   rI   s   `  @r   	test_lockrT   O   sB       i   $ $ $ $ $ $ $ $J $ $ $" 	
Ay||CCeCy|| 
{	#	#  	$              y||s   :BB!$B!)rB   rN   zict.commonr   zict.tests.utils_testr   r   r!   r5   r@   rE   rT   r   r   r   <module>rW      s            , , , , , ,
 
 
  6 6 6.
 
 
      r   