
    h!                        S SK r S SKJr  S SKrS\ R                  S'    " S S5      r " S S5      r " S	 S
\5      r " S S\5      r	 " S S\
5      rS rS r\" S\4\\S.5      rCC\" 5       r\" 5       r\" 5       r\	" 5       r\" 5       r\R(                  S:  a  S SKr " S S\R,                  \   5      rO " S S\\   5      rS rS rS rS SKJr  \" SSS/5      r\" S S5      r \" SSS/5      r!S \!l"        S \!l#        \!" S S5      r$\" S!SS/5      r%\%" S S5      r&\" S"S#S$/S/S%9r'\'" S&5      r(S' r)S( r*S) r+S* r,S+ r- " S, S\5      r.S-r/\." \/5      r0 " S. S/\5      r1S0 r2S1 r3S2 r4S3 r5S4 r6S5 r7\"S6:X  a\  \" 5         \" 5         \" 5         \)" 5         \*" 5         \+" 5         \," 5         \-" 5         \2" 5         \3" 5         \5" 5         \6" 5         \7" 5         gg)7    N)EnumMetaTrecursec                        \ rS rSrS rS rSrg)_class   c                     g N selfs    R/home/james-whalen/.local/lib/python3.13/site-packages/dill/tests/test_classdef.py_method_class._method           c                     gNTr
   r   s    r   ok	_class.ok       r   r
   N__name__
__module____qualname____firstlineno__r   r   __static_attributes__r
   r   r   r   r          r   r   c                        \ rS rSrS rS rSrg)_class2   c                     g r	   r
   r   s    r   __call___class2.__call__   r   r   c                     gr   r
   r   s    r   r   
_class2.ok   r   r   r
   Nr   r   r   r   r"   r   r   r
   r   r   r   r      r   r   r   c                        \ rS rSrS rS rSrg)	_newclass   c                     g r	   r
   r   s    r   r   _newclass._method   r   r   c                     gr   r
   r   s    r   r   _newclass.ok   r   r   r
   Nr   r
   r   r   r(   r(      r   r   r(   c                        \ rS rSrS rS rSrg)
_newclass2!   c                     g r	   r
   r   s    r   r"   _newclass2.__call__"   r   r   c                     gr   r
   r   s    r   r   _newclass2.ok$   r   r   r
   Nr&   r
   r   r   r/   r/   !   r   r   r/   c                       \ rS rSrSrg)_meta'   r
   Nr   r   r   r   r   r
   r   r   r6   r6   '   s    r   r6   c                     g r	   r
   r   s    r   r"   r"   *   s    r   c                     gr   r
   r   s    r   r   r   ,   s    r   _mclass)r"   r   i  	c                       \ rS rSrSrg)customIntList<   r
   Nr8   r
   r   r   r=   r=   <       r   r=   c                       \ rS rSrSrg)r=   ?   r
   Nr8   r
   r   r   r=   r=   ?   r?   r   c                  N   [         R                  " [        5      (       d   e[         R                  " [        5      (       d   e[         R                  " [        5      (       d   e[         R                  " [
        5      (       d   e[         R                  " [        5      (       d   eg r	   )dillpicklesoocnncmr
   r   r   test_class_instancesrJ   C   sb    <<???<<<<???<<<<???r   c                      [         [        [        [        [        /n [
        [        [        [        [        /nU  Vs/ s H  n[        R                  " U5      PM     nnU Vs/ s H  n[        R                  " U5      PM     nnU  H&  n[        5       R                  UR                  5        M(     A S H  n[        5       R                  U5        M     AA[        XC5       H  u  p%[        R                   " U5      n[        R                   " U5      nUR#                  5       (       d   eUR#                  U" 5       5      (       d   eUR                  S:X  d  Mw  [%        U5      R                  S:X  a  M   e   g s  snf s  snf )N)rE   rF   rG   rH   r;   r6   )r   r   r(   r/   r;   rE   rF   rG   rH   rI   rC   dumpsglobalspopr   ziploadsr   type)clslistobjlistobj_clslist_objlistcls_cls_objs           r   test_class_objectsrZ   J   s   gi
7;GAbmG+237C

37H3+237C

37H3	cll# "	c #x)zz#zz#wwyyywwtv==I%:&&'111 * 43s    E6! E;c                  L   [         R                  " [        S 5      5      (       d   e[         R                  " [        [        5      5      (       d   e[         R                  " [        [        5      5      (       d   e[         R                  " [        [
        5      5      (       d   eg r	   )rC   rD   rQ   NotImplementedEllipsisr   r
   r   r   test_specialtypesr^   a   sg    <<T
####<<^,----<<X''''<<X''''r   )
namedtupleZab   YXFakeNameDefaultsxy)defaults   c                    ^ [         [        R                  " [        R                  " [         5      5      L d   e[        [        R                  " [        R                  " [        5      5      :X  d   e[
        [        R                  " [        R                  " [
        5      5      L d   e[        [        R                  " [        R                  " [        5      5      :X  d   e[        [        R                  " [        R                  " [        5      5      L d   e[        [        R                  " [        R                  " [        5      5      :X  d   e[        [        R                  " [        R                  " [        5      5      Ld   e[        R                  [        R                  " [        R                  " [        5      5      R                  :X  d   e[        [        5      [        [        R                  " [        R                  " [        5      5      5      :X  d   e " S S5      n U " 5       n[        R                  " U5      (       d   e[        R                  " U R                  5      R                  S:X  d   e[        R                  " U R                  5      R                   R#                  S5      (       d   e[        R                  " U R                  5      R$                  S:X  d   e[        R                  " U R                  5      R&                  S:X  d   eSSKJm  U4S	 jn [-        [        R                  " U " 5       " S
5      5      5      R                   [-        U " 5       " S
5      5      R                   :X  d   eg )Nc            	       J    \ rS rSr " S S\" SSS/5      5      rS\l        Srg	)
test_namedtuple.<locals>.A   c                       \ rS rSrSrSrg)test_namedtuple.<locals>.A.B   	docstringr
   N)r   r   r   r   __doc__r   r
   r   r   Brq      s    r   ru   Conetwotestingr
   N)r   r   r   r   r_   ru   r   r
   r   r   Arn      s     	
3/ 	 r   rz   ru   z.<locals>.A.Brs   ry   r   )
NamedTuplec                     >  " S ST5      n U $ )Nc                        \ rS rSr% \\S'   Srg)%test_namedtuple.<locals>.A.<locals>.B   rh   r
   N)r   r   r   r   int__annotations__r   r
   r   r   ru   r~      s    Fr   ru   r
   )ru   r{   s    r   rz   rn      s    	
 	r      )r`   rC   rP   rL   Zire   Xirg   	DefaultsiBad_fieldstupleBadicopyru   r   r   endswithrt   r   typingr{   rQ   )rz   ra   r{   s     @r   test_namedtupler   t   s    

4::a=))))DJJrN++++

4::a=))))DJJrN++++tzz$**X"67777

4::i#89999djjC1111;;$**TZZ_5=====;%

4::d+; <====! !
 	
A99Q<<<99QSS>""c)))99QSS>&&//@@@@99QSS>!![00099QSS>$$	111!
 		!#a&!"//4A<3L3LLLLr   c                       SS K n U R                  S5      nU R                  [        R                  " U R                  5      :X  d   eU[        R                  " U5      :X  d   eg ! [         a     g f = f)Nr   r   )numpydtyperC   r   ImportError)npdtis     r   
test_dtyper      sY    hhuoxx499RXX....diin$$$s   A!A$ $
A10A1c                       SS K n U R                  S/5      nU4nU[        R                  " U5      :X  d   eg ! [         a     g f = f)Nr   rc   )r   arrayrC   r   r   )r   rh   ri   s      r   test_array_nestedr      sC    HHaSMDDIIaL   s   58 
AAc                  l  ^  SS K m " U4S jSTR                  5      n U " TR                  S5      SS9n[        R                  R
                  (       dM  [        R                  " U5      (       d   eUR                  [        R                  " U5      R                  :X  d   eUSS n[        R                  R
                  (       dM  [        R                  " U5      (       d   eUR                  [        R                  " U5      R                  :X  d   e " S S	TR                  5      nU" / S
Q5      nSUl	        [        R                  R
                  (       dN  [        R                  " U5      (       d   eUR                  [        R                  " U5      R                  :X  d   eg g ! [         a     g f = f)Nr   c                   4   > \ rS rSrU 4S jrS rU 4S jrSrg)&test_array_subclass.<locals>.TestArray   c                 T   > TR                  U5      R                  U 5      nX#l        U$ r	   )asarrayviewcolor)rW   input_arrayr   rT   r   s       r   __new__.test_array_subclass.<locals>.TestArray.__new__   s&    jj-2237!	
r   c                 d    Uc  g [        U[        U 5      5      (       a  UR                  U l        g g r	   )
isinstancerQ   r   )r   rT   s     r   __array_finalize__9test_array_subclass.<locals>.TestArray.__array_finalize__   s+    ;c4:..!$DJ /r   c                 >   > TR                  U 5      U R                  4$ r	   )r   r   )r   r   s    r   __getnewargs__5test_array_subclass.<locals>.TestArray.__getnewargs__   s    zz$'33r   r   N)r   r   r   r   r   r   r   r   )r   s   r   	TestArrayr      s    +
4 4r   r   d   greenr   	   c                       \ rS rSrSrSrg)'test_array_subclass.<locals>.TestArray2   bluer
   N)r   r   r   r   r   r   r
   r   r   
TestArray2r      s    Er   r   )rc   rk            )r   ndarrayzerosrC   _dillIS_PYPYrD   __dict__r   r   r   )r   a1a2r   a3r   s        @r   test_array_subclassr      s9   #	4

 	4 rxx}G4zz!!<<####;;$))B-"8"8888!Wzz!!<<####;;$))B-"8"8888	 	 $zz!!<<####;;$))B-"8"8888 " s   F!F& &
F32F3c                       " S S[         5      n U " 5       n[        R                  " U5      n[        R                  " U5      nUR                  R                  5         g )Nc                   $    \ rS rSr\S 5       rSrg) test_method_decorator.<locals>.A   c                     g r	   r
   )rW   s    r   test%test_method_decorator.<locals>.A.test   s    r   r
   N)r   r   r   r   classmethodr   r   r
   r   r   rz   r      s     r   rz   )objectrC   rL   rP   	__class__r   )rz   ra   resnew_objs       r   test_method_decoratorr      sC    F 
 	
A
**Q-CjjoGr   c                       \ rS rSrSrS rSrg)rd      )ri   __weakref__c                     Xl         g r	   ri   r   ri   s     r   __init__
Y.__init__       Fr   r   Nr   r   r   r   	__slots__r   r   r
   r   r   rd   rd      s    ")r   {   c                       \ rS rSrSrS rSrg)Y2   ri   c                     Xl         g r	   r   r   s     r   r   Y2.__init__   r   r   r   Nr   r
   r   r   r   r      s    )r   r   c                     [         R                  " [        5      (       d   e[         R                  " [        5      (       d   e[         R                  " [        R                  5      (       d   e[         R                  " [        5      R                  [
        :X  d   e[         R                  " [        [
        5      5      R                  [
        :X  d   eg r	   )rC   rD   rd   ri   r   valuer   r
   r   r   
test_slotsr      sz    <<???<<???<<99Q<>>U"""99RY!!U***r   c                  t    [         R                  " [        5      R                  [        R                  :X  d   eg r	   )rC   r   r=   __orig_bases__r
   r   r   test_origbasesr      s%    99]#22m6R6RRRRr   c                     ^ SS K mTR                   " U4S jS5      5       n U " S5      n[        R                  " U5      U:X  d   eg )Nr   c                   8   > \ rS rSr Y R	                  5       rSrg)test_attr.<locals>.A   r
   N)r   r   r   r   ibra   r   )attrs   r   rz   r      s    GGIr   rz   rc   )r   srC   r   )rz   vr   s     @r   	test_attrr      sB    	VV   	
!A99Q<1r   c                       " S S[         5      n [        5       n[        SS U5        US   n[        R                  " U" 5       5      (       d   eg )Nc                   .   ^  \ rS rSrU 4S jrS rSrU =r$ )*test_metaclass.<locals>.metaclass_with_new   c                 f   > [         TU ]  " XX#40 UD6nU c   eUR                  U 5      (       d   eU$ r	   )superr   method)mclsnamebasesnskwdsrW   r   s         r   r   2test_metaclass.<locals>.metaclass_with_new.__new__   s>    '/$e@4@C###::d####Jr   c                     [        X5      $ r	   )r   )rW   r   s     r   r   1test_metaclass.<locals>.metaclass_with_new.method  s    c((r   r
   )r   r   r   r   r   r   r   __classcell__)r   s   @r   metaclass_with_newr      s    	
	) 	)r   r   zclass subclass_with_new(metaclass=metaclass_with_new):
        def __new__(cls):
            self = super().__new__(cls)
            return selfsubclass_with_new)rQ   localsexecrC   r   )r   lr   s      r   test_metaclassr     sR    )T ) 	A 
 !!% -.99&())))r   c                      SSK Jn   SS Kn[        R                  " U R
                  5      U R
                  L d   e[        R                  " UR                  5      UR                  L d   eg )Nr   )
HTTPStatus)httpr  enumrC   r   OKr   )r  r  s     r   test_enummetar    sF    99Z]]#z}}44499T]]#t}}444r   c                  H    " S S5      n  " S SU 5      n[         R                  " U5      nSS KnUR                  5       S:H  nUR                  UR                  :X  d   eSUR                  ;   a  SUR                  ;   d   eUR                  S   UR                  S   L d   eSUR                  ;   a  SUR                  ;   d   eUR                  S   UR                  S   L d   eS	UR                  ;   a  S	UR                  ;   d   eUR                  S	   UR                  S	   L nU(       a	  U(       d   eU(       a   eS
UR                  ;   a  S
UR                  ;   d   eUR                  S
   UR                  S
   L nU(       a	  U(       d   eU(       a   eSUR                  ;   a  SUR                  ;   d   eUR                  S   UR                  S   L d   eSUR                  ;   a  SUR                  ;   d   eUR                  S   UR                  S   Ld   eSUR                  ;   a  SUR                  ;   d   eUR                  S   UR                  S   Ld   eSUR                  ;   a  SUR                  ;   d   eUR                  S   UR                  S   L d   eg )Nc                   ,    \ rS rSrSrSrSrSrSrSr	Sr
g)test_inherit.<locals>.Fooi  r   rc   皙?r
   rc   N)r   r   r   r   wrh   ri   ra   rb   rG   r   r
   r   r   Foor    s     r   r  c                   4    \ rS rSrSrSrSrSrSrSr	Sr
S	rSrg	)
test_inherit.<locals>.Bari   rk   rc   r  g?r
   r  )rk   N)r   r   r   r   r  rh   ri   zra   rb   crG   r   r
   r   r   Barr     s*    r   r  r   PyPyr  rh   ri   r  ra   rb   r  rG   )rC   r   platformpython_implementationr   )r  r  Bazr  is_pypysames         r   test_inheritr    sY    c  ))C.C,,.&8G<<3<<'''#,,3#,,#666<<S 1111#,,3#,,#666<<S 1111#,,3#,,#666<<S 11D4((D((#,,3#,,#666<<S 11D4((D((#,,3#,,#666<<S 1111#,,3#,,#666<<CLL$5555#,,3#,,#666<<CLL$5555#,,3#,,#666<<S 1111r   __main__)8rC   r  r   syssettingsr   r   r   r(   r/   rQ   r6   r"   r   r;   rE   rF   rG   rH   rI   
hexversionr   Listr   r=   listrJ   rZ   r^   collectionsr_   r`   r   re   r   r   r   r   r   rg   r   r   r   r   r   r   rd   r   ri   r   r   r   r   r  r  r  r
   r   r   <module>r#     s!     
i     	D 		 	F982&F
G
HYK\I>>JC( S	 2.( #sSIqVsSI
qVc#Y'
1Qxj3*s;QK	MB$N
 
 	eH 
+S*&5-2` zLLON r   