U
    ãÇ-e’  ã                   @   s  d Z ddlZdejd< dZdd„ Zdd	„ Zd
d„ ZG dd„ deƒZddlm	Z	 ddlm
Z
 e
ddd e	d Ze	d  ¡  e	d  ¡  e	d  ¡  e	d  ¡  e	d  ¡  e	d  ¡  [	dd„ Zdd„ Zdd„ Zdd„ Zed krþeƒ  eƒ  eƒ  eƒ  eƒ  dS )!z$
testing some selected object types
é    NTÚrecurseFc                  C   sT   t j} |  ¡ D ]4\}}t |¡}tr:td|t |ƒ|f ƒ |st‚qtrPtdƒ d S ©Nú
%s: %s, %sÚ )ÚtypeÚ__dict__ÚitemsÚdillÚpicklesÚverboseÚprintÚAssertionError)ÚcÚiÚjÚok© r   úY/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/dill/tests/test_selected.pyÚtest_dict_contents   s    
 
 r   c                 c   s
   | V  d S ©Nr   )Úxr   r   r   Ú_g   ó    r   c                  C   s@   z‚ W n4 t k
r:   ddlm}  | ƒ \}}}||f Y S X d S )Nr   )Úexc_info)Ú	ExceptionÚsysr   )r   ÚeZerÚtbr   r   r   Ú_f   s     r   c                   @   s   e Zd Zdd„ ZdS )Ú_dc                 C   s   d S r   r   )Úselfr   r   r   Ú_method&   s    z
_d._methodN)Ú__name__Ú
__module__Ú__qualname__r!   r   r   r   r   r   %   s   r   )Úobjects)Ú
load_types)Z
pickleableZunpickleableZClassObjectTypeZTemporaryFileTypeZTextWrapperTypeZBufferedRandomTypeZBufferedReaderTypeZBufferedWriterTypeÚFileTypec                  C   sœ   t j} |  ¡ D ]0}t |¡}tr6td|t|ƒ|f ƒ |st‚qtrLtdƒ t	j}| ¡ D ]0}t |¡}tr‚td|t|ƒ|f ƒ |sZt‚qZtr˜tdƒ d S r   )
r   r   Úvaluesr	   r
   r   r   r   r   Ú	_newclass)Údr   r   Zodr   r   r   Útest_class_descriptors7   s     
 
 
 
 r+   c                  C   st   t ƒ } tƒ }t | ¡}tr0td|t| ƒ| f ƒ |s8t‚t |¡}tr\td|t|ƒ|f ƒ |sdt‚trptdƒ d S r   )r   r)   r	   r
   r   r   r   r   )ÚoZoor   r   r   r   Ú
test_classF   s    
 
  r-   c                  C   sæ   t dƒ} | j}tƒ \}}dd„ }t |¡}trDtd|t|ƒ|f ƒ |rLt‚t | ¡}trptd|t| ƒ| f ƒ || ƒs~t‚t |¡}tr¢td|t|ƒ|f ƒ |rªt‚t |¡}trÎtd|t|ƒ|f ƒ |sÖt‚trâtdƒ d S )Né   c                 S   s   | S r   r   )r   r   r   r   Ú<lambda>V   r   z$test_frame_related.<locals>.<lambda>r   r   )	r   Úgi_framer   r	   r
   r   r   r   r   )ÚgÚfr   ÚtZ_isr   r   r   r   Útest_frame_relatedR   s,    

 
 
 
  r4   c                  C   sÚ   dd l } | j}|t |¡ks t‚| jttf }|t |¡ks@t‚| jt }|t |¡ks\t‚| j	ttf }|t |¡ks|t‚| j	t }|t |¡ks˜t‚| j	d }|t |¡ks´t‚| j	d  
d¡}|t |¡ksÖt‚d S )Nr   r   )ÚtypingÚAnyr	   Úcopyr   ÚDictÚintÚstrÚListÚTupleÚ	copy_with)r5   r   r   r   r   Útest_typinge   s     


r>   Ú__main__)Ú__doc__r	   Úsettingsr   r   r   r   Úobjectr   r%   r&   r)   Úcloser+   r-   r4   r>   r"   r   r   r   r   Ú<module>   s8   
