o
    ŠÄŽi…  ã                   @   sZ   d Z ddlZddlmZ ddlmZ ddlmZ G dd„ dejƒZe	dkr+e 
¡  dS dS )	z"Tests for the inspectutils module.é    N)Úinspectutils)Útest_components)Ú	testutilsc                   @   sl   e Z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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©Úarg1Úarg2Úarg3Úarg4©é
   é   Úarg5Úarg6)r   r
   )r   ÚGetFullArgSpecÚtcÚidentityÚassertEqualÚargsÚdefaultsÚvarargsÚvarkwÚ
kwonlyargsÚkwonlydefaultsÚannotationsÚint©ÚselfÚspec© r   úR/home/jeff/fluffinator/venv/lib/python3.10/site-packages/fire/inspectutils_test.pyÚtestGetFullArgSpec   s   z#InspectUtilsTest.testGetFullArgSpecc                 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   Úarg10)r   Úarg7Úarg8Úarg9é   é(   )r$   r%   )r   r
   r#   r%   )r   r   r   Ú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    ÚtestGetFullArgSpecFromBuiltin/   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    Ú!testGetFullArgSpecFromSlotWrapper7   ó   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   ÚNamedTuplePointr   r   r   r   r   r   r   r   r   r   r   r    Ú testGetFullArgSpecFromNamedTupleA   ó   z1InspectUtilsTest.testGetFullArgSpecFromNamedTuplec                 C   r2   r3   )r   r   r   ÚSubPointr   r   r   r   r   r   r   r   r   r   r   r    Ú(testGetFullArgSpecFromNamedTupleSubclassK   r8   z9InspectUtilsTest.testGetFullArgSpecFromNamedTupleSubclassc                 C   r-   r.   )r   r   r   ÚOldStyleEmptyr   r   r   r   r   r   r   r   r   r   r   r    Ú!testGetFullArgSpecFromClassNoInitU   r1   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/   Údoubler   r   r   r   r   r   r   r   r   r   r   r    ÚtestGetFullArgSpecFromMethod_   s   z-InspectUtilsTest.testGetFullArgSpecFromMethodc                 C   sV   t  d¡}|  | d¡d¡ |  | d¡d ¡ |  | d¡d ¡ |  | d¡d¡ d S )Né   Ú	type_namer   ÚfileÚlineÚstring_formÚ1)r   ÚInfor   Úget©r   Úinfor   r   r    ÚtestInfoOnei   s
   
zInspectUtilsTest.testInfoOnec                 C   óP   t  tj¡}|  | d¡d¡ |  tj 	dd¡| d¡¡ |  
| d¡d¡ d S ©NrA   ÚtypeÚfireztest_components.pyrB   rC   r   )r   rF   r   r/   r   rG   ÚassertInÚosÚpathÚjoinÚassertGreaterrH   r   r   r    ÚtestInfoClassp   ó   zInspectUtilsTest.testInfoClassc                 C   rK   rL   )r   rF   r   r;   r   rG   rO   rP   rQ   rR   rS   rH   r   r   r    ÚtestInfoClassNoInitv   rU   z$InspectUtilsTest.testInfoClassNoInitc                 C   s"   t  tj¡}|  |d d d¡ d S )NÚ	docstringzDocstring should be None)r   rF   r   r/   r   rH   r   r   r    ÚtestInfoNoDocstring|   s   z$InspectUtilsTest.testInfoNoDocstringN)Ú__name__Ú
__module__Ú__qualname__r!   r)   r,   r0   r7   r:   r<   r?   rJ   rT   rV   rX   r   r   r   r    r      s    





r   Ú__main__)Ú__doc__rP   rN   r   r   r   r   ÚBaseTestCaser   rY   Úmainr   r   r   r    Ú<module>   s   iÿ