
    hiV                     X   d dl Z d dlmZ d dlZd"dZ G d de          Z G d de          Z G d	 d
e          Zd Z	d Z
 G d de          Z G d de          Zd Z G d de          Z G d de          Zd Z G d de          Zd Zd Zd Zd ad Zd Zd Zed k    r ej                    5   ej        d!            e	              e              e              e              e              e              e             ddd           dS # 1 swxY w Y   dS dS )#    N)partialFc                    |ri	 t          j        | ||          S # t          $ r Y nw xY wt	          j        d           t          j        | ||          }t	          j        d           |S t          j        | ||          S )NbyrefrecursezCopy of z- with byref=True should have given a warning!ignoreerror)dillcopyAssertionError	Exceptionwarningssimplefilter)objr   r   vals       q/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/dill/tests/test_recursive.pyr   r      s     <	e9Sw???? 	 	 	D	
 	h'''i5':::g&&&
yE7;;;;s    
((c                        e Zd Z fdZ xZS )obj1c                 V    t          t          |                                            d S N)superr   __init__self	__class__s    r   r   zobj1.__init__   %    dD""$$$$$    __name__
__module____qualname__r   __classcell__r   s   @r   r   r      8        % % % % % % % % %r   r   c                        e Zd Z fdZ xZS )obj2c                 V    t          t          |                                            d S r   )r   r&   r   r   s    r   r   zobj2.__init__#   r   r   r   r#   s   @r   r&   r&   "   r$   r   r&   c                       e Zd ZeZd ZdS )obj3c                 j    t                               t           |                                            d S r   )r)   super_r   r   s    r   r   zobj3.__init__(   s(    D$((*****r   N)r   r    r!   r   r+   r    r   r   r)   r)   &   s(        F+ + + + +r   r)   c                     t          t                      d          sJ t          t                      dd          sJ t          t                      d          sJ t          t                                sJ t          t                      d          sJ t          t                      dd          sJ t          t                      d          sJ t          t                                sJ t          t                      d          sJ t          t                      dd          sJ t          t                      d          sJ t          t                                sJ d S NT)r   r   r   )r   r   r&   r)   r-   r   r   
test_superr1   ,   sU   d######dD111111%%%%%%<<d######dD111111%%%%%%<<d######dD111111%%%%%%<<r   c                     d S r   r-   )models    r   get_triggerr4   =   s    Dr   c                       e Zd Zd ZdS )Machinec                     t                      | _        t          t          |           | _        t          t          | j                  | j        _        d S r   )Modelchildr   r4   triggerr,   s    r   r   zMachine.__init__A   s:    WW
{D11$[$*==
r   N)r   r    r!   r   r-   r   r   r6   r6   @   s#        > > > > >r   r6   c                       e Zd ZdS )r8   N)r   r    r!   r-   r   r   r8   r8   F   s        Dr   r8   c                      t          t                      d          sJ t          t                      dd          sJ t          t                      d          sJ t          t                                sJ d S r/   )r   r6   r-   r   r   test_partialr=   K   sw    		&&&&&&		t444444		4((((((		??r   c                       e Zd Zd Zd ZdS )Machine2c                 :    t          | j        |           | _        d S r   )r   membergor,   s    r   r   zMachine2.__init__S   s    $+t,,r   c                     d S r   r-   )r   r3   s     r   rA   zMachine2.memberU   s    r   N)r   r    r!   r   rA   r-   r   r   r?   r?   R   s2        - - -    r   r?   c                        e Zd Z fdZ xZS )
SubMachinec                 V    t          t          |                                            d S r   )r   rE   r   r   s    r   r   zSubMachine.__init__Z   s%    j$((*****r   r   r#   s   @r   rE   rE   Y   s8        + + + + + + + + +r   rE   c                      t          t                      d          sJ t          t                      dd          sJ t          t                      d          sJ t          t                                sJ d S r/   )r   rE   r-   r   r   test_partialsrH   ^   sy    
D))))))
D$777777
d++++++
r   c                        e Zd Z fdZ xZS )obj4c                     t          t          |                                            |  G fddt                                 | _        d S )Nc                   $     e Zd Z fdZ xZS )obj4.__init__.<locals>.obj5c                 Z    t          |                                            | _        d S r   )r   r   a)r   r   rO   obj5s    r   r   z$obj4.__init__.<locals>.obj5.__init__j   s*    dD!!**,,,r   r   )r   rO   rP   s   @r   rP   rM   i   sC                  r   rP   )r   rJ   r   objectb)r   rO   rP   r   s    @@r   r   zobj4.__init__f   sr    dD""$$$	 	 	 	 	 	 	 	6 	 	 	 r   r   r#   s   @r   rJ   rJ   e   s8                r   rJ   c                     t          t                                sJ t          j        t          j        t                                          } t          |           t          |           j        j        d         j        u sJ t          | j	                  t          | j	                  j        j        d         j        u sJ d S )Nr   )
r   rJ   r
   loadsdumpstyper   __closure__cell_contentsrR   )	obj4_copys    r   test_circular_referencerZ   p   s    <<
4:dff--..I	??d9oo6B1ESSSSS	Y[ 1 1 : Fq I WWWWWWWr   c                        fd  S )Nc                       S r   r-   gs   r   r^   zf.<locals>.gx   s    xr   r-   r]   s   @r   fr_   w   s!        Hr   c                  @    t          t                                sJ d S r   )r   r_   r-   r   r   test_function_cellsra   }   s    99r   c                 l    | dk    sJ | dk    r| S t          | dz
            t          | dz
            z   S )Nr         )fib)ns    r   re   re      s<    6666Avv1Q3xx#ac((""r   c                      t          t          d          } t          t                    }t          }b | d          dk    sJ ||fD ],}	  |d           t          d          # t          $ r Y )w xY w|ad S )NTr0      z&Function fib shouldn't have been found)r   re   r   r   )fib2fib3fib4_fibs       r   test_recursive_functionrm      s    T"""D99DD477a<<<<t K K	KDGGG
 !!IJJJ	  	 	 	D	
 CCCs   A%%
A21A2c                       i fd} | d<   | S )Nc                       S r   r-   )ds   r   r^   z(collection_function_recursion.<locals>.g   s    r   r^   r-   )r^   rp   s    @r   collection_function_recursionrq      s/    
A    AcFHr   c                  d    t          t                                }  |             d         | u sJ d S )Nr^   )r   rq   r]   s    r   "test_collection_function_recursionrs      s1    *,,--A133s8q======r   __main__r	   )FF)r
   	functoolsr   r   r   rQ   r   r&   r)   r1   r4   r6   r8   r=   r?   rE   rH   rJ   rZ   r_   ra   re   rm   rq   rs   r   catch_warningsr   r-   r   r   <module>rw      s1          < < < <"% % % % %6 % % %% % % % %6 % % %+ + + + +6 + + +  "	 	 	> > > > >f > > >	 	 	 	 	F 	 	 	
      v   + + + + + + + +
      6   X X X    # # #  $    
 z	 	 	"	" - -g&&&
!!!!!!**,,,- - - - - - - - - - - - - - - - - - s   9ADD!$D!