o
    ~]e                     @   s  d dl Z d dlZde jd< G dd dZG dd d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e	defe
edZ[
[e Ze Ze Ze Ze Zdd Zdd Zdd Zeejdkrd dlmZ edddgZed dZed ddgZd!e_eejd"krd!e_ed dZed#ddgZed dZ nd Z Z Z Z ZZ d$d% Z!d&d' Z"d(d) Z#d*d+ Z$G d,d  d eZ%d-Z&e%e&Z'd.d/ Z(ed0kre  e  e  e!  e"  e#  e$  e(  dS dS )1    NTrecursec                   @      e Zd Zdd Zdd ZdS )_classc                 C      d S N selfr   r   Q/var/www/Datamplify/venv/lib/python3.10/site-packages/dill/tests/test_classdef.py_method      z_class._methodc                 C      dS NTr   r   r   r   r
   ok   r   z	_class.okN__name__
__module____qualname__r   r   r   r   r   r
   r          r   c                   @   r   )_class2c                 C   r   r   r   r   r   r   r
   __call__   r   z_class2.__call__c                 C   r   r   r   r   r   r   r
   r      r   z
_class2.okNr   r   r   r   r   r   r   r   r
   r      r   r   c                   @   r   )	_newclassc                 C   r   r   r   r   r   r   r
   r      r   z_newclass._methodc                 C   r   r   r   r   r   r   r
   r      r   z_newclass.okNr   r   r   r   r
   r      r   r   c                   @   r   )
_newclass2c                 C   r   r   r   r   r   r   r
   r   !   r   z_newclass2.__call__c                 C   r   r   r   r   r   r   r
   r   #   r   z_newclass2.okNr   r   r   r   r
   r       r   r   c                   @   s   e Zd ZdS )_metaN)r   r   r   r   r   r   r
   r   &   s    r   c                 C   r   r   r   r   r   r   r
   r   )   r   r   c                 C   r   r   r   r   r   r   r
   r   +   r   r   _mclass)r   r   c                   C   sJ   t tsJ t tsJ t tsJ t tsJ t ts#J d S r   )dillpicklesoocnncmr   r   r   r
   test_class_instances:   s
   r#   c                  C   s   t ttttg} ttttt	g}dd | D }dd |D }| D ]	}t
 |j q~ dD ]}t
 | q+~~t||D ]*\}}t|}t|}| sOJ || sWJ |jdkret|jdkseJ q;d S )Nc                 S      g | ]}t |qS r   r   dumps.0objr   r   r
   
<listcomp>D       z&test_class_objects.<locals>.<listcomp>c                 S   r$   r   r%   r'   r   r   r
   r*   E   r+   )r   r   r    r!   r   r   )r   r   r   r   r   r   r   r    r!   r"   globalspopr   zipr   loadsr   type)clslistobjlist_clslist_objlistr)   cls_cls_objr   r   r
   test_class_objectsA   s(   


r8   c                   C   s   t td s	J d S r   )r   r   r0   r   r   r   r
   	test_noneX   s   r9   	0x20600f0)
namedtupleZab   YX	0x30300f0FakeNamec                   C   s   t ttt u sJ ttttksJ ttttu s$J ttttks0J ttttus<J tjtttjksJJ t	t
t	ttt
ksZJ d S r   )r<   r   r/   r&   ZirA   XiBad_fieldstupleBadir   r   r   r
   test_namedtuplej   s   $rJ   c                  C   sX   z!dd l } | dg}|f}t| |tt|ksJ W d S  ty+   Y d S w )Nr   r?   )numpyarrayr   r&   r/   ImportError)npxyr   r   r
   test_array_nesteds   s   
rQ   c                     s   zidd l  G  fddd j} |  ddd}t|s J |jt|jks+J |dd }t|s8J |jt|jksCJ G dd	 d	 j}|g d
}d|_t|s\J |jt|jksgJ W d S  tys   Y d S w )Nr   c                       s,   e Zd Z fddZdd Z fddZdS )z&test_array_subclass.<locals>.TestArrayc                    s     || }||_|S r   )asarrayviewcolor)r5   input_arrayrT   r)   rN   r   r
   __new__   s   z.test_array_subclass.<locals>.TestArray.__new__c                 S   s*   |d u rd S t |t| r|j| _d S d S r   )
isinstancer0   rT   )r	   r)   r   r   r
   __array_finalize__   s
   z9test_array_subclass.<locals>.TestArray.__array_finalize__c                    s     | | jfS r   )rR   rT   r   rV   r   r
   __getnewargs__   s   z5test_array_subclass.<locals>.TestArray.__getnewargs__N)r   r   r   rW   rY   rZ   r   rV   r   r
   	TestArray   s    r[   d   green)rT   	   c                   @   s   e Zd ZdZdS )z'test_array_subclass.<locals>.TestArray2blueN)r   r   r   rT   r   r   r   r
   
TestArray2   s    r`   )r?               )	rK   ndarrayzerosr   r   __dict__copyrT   rM   )r[   a1a2r`   a3r   rV   r
   test_array_subclass   s   rl   c                  C   s8   G dd dt } |  }t|}t|}|j  d S )Nc                   @   s   e Zd Zedd ZdS )z test_method_decorator.<locals>.Ac                 S   r   r   r   )r5   r   r   r
   test   s   z%test_method_decorator.<locals>.A.testN)r   r   r   classmethodrm   r   r   r   r
   A   s    ro   )objectr   r&   r/   	__class__rm   )ro   r=   resnew_objr   r   r
   test_method_decorator   s
   

rt   c                   @   s   e Zd ZdgZdd ZdS )r@   rP   c                 C   s
   || _ d S r   )rP   )r	   rP   r   r   r
   __init__   s   
z
Y.__init__N)r   r   r   	__slots__ru   r   r   r   r
   r@      s    {   c                   C   sD   t tsJ t tsJ t tjsJ t tjtks J d S r   )r   r   r@   rP   rh   valuer   r   r   r
   
test_slots   s   ry   __main__))r   syssettingsr   r   rp   r   r   r0   r   r   r   r   r   r   r    r!   r"   r#   r8   r9   hex
hexversioncollectionsr;   r<   rD   rA   r   r   rE   rF   rI   rJ   rQ   rl   rt   r@   rx   rP   ry   r   r   r   r
   <module>   sf   


	$
