U
    -eJ                     @   s   d Z ddlZddlZddlZdejd< dd ZG dd deZG d	d
 d
Z	G dd deZ
G dd dZdZdZdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zed!kre  e  e  e  e  e  e  e  dS )"z0
test dill's ability to handle nested functions
    NTrecursec                    s   dg fdd}|S )Nr   c                    s   |   d  S Nr    )addendaugendzeror   W/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/dill/tests/test_nested.pyinner   s    zadder.<locals>.innerr   )r   r
   r   r   r	   adder   s    r   c                   @   s   e Zd Zdd Zdd ZdS )cadderc                 C   s   || _ dg| _d S r   r   selfr   r   r   r	   __init__   s    zcadder.__init__c                 C   s   || j  | jd  S r   r   r   r   r   r   r	   __call__"   s    zcadder.__call__N__name__
__module____qualname__r   r   r   r   r   r	   r      s   r   c                   @   s   e Zd Zdd Zdd ZdS )c2adderc                 C   s   || _ dg| _d S r   r   r   r   r   r	   r   (   s    zc2adder.__init__c                 C   s   || j  | jd  S r   r   r   r   r   r	   r   ,   s    zc2adder.__call__Nr   r   r   r   r	   r   '   s   r   c                   @   s   e Zd ZdS )basicNr   r   r   r   r   r   r	   r   1   s   r   c                   @   s   e Zd ZdS )basic2Nr   r   r   r   r	   r   5   s   r         c                  C   sn   dddg} t | }t t}t t}t |}t |}t |}tttj| t||j|ksjtd S )Nr   r      )pickledumpsmathmaploadslistsinAssertionError)apaZpmathZpmapZlaZlmathZlmapr   r   r	   
test_basic=   s    






r'   c                  C   s0   t t} t |  }t t}t | }d S N)r   r   r   r!   r   )Zpbasic2Z_pbasic2ZpbasicZ_pbasicr   r   r	   test_basic_classI   s    

r)   c                  C   s0   t t} t | t}|ttt ks,td S r(   )r   r   r   r!   xyr$   )Zpc2adderZpc2add5r   r   r	   test_c2adderP   s    
r,   c                  C   s0   t t} t | t}|ttt ks,td S r(   )r   r   r   r!   r*   r+   r$   )ZpcadderZpcadd5r   r   r	   test_pickled_cadderV   s    
r-   c                  C   s    t t} | ttt kstd S r(   )r   r*   r+   r$   )add5r   r   r	   test_raw_adder_and_inner\   s    r/   c                  C   s0   t t} t | t}|ttt ks,td S r(   )r   r   r   r!   r*   r+   r$   )ZpadderZpadd5r   r   r	   test_pickled_addera   s    
r0   c                  C   s4   t t} t| }t|}|ttt ks0td S r(   )r   r*   r   r   r!   r+   r$   )r.   ZpinnerZp5addr   r   r	   test_pickled_innerg   s    

r1   c                  C   s   zddl m}  W n tk
r,   dd l} Y nX d}tj|r\tj|d r\t|d  tj|rt| drtj| jrtt	| d tjdrt
dstd d S )Nr   )test_moduledictr   ztest_moduledict.pyc
__cached____pycache__) r2   ImportErrorospathexistsremovehasattrr4   getattrlistdir
removedirs)r2   namer   r   r	   test_moduledict_where_not_mainn   s    rA   __main__)__doc__r8   r   Zdillr   settingsr   objectr   r   r   r   r*   r+   r'   r)   r,   r-   r/   r0   r1   rA   r   r   r   r   r	   <module>   s8   
	

