o
    NZh                     @   s   d Z ddlZdejd< ddlmZmZmZ eddd G dd	 d	Zi Zd
d  ed< Z	e j
 ed< Z
ej
ed< ee dddZdddZedkr\ddlZed edd dS dS )z
demonstrate dill's ability to pickle different python types
test pickling of all Python Standard Library objects (currently: CH 1-14 @ 2.7)
    NTrecurse)
load_typesobjectsextendF)Z
pickleableZunpickleablec                   @   s   e Zd Zdd ZdS )_classc                 C   s   d S N )selfr   r   N/var/www/html/lang_env/lib/python3.10/site-packages/dill/tests/test_objects.py_method   s   z_class._methodN)__name__
__module____qualname__r   r   r   r   r
   r      s    r   c                    s    fddS )Nc                    s    S r   r   )yxr   r
   <lambda>!   s    z<lambda>.<locals>.<lambda>r   r   r   r   r
   r   !   s    r   
LambdaType
MethodTypeZUnboundMethodTypec                 C   s   t |  }zGtt|}|r?z
||ksJ W W dS  ty>   t|t|ks*J |r:td| t|f  Y W dS Y W dS w t|t|ksIJ W dS  tyd   |ratd| t|f  Y dS Y dS w )z'quick check if object pickles with dillzweak: %s %szfails: %s %sN)r   pickleloadsdumpsAssertionErrortypeprint	Exception)nameexactverboseobjZpikr   r   r
   pickles&   s   ($r    c                 C   s    t  D ]	}t|d| d qd S )NF)r   r   )r   keysr    )r   memberr   r   r
   test_objects7   s   r#   __main__ignore)r   )FT)T)__doc__Zdillr   settingsr   r   r   r   ZspecialZ_lambdar   updater    r#   r   warningssimplefilterr   r   r   r
   <module>   s$   





