o
    †íZb¥  ã                   @   sŽ   d Z ddlmZ ddlmZ ddlmZ ddlZddlZddlmZ ddlm	Z
 ddlmZ ddlZG d	d
„ d
ejƒZedkrEe ¡  dS dS )z"Tests for the inspectutils module.é    )Úabsolute_import)Údivision)Úprint_functionN)Úinspectutils)Útest_components)Ú	testutilsc                   @   sz   e Zd Zdd„ Ze ejd¡dd„ ƒZdd„ Z	dd	„ Z
d
d„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚInspectUtilsTestc                 C   s|   t  tj¡}|  |jg d¢¡ |  |jd¡ |  |jd¡ |  |jd¡ |  |j	g ¡ |  |j
i ¡ |  |jttdœ¡ d S )N©Zarg1Úarg2Zarg3Úarg4©é
   é   Úarg5Úarg6)r
   r   )r   ÚGetFullArgSpecÚtcÚidentityÚassertEqualÚargsÚdefaultsÚvarargsÚvarkwÚ
kwonlyargsÚkwonlydefaultsÚannotationsÚint©ÚselfÚspec© r    úFD:\Projects\ConvertPro\env\Lib\site-packages\fire\inspectutils_test.pyÚtestGetFullArgSpec!   s   z#InspectUtilsTest.testGetFullArgSpecz No keyword arguments in python 2c                 C   sŒ   t  tjj¡}|  |jg d¢¡ |  |jd¡ |  |jd¡ |  |j	d¡ |  |j
g d¢¡ |  |jdddœ¡ |  |jttttd	œ¡ d S )
Nr	   r   r   Zarg10)r   Úarg7Úarg8Úarg9é   é(   )r$   r%   )r
   r   r#   r%   )r   r   r   Zpy3r   r   r   r   r   r   r   r   r   r   r   r    r    r!   ÚtestGetFullArgSpecPy3+   s   ÿz&InspectUtilsTest.testGetFullArgSpecPy3c                 C   sV   t  dj¡}|  |jg ¡ |  |jd¡ |  |jg ¡ |  |ji ¡ |  |ji ¡ d S )NÚtestr    )	r   r   Úupperr   r   r   r   r   r   r   r    r    r!   ÚtestGetFullArgSpecFromBuiltin7   s   z.InspectUtilsTest.testGetFullArgSpecFromBuiltinc                 C   ór   t  tj¡}|  |jg ¡ |  |jd¡ |  |jd ¡ |  |jd ¡ |  |j	g ¡ |  |j
i ¡ |  |ji ¡ d S ©Nr    )r   r   r   Ú
NoDefaultsr   r   r   r   r   r   r   r   r   r    r    r!   Ú!testGetFullArgSpecFromSlotWrapper?   ó   z2InspectUtilsTest.testGetFullArgSpecFromSlotWrapperc                 C   óv   t  tj¡}|  |jddg¡ |  |jd¡ |  |jd ¡ |  |jd ¡ |  |j	g ¡ |  |j
i ¡ |  |ji ¡ d S ©NÚxÚyr    )r   r   r   ZNamedTuplePointr   r   r   r   r   r   r   r   r   r    r    r!   Ú testGetFullArgSpecFromNamedTupleI   ó   z1InspectUtilsTest.testGetFullArgSpecFromNamedTuplec                 C   r1   r2   )r   r   r   ZSubPointr   r   r   r   r   r   r   r   r   r    r    r!   Ú(testGetFullArgSpecFromNamedTupleSubclassS   r6   z9InspectUtilsTest.testGetFullArgSpecFromNamedTupleSubclassc                 C   r,   r-   )r   r   r   ÚOldStyleEmptyr   r   r   r   r   r   r   r   r   r    r    r!   Ú!testGetFullArgSpecFromClassNoInit]   r0   z2InspectUtilsTest.testGetFullArgSpecFromClassNoInitc                 C   sx   t  t ¡ j¡}|  |jdg¡ |  |jd¡ |  |jd ¡ |  |j	d ¡ |  |j
g ¡ |  |ji ¡ |  |ji ¡ d S )NÚcountr    )r   r   r   r.   Zdoubler   r   r   r   r   r   r   r   r   r    r    r!   ÚtestGetFullArgSpecFromMethodg   s   z-InspectUtilsTest.testGetFullArgSpecFromMethodc                 C   sV   t  d¡}|  | d¡d¡ |  | d¡d ¡ |  | d¡d ¡ |  | d¡d¡ d S )Né   Ú	type_namer   ÚfileÚlineZstring_formÚ1)r   ÚInfor   Úget©r   Úinfor    r    r!   ÚtestInfoOneq   s
   
zInspectUtilsTest.testInfoOnec                 C   sP   t  tj¡}|  | d¡d¡ |  tj 	dd¡| d¡¡ |  
| d¡d¡ d S )Nr=   ÚtypeÚfireútest_components.pyr>   r?   r   )r   rA   r   r.   r   rB   ÚassertInÚosÚpathÚjoinÚassertGreaterrC   r    r    r!   ÚtestInfoClassx   s   zInspectUtilsTest.testInfoClassc                 C   sj   t  tj¡}tjr|  | d¡d¡ n	|  | d¡d¡ |  t	j
 dd¡| d¡¡ |  | d¡d¡ d S )	Nr=   ZclassobjrF   rG   rH   r>   r?   r   )r   rA   r   r8   ÚsixÚPY2r   rB   rI   rJ   rK   rL   rM   rC   r    r    r!   ÚtestInfoClassNoInit~   s   z$InspectUtilsTest.testInfoClassNoInitc                 C   s"   t  tj¡}|  |d d d¡ d S )NÚ	docstringzDocstring should be None)r   rA   r   r.   r   rC   r    r    r!   ÚtestInfoNoDocstring‡   s   z$InspectUtilsTest.testInfoNoDocstringN)Ú__name__Ú
__module__Ú__qualname__r"   ÚunittestÚskipIfrO   rP   r(   r+   r/   r5   r7   r9   r;   rE   rN   rQ   rS   r    r    r    r!   r      s    






	r   Ú__main__)Ú__doc__Z
__future__r   r   r   rJ   rW   rG   r   r   r   r   rO   ZBaseTestCaser   rT   Úmainr    r    r    r!   Ú<module>   s   mÿ