o
    ~]}                     @   s   d dl Z d dlmZ d dlmZmZ eZG dd deZ	G dd deZ
G dd	 d	eZd
d Zdd ZG dd deZG dd deZdd ZG dd deZG dd deZdd Zedkrke  e  e  dS dS )    N)partial)PY3OLDERc                       s   e Zd Z fddZ  ZS )obj1c                       t t|   d S N)superr   __init__self	__class__ R/var/www/Datamplify/venv/lib/python3.10/site-packages/dill/tests/test_recursive.pyr	         zobj1.__init__)__name__
__module____qualname__r	   __classcell__r   r   r   r   r      s    r   c                   @      e Zd Zdd ZdS )obj2c                 C   r   r   )_superr   r	   r
   r   r   r   r	      r   zobj2.__init__Nr   r   r   r	   r   r   r   r   r   
       r   c                   @   s   e Zd ZeZdd ZdS )obj3c                 C   s   t t |   d S r   )r   super_r	   r
   r   r   r   r	      s   zobj3.__init__N)r   r   r   r   r   r	   r   r   r   r   r      s    r   c                   C   s   t jt dds
J t jt dddsJ t t sJ t jt dds'J t jt ddds2J t t s:J t jt ddsDJ t jt dddsOJ t t sWJ d S NTbyrefr   recurse)dillcopyr   r   r   r   r   r   r   
test_super   s   r#   c                 C      d S r   r   )modelr   r   r   get_trigger%      r&   c                   @   r   )Machinec                 C   s(   t  | _tt| | _tt| j| j_d S r   )Modelchildr   r&   triggerr
   r   r   r   r	   )   s   zMachine.__init__Nr   r   r   r   r   r(   (   r   r(   c                   @   s   e Zd ZdS )r)   N)r   r   r   r   r   r   r   r)   .   s    r)   c                   C   sV   t jt dds
J t jt dddsJ ts!t jt dds!J t t s)J d S )NTr   r   )r    )r!   r"   r(   r   r   r   r   r   test_partial3   s
   r,   c                   @   s   e Zd Zdd Zdd ZdS )Machine2c                 C   s   t | j| | _d S r   )r   membergor
   r   r   r   r	   <   r   zMachine2.__init__c                 C   r$   r   r   )r   r%   r   r   r   r.   >   r'   zMachine2.memberN)r   r   r   r	   r.   r   r   r   r   r-   ;   s    r-   c                   @   r   )
SubMachinec                 C   r   r   )r   r0   r	   r
   r   r   r   r	   C   r   zSubMachine.__init__Nr   r   r   r   r   r0   B   r   r0   c                   C   s>   t jt dds
J t jt dddsJ t t sJ d S r   )r!   r"   r0   r   r   r   r   test_partialsH   s   r1   __main__)r!   	functoolsr   
dill._dillr   r   r   r   objectr   r   r   r#   r&   r(   r)   r,   r-   r0   r1   r   r   r   r   r   <module>   s(    	
