o
    ~]>                     @   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rwe  e  e  e  e  e  e  e  dS 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   O/var/www/Datamplify/venv/lib/python3.10/site-packages/dill/tests/test_nested.pyinner   s   zadder.<locals>.innerr   )r   r
   r   r   r	   adder   s   r   c                   @      e Zd Zdd Zdd ZdS )cadderc                 C      || _ dg| _d S r   r   selfr   r   r   r	   __init__      zcadder.__init__c                 C      || j  | jd  S r   r   r   r   r   r   r	   __call__"      zcadder.__call__N__name__
__module____qualname__r   r   r   r   r   r	   r          r   c                   @   r   )c2adderc                 C   r   r   r   r   r   r   r	   r   (   r   zc2adder.__init__c                 C   r   r   r   r   r   r   r	   r   ,   r   zc2adder.__call__Nr   r   r   r   r	   r   '   r   r   c                   @      e Zd ZdS )basicNr   r   r   r   r   r   r	   r   1       r   c                   @   r   )basic2Nr   r   r   r   r	   r!   5   r    r!         c                  C   sl   g d} t | }t t}t t}t |}t |}t |}tttj| t||j|ks4J d S )N)r   r#      )pickledumpsmathmaploadslistsin)apapmathpmaplalmathlmapr   r   r	   
test_basic=   s   





(r3   c                  C   s0   t t} t |  }t t}t | }d S N)r%   r&   r!   r)   r   )pbasic2_pbasic2pbasic_pbasicr   r   r	   test_basic_classI   s   

r9   c                  C   0   t t} t | t}|ttt ksJ d S r4   )r%   r&   r   r)   xy)pc2adderpc2add5r   r   r	   test_c2adderP      
r?   c                  C   r:   r4   )r%   r&   r   r)   r;   r<   )pcadderpcadd5r   r   r	   test_pickled_cadderV   r@   rC   c                  C   s    t t} | ttt ksJ d S r4   )r   r;   r<   )add5r   r   r	   test_raw_adder_and_inner\   s   rE   c                  C   r:   r4   )r%   r&   r   r)   r;   r<   )padderpadd5r   r   r	   test_pickled_addera   r@   rH   c                  C   s4   t t} t| }t|}|ttt ksJ d S r4   )r   r;   r%   r&   r)   r<   )rD   pinnerp5addr   r   r	   test_pickled_innerg   s   

rK   c                  C   s   zddl m}  W n   dd l} Y d}tj|r(tj|d r(t|d  tj|rBt| drBtj| jrBtt| d tjdrTt	dsVt
d d S d S d S )Nr#   )test_moduledictr   ztest_moduledict.pyc
__cached____pycache__) rL   ospathexistsremovehasattrrN   getattrlistdir
removedirs)rL   namer   r   r	   test_moduledict_where_not_mainn   s   
rZ   __main__)__doc__rQ   r'   dillr%   settingsr   objectr   r   r   r!   r;   r<   r3   r9   r?   rC   rE   rH   rK   rZ   r   r   r   r   r	   <module>   s<   
	


