U
    -e*                     @   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 ZedkrddlZed e  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   X/var/www/html/Darija-Ai-Train/env/lib/python3.8/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>!       z<lambda>.<locals>.<lambda>r   r   r   r   r
   r   !   r   r   
LambdaType
MethodTypeZUnboundMethodTypec                 C   s   t |  }z|tt|}|rnz||ks,tW q tk
rj   t|t|ksRttd| t|f  Y qX nt|t|kstW n( tk
r   td| t|f  Y nX dS )z'quick check if object pickles with dillzweak: %s %szfails: %s %sN)r   pickleloadsdumpsAssertionErrortypeprint	Exception)nameexactobjZpikr   r   r
   pickles&   s    r    c                  C   s   t  D ]} t| dd qd S )NF)r   )r   keysr    )memberr   r   r
   test_objects7   s    r#   __main__ignore)F)__doc__Zdillr   settingsr   r   r   r   specialZ_lambdar   updater    r#   r   warningssimplefilterr   r   r   r
   <module>   s    




