
    hi                        d dl mZmZmZmZ d dl mZ d dlmZ d dlZdZ	d Z
d Zd Z G d	 d
e          Z e            Zd Zd Z G d d          Z e            Zd Zd Zd Zd Zd Zd Zd Zd Zd Zedk    r\ e              e              e              e              e              e              e              e              e             dS dS )    )	getsourcegetname_wrap	getimport)
importable)IS_PYPYNi 
c                     | dz  S N    xs    n/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/dill/tests/test_source.py<lambda>r      s
    ad     c                 &    t          |           | z
  S N)fr   s    r   gr      s    1/r   c                 $    d } ||           | z
  S )Nc                     | S r   r   r   s    r   r   zh.<locals>.g   s    1Hr   r   )r   r   s     r   hr      s    	
1/r   c                       e Zd Zd ZdS )Fooc                     ||z  |z   S r   r   )selfr   s     r   barzFoo.bar   s    Q3q5Lr   N)__name__
__module____qualname__r   r   r   r   r   r      s#            r   r   c                     | |z   S r   r   )r   ys     r   addr#      s    	
1*r   c                     | dz  S r
   r   r   s    r   r   r       s
    1a4 r   c                       e Zd ZdS )BarN)r   r   r    r   r   r   r&   r&   "   s        $r   r&   c                     t          t                    dk    sJ t          t                    dk    sJ t          t                    dk    sJ t	          t                    dk    sJ t	          t                    dk    sJ t	          t                    dk    sJ  t          t                    d          dk    sJ  t          t                    d          d	k    sJ  t          t                    d          d
k    sJ t	          t                    dk    sJ t	          t                    dk    sJ t          t                    dk    sJ t          t                    dk    sJ d S )Nzf = lambda x: x**2
zdef g(x): return f(x) - x
z1def h(x):
  def g(x): return x
  return g(x) - x
r   r   r            r   r   r&   class Bar:
  pass
8class Foo(object):
  def bar(self, x):
    return x*x+x
)r   r   r   r   r   r   r   r&   r   r   r   test_getsourcer-   '   sP   	1/	/	/	/	/	16	6	6	6	6	1O	O	O	O	O	s					s					s					q!					q!					q!															31	1	1	1	1	3X	X	X	X	X	X	Xr   c                  :    t          t                     dk    sJ d S )Nz"from dill.source import getimport
)r   r   r   r   test_itselfr/   9   s"    	9		D	D	D	D	D	D	Dr   c                  z   t          t                    dk    sJ t          d          dk    sJ t          d          dk    sJ t          t          d          dk    sJ t          dd          dk    sJ t          dd          dk    sJ t          d           dk    sJ t          d d          dk    sJ d S )	Nzpow
d   100
TzTrue
)builtinzfrom builtins import pow
None
)r   powr   r   r   test_builtinr6   =   s    	37	"	"	"	"	37	"	"	"	"	4H	$	$	$	$	3	%	%	%)E	E	E	E	E	3	%	%	%	0	0	0	0	4	&	&	&(	2	2	2	2	4H	$	$	$	$	4	&	&	&(	2	2	2	2	2	2r   c                  <    ddl m}  t          |           dk    sJ d S )Nr   sinzfrom math import sin
)mathr9   r   r8   s    r   test_importedr;   J   s2    	33	3	3	3	3	3	3r   c                      t          t                    dt          z  k    sJ t          t                    dt          z  k    sJ d S )Nfrom %s import add
from %s import squared
)r   r#   r   squaredr   r   r   test_dynamicr@   O   sD    	31H<	<	<	<	<	7		9HD	D	D	D	D	D	Dr   c                  F   ddl m}  d}t          st          j        t
          k    r|nd} |             }t          |           |k    sJ t          |          |k    sJ t          t                    dt          z  k    sJ t          t                    dt          z  k    sJ d S )Nr   )BytesIOzfrom _io import BytesIO
zfrom io import BytesIO
from %s import Foo
)
iorB   r   sys
hexversionPY310br   r   r   _foo)StringIOr"   r   ss       r   test_classesrK   U   s    $$$$$$!!Ps~//aa6P!hjj!	8			!	!	!	!	1					31H<	<	<	<	<	42X=	=	=	=	=	=	=r   c                  "   t          t          d          dt          z  k    sJ t          t          d          dt          z  k    sJ t          t          d          dt          z  k    sJ t          t          j        d          dt          z  k    sJ t          t          j        d          dt          z  k    sJ t          d d          dk    sJ t          dd          d	k    sJ t          t          d
          dk    sJ t          t          d
          dk    sJ t          d d
          dk    sJ t          t          d
          dk    sJ t          t          d
          dk    sJ t          t          j        d
          dk    sJ t          t          j        d          dt          z  k    sJ t          t          j        dd          dt          z  k    sJ t          t          dd          dt          z  k    sJ t          t          dd          dt          z  k    sJ t          t          dd
          dk    sJ t          t          dd
          dk    sJ t          d dd
          dk    sJ t          ddd
          dk    sJ t          t          d
d          dt          z  k    sJ t          t          d
d          dt          z  k    sJ t          t          d
d          dt          z  k    sJ t          t          j        d
d          dt          z  k    sJ t          t          j        d
d          dt          z  k    sJ t          d d
d          dk    sJ t          dd
d          d	k    sJ d S )NFsourcer=   r>   rC   zfrom %s import bar
r4   r1   r2   Tzdef add(x,y):
  return x+y
zsquared = lambda x:x**2
r+   r,   z!def bar(self, x):
  return x*x+x
memo)aliasrN   zfrom %s import bar as memo
zfrom %s import Foo as memo
zfrom %s import squared as memo
zmemo = squared = lambda x:x**2
z'def add(x,y):
  return x+y

memo = add
zmemo = None
zmemo = 100
)r3   rN   )r   r#   r   r?   r   r   rH   r&   r   r   r   test_importablerQ   c   s   	C	&	&	&*@8*K	K	K	K	K	GE	*	*	*.H8.S	S	S	S	S	C	&	&	&*@8*K	K	K	K	K	CGE	*	*	*.Dx.O	O	O	O	O	DHU	+	+	+/E/P	P	P	P	P	D	'	'	'8	3	3	3	3	C	&	&	&'	1	1	1	1	C	%	%	%)H	H	H	H	H	GD	)	)	)-H	H	H	H	H	D	&	&	&(	2	2	2	2	C	%	%	%)?	?	?	?	?	C	%	%	%)f	f	f	f	f	CGD	)	)	)-R	R	R	R	R	CGE	*	*	*.Dx.O	O	O	O	O	CG6%	8	8	8<Z]e<e	e	e	e	e	Cve	4	4	48VYa8a	a	a	a	a	G6%	8	8	8<^ai<i	i	i	i	i	G6$	7	7	7;]	]	]	]	]	Cvd	3	3	37d	d	d	d	d	Dt	4	4	4	G	G	G	G	Cvd	3	3	3~	E	E	E	E	Ce	4	4	48NQY8Y	Y	Y	Y	Y	GT%	8	8	8<VYa<a	a	a	a	a	Ce	4	4	48NQY8Y	Y	Y	Y	Y	CGT%	8	8	8<RU]<]	]	]	]	]	DHd5	9	9	9=SV^=^	^	^	^	^	D$u	5	5	5	A	A	A	A	Ce	4	4	4	?	?	?	?	?	?r   c                  p   	 dd l } | j        } |g d          }t          |d          dk    sJ t          |d          d|j        z  k    sJ t          |d          dk    sJ t          |d          d|j        z  k    sJ | j        } |d          }t          |d          dk    sJ t          |d          d	|j        z  k    sJ t          |d          dk    sJ t          |d          d	|j        z  k    sJ | j        } |d          }dd l}|                                5  |                    d
t                     |                    d
t                     t          | d          r| j        t          u rdnd}nd}d d d            n# 1 swxY w Y   t          |d          d|d|dk    sJ t          |d          d|j        d|dk    sJ t          |d          d|d|dk    sJ t          |d          d|j        d|dk    sJ d S # t          $ r Y d S w xY w)Nr   )   r      FrM   z)from numpy import array
array([1, 2, 3])
zfrom %s import array
Tz!from numpy import int64
int64(0)
zfrom %s import int64
ignore)categoryboolbool_zfrom numpy import 
z(False)
zfrom z import )numpyarrayr   r   int64rX   warningscatch_warningsfilterwarningsFutureWarningDeprecationWarninghasattrrW   ImportError)npr"   r   r]   bs        r   
test_numpyrf      s!   
A	'''

Aa&&&*WWWWWa&&&*BQ\*QQQQQa%%%)VVVVVa%%%)AAL)PPPPP
A	!Aa&&&*OOOOOa&&&*BQ\*QQQQQa%%%)NNNNNa%%%)AAL)PPPPP
A	!AOOO		 	 	"	"  =AAA3EFFF2v 	rw$GGFa	              
 a&&&&QRQRQRSTSTST*UUUUUa&&&&1<<<PQPQPQ*RRRRRa%%%%PQPQPQRSRSRS)TTTTTa%%%%!,,,qqq)QQQQQQQ	ddds8   D,H' .AFH' FH' F BH' '
H54H5c                  \    t          t          d                              d          sJ d S )NTrM   zOimport dill
class Foo(object):
  def bar(self, x):
    return x*x+x
dill.loads()r   rH   
startswithr   r   r   test_foori      sH    	D	&	&	&	1	1  3H  
I  
I  I  I  I  I  Ir   __main__)dill.sourcer   r   r   r   r   
dill._dillr   rE   rG   r   r   r   objectr   rH   r#   r?   r&   _barr-   r/   r6   r;   r@   rK   rQ   rf   ri   r   r   r   r   <module>ro      s   = < < < < < < < < < < < " " " " " "       



	N         &    suu   -       
suuY Y Y$E E E	3 	3 	34 4 4
E E E
> 
> 
>@ @ @@  <I I I zNKMMMLNNNMOOOLNNNLNNNOJLLLHJJJJJ r   