
    i"r                         S r SSKrSSKrSSKJr  SSKrSSKJr  SSKJr   " S S\R                  5      r
\S:X  a  \R                  " 5         gg)	zTests for the fire module.    N)mock)test_components)	testutilsc                      \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S  r"S! r#S" r$S# r%S$ r&S% r'S& r(S' r)S( r*S) r+S* r,S+ r-S, r.S- r/S. r0S/ r1S0 r2S1 r3S2 r4S3 r5S4 r6S5 r7S6 r8S7 r9S8 r:S9 r;S: r<S; r=S< r>S= r?S> r@S? rAS@rBgA)BFireTest   c                 h   [         R                  R                  [        SS/5         [        R
                  " [        R                  5        [        R
                  " [        R                  5        [        R
                  " [        R                  5        S S S 5        U R                  [        R
                  " [        R                  SS9S5        U R                  [        R
                  " [        R                  SS9S5        U R                  [        R
                  " [        R                  SS	/S9S5        U R                  [        R
                  " [        R                  S
S/S9S5        U R                  [        R
                  " [        R                  SS	/S9S5        g ! , (       d  f       GN= f)Nargvprognameztriple 4command   )double2   triple4r   r   )r   patchobjectsysfireFiretcEmptyOldStyleEmptyWithInitassertEqual
NoDefaultsWithDefaultsOldStyleWithDefaultsselfs    N/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/fire/fire_test.pytestFireFireTest.testFire   s   			3	5
ii
ii  !
ii 
6
 	TYYr}}jA2FTYYrH!LTYYr3H"MTYYr66(0#89:<TYYr66(0#89;= 
6	5s   A-F""
F1c                     U R                  [        R                  " [        R                  S5      S5        U R                  [        R                  " [        R                  SS/5      S5        g )Nzdouble 2r   r   r   )r   r   r   r   r   r!   s    r#   testFirePositionalCommand"FireTest.testFirePositionalCommand*   sD    TYYr}}j91=TYYr}}xo>B    c                     U R                  [        5         [        R                  " [        R
                  SS9  S S S 5        g ! , (       d  f       g = f)N
   r   )assertRaises
ValueErrorr   r   r   r   r!   s    r#   testFireInvalidCommandArg"FireTest.testFireInvalidCommandArg/   s.    			:	&
ii, 
'	&	&s   $A
Ac           	      ^   [         R                  R                  [        S[        R
                  R                  SSS5      /5         U R                  SS S9   [        R                  " [        R                  5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr
   zpython-firer   zbase_filename.pyzSYNOPSIS.*base_filename.py)stdoutstderr)r   r   r   r   ospathjoinassertOutputMatchesr   r   r   r   r!   s    r#   testFireDefaultNameFireTest.testFireDefaultName4   s    			3GGLL);= >
? ##+G+/ $ 1		"((1
? 
?1 1
? 
?s$   B%B<B
B	B
B,c                 l    U R                  [        R                  " [        R                  S/S9S5        g )Ntenr   r+   r   r   r   r   MixedDefaultsr!   s    r#   testFireNoArgsFireTest.testFireNoArgs<   s%    TYYr//%A2Fr)   c                    U R                  S5         [        R                  " [        R                  S/S9  S S S 5        U R                  S5         [        R                  " [        R
                  S/S9  S S S 5        U R                  S5         [        R                  " [        R                  SS/S9  S S S 5        U R                  [        5         [        R                  " [        R                  SS/S9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nt= f! , (       d  f       g = f)	N   nomethodr   r   deltax
reciprocalz0.0)
assertRaisesFireExitr   r   r   r   r   TypedPropertiesr,   ZeroDivisionErrorNumberDefaultsr!   s    r#   testFireExceptionsFireTest.testFireExceptions?   s    		"	"1	%
ii:,/ 
&		"	"1	%
iiz2 
&		"	"1	%
ii""WcN; 
& 
		,	-
ii!!L%+@A 
.	- 
&	%	%	%	%	% 
.	-s/   %D %D&D"&D3 
D
D"
D03
Ec                    U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R
                  / SQS9S5        U R                  [        R                  " [        R
                  / SQS9S5        g Nr   --count5r   r+   r   rN   rO      r   r   r   r   r   r    r!   s    r#   testFireNamedArgsFireTest.testFireNamedArgsL   s    TYYr'ACDFHTYYr'ACDFH		"))3MN
 			"))3MN
r)   c                    U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R
                  / SQS9S5        U R                  [        R                  " [        R
                  / SQS9S5        g )N)r   -countrO   r   r+   )r   rV   rO   rQ   rR   r!   s    r#   testFireNamedArgsSingleHyphen&FireTest.testFireNamedArgsSingleHyphenX   s    TYYr'@BCEGTYYr'@BCEG		"))3LM
 			"))3LM
r)   c                     U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  SS/S9S5        g )Nr   z	--count=5r   r+   r   rQ   r   r   r   r   r   r!   s    r#   testFireNamedArgsWithEquals$FireTest.testFireNamedArgsWithEqualsd   sZ    TYYr(0+'>@ACETYYr(0+'>@ACEr)   c                     U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  SS/S9S5        g )Nr   z-count=5r   r+   r   rQ   rZ   r!   s    r#   'testFireNamedArgsWithEqualsSingleHyphen0FireTest.testFireNamedArgsWithEqualsSingleHyphenj   sX    TYYr(0*'=?@BDTYYr(0*'=?@BDr)   c                    U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / S	QS9S5        U R                  [        R                  " [        R                  / S
QS9S5        g )N)sum1r   r      )ra   --alpharb   r   )ra   --betarb   r   r   )ra   rb   rd   r   )ra   rb   re   r   )ra   rd   rb   re   r   )ra   re   rb   rd   r   r;   r!   s    r#   testFireAllNamedArgsFireTest.testFireAllNamedArgsp   s   TYYr//9JKQOTYYr//'CEFGITYYr//'BDEFHTYYr//'CEFGITYYr//'BDEFH		"""@	BCDF 			"""@	BCDFr)   c                    U R                  [        R                  " [        R                  S/S9S5        U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        g )	Nra   r   r   rb      )ra   rd   rb   )ra   re   r   r   r;   r!   s    r#   testFireAllNamedArgsOneMissing'FireTest.testFireAllNamedArgsOneMissing   s    TYYr//%A1ETYYr//%FJTYYr//'>@ABDTYYr//'=?@ACr)   c                    U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / S	QS9S5        U R                  [        R                  " [        R                  / S
QS9S5        g )N)identityrb   r   r   )ri   r@   )rm   rd   rb   r   )rm   re   rb   r   )r@   ri   )rm   rb   rd   r   )rm   rb   re   r   )rm   rd   rb   re   r   )rm   re   rb   rd   r   r;   r!   s    r#   testFirePartialNamedArgs!FireTest.testFirePartialNamedArgs   s,   		""",BCVM		""";	=>DF 			""":	<=CE 			""";	=>DF 			""":	<=CE 			?	ABHJ 			?	ABHJr)   c                    U R                  S5         [        R                  " [        R                  S/S9  S S S 5        U R                  S5         [        R                  " [        R                  / SQS9  S S S 5        U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  / SQS9S5        g ! , (       d  f       N= f! , (       d  f       N= f)Nr@   rm   r   )rm   re   r   rb   )ri   0)rm   rd   rb   )rE   r   r   r   r<   r   r!   s    r#   "testFirePartialNamedArgsOneMissing+FireTest.testFirePartialNamedArgsOneMissing   s    		"	"1	%
ii  #& 
& 
	"	"1	%
ii  *EF 
& 			"""Z,=>J		""",HI 
&	% 
&	%s   %C)&C:)
C7:
Dc                     U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  SS/S9S5        g )Nr   rO   r   r+   r   rQ   )r   r   r   r   Annotationsr!   s    r#   testFireAnnotatedArgsFireTest.testFireAnnotatedArgs   sH    TYYr~~#GLTYYr~~#GLr)   c                    U R                  S5         [        R                  " [        R                  R
                  SS/S9  S S S 5        U R                  [        R                  " [        R                  R
                  / SQS9S5        U R                  [        R                  " [        R                  R
                  / SQS9S5        g ! , (       d  f       N= f)	Nr@   r   rO   r   rM   r+   rP   rQ   )rE   r   r   r   py3KeywordOnlyr   r!   s    r#   testFireKeywordOnlyArgs FireTest.testFireKeywordOnlyArgs   s    		"	"1	%
ii""XsO< 
& 			"&&$$.HI2O		"&&$$.HI2O 
&	%s   0C		
Cc                     U R                  [        R                  " [        R                  S/S9S5        U R                  [        R                  " [        R                  S/S9S5        g )Nalphar   Tbeta)ri   r@      r   r   r   r   rF   r!   s    r#   testFirePropertiesFireTest.testFireProperties   sH    TYYr11G9EtLTYYr11F8DiPr)   c                     U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        g )N)charlier   hellor   
hellohello)r   r   wwwwr   r!   s    r#   testFireRecursionFireTest.testFireRecursion   sV    		"$$8	:;GI 	TYYr11'ACDIKr)   c                     U R                  [        R                  " [        R                  / SQS9/ SQ5        U R                  [        R                  " [        R                  / SQS9/ SQ5        g )N)cumsumsabcdr   )r   ababcabcd)r   rb   r   3r   )ri   r      r+   r   r   r   r   VarArgsr!   s    r#   testFireVarArgsFireTest.testFireVarArgs   sN    		"**9	;"$ 			"**&EFr)   c                     U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        g )N)varcharsrb   r   r   r   r   )ri   r@   cd)r   r   r   r   r   e)r   r   cder   r!   s    r#   testFireVarArgsWithNamedArgs%FireTest.testFireVarArgsWithNamedArgs   sL    		"**&FG 			"**&KLr)   c                    U R                  [        R                  " [        R                  / SQS9SSS.5        U R                  [        R                  " [        R                  / SQS9SS05        U R                  [        R                  " [        R                  / S	QS9SS05        U R                  [        R                  " [        R                  S
S9SS05        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        g )N)propsz--nameDavidz--age24r   r      )nameage)r   	--messagez#"This is a message it has -- in it"message!This is a message it has -- in it)r   r   r   z3props --message "This is a message it has -- in it")upperrd   Are   Bz
ALPHA BETA)r   rd   r   re   r   -lowerz
alpha betar   r   r   r   Kwargsr!   s    r#   testFireKeywordArgsFireTest.testFireKeywordArgs   s   		II?	A $	& 			II<	= 
78: 			II:	; 
78: 			III	K 
78	:
 			"))B	D 			IIJ	L 		r)   c                     U R                  [        R                  " [        R                  / SQS9SSSS045        U R                  [        R                  " [        R                  / SQS9SS SS045        g )	N)runHelloWorld--cellisr   r   r   cellr   )r   r   r   okr   r   r!   s    r#   ,testFireKeywordArgsWithMissingPositionalArgs5FireTest.testFireKeywordArgsWithMissingPositionalArgs   sb    		"))%NO	'FD>*, 			"))%EF	$')r)   c                     U R                  [        R                  " [        R                  " 5       / SQS9S5        U R                  [        R                  " [        R                  " 5       / SQS9S5        g rL   rZ   r!   s    r#   testFireObjectFireTest.testFireObject  sP    		"//#-GH"N		"//#-GH"Nr)   c                     S	S jSS.nU R                  [        R                  " USS/S9S5        U R                  [        R                  " US/S9S5        g )
Nc                     SU -  $ )Nr@    )rC   s    r#   <lambda>'FireTest.testFireDict.<locals>.<lambda>  s    a!er)   swiss)r   cheeser   rO   r   r+   r   r   r   r   r   r"   	components     r#   testFireDictFireTest.testFireDict  sM    #I 	TYYy8S/BBGTYYy8*=wGr)   c                    U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  SS/S9[        5        U R                  [        R                  " [        R                  / SQS9S	5        g )
NrB   echor   E)rB   r   r   r   nest)rB   r   rq   r   )r   r   r   r   rF   assertIsInstancedictr!   s    r#   testFireObjectWithDictFireTest.testFireObjectWithDict  s    		"$$w.?@#G		"$$.HI3P		"$$w.?@$H		"$$.DEsLr)   c                     [         R                  " 5       n[        R                  " U/ S9nU R	                  [        U5      S5        g Nr   r   )r   
simple_setr   r   r   lenr"   r   results      r#   testFireSetFireTest.testFireSet  s1    IYYy"-FS[!$r)   c                     [         R                  " 5       n[        R                  " U/ S9nU R	                  [        U5      S5        g r   )r   simple_frozensetr   r   r   r   r   s      r#   testFireFrozensetFireTest.testFireFrozenset"  s4    ##%IYYy"-FS[!$r)   c                     / SQnU R                  [        R                  " US/S9S5        U R                  [        R                  " US/S9S5        U R                  [        R                  " US/S9S5        g )N)zeroonetwothreer   r   r   r   r   z-1r   r   s     r#   testFireListFireTest.testFireList'  s^    /ITYYy3%8%@TYYy3%8'BTYYy4&97Cr)   c                     U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  SS/S9S5        g )Nr   rq   r   alexrb   bethanyr   r!   s    r#   testFireObjectWithListFireTest.testFireObjectWithList-  sR    TYYr11FC=ITYYr11FC=I r)   c                     U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  SS/S9S5        g )Nfoxrq   r   carryrb   divider   r!   s    r#   testFireObjectWithTuple FireTest.testFireObjectWithTuple3  sR    TYYr11E3<HTYYr11E3<Hr)   c                 n    U R                  [        R                  " [        R                  / SQS9S5        g )N)r   countr   r   ri   r   r!   s    r#   testFireObjectWithListAsObject'FireTest.testFireObjectWithListAsObject9  s(    		"$$.JK	r)   c                 n    U R                  [        R                  " [        R                  / SQS9S5        g )N)r   r   r   r   ri   r   r!   s    r#   testFireObjectWithTupleAsObject(FireTest.testFireObjectWithTupleAsObject>  s(    		"$$.HI	r)   c                 H   U R                  [        R                  " / SQS9S5        S nU R                  [        R                  " SS/S9S5        U R                  [        R                  " SS	/S9S
5        SS jnU R                  [        R                  " SS/S91 Sk5        g )N)r   r   r   10r      c                     U S   $ )Nr   )texts    r#   r   .FireTest.testFireNoComponent.<locals>.<lambda>F  s    T"Xr)   	last_charz"Hello"oz	last-charz"World"r   c                 *    [        [        U 5      5      $ N)setrange)r   s    r#   r   r  I  s    3uU|,r)   rsetrO   >   r   ri   r@   r   r   r   r   )r"   r  r	  s      r#   testFireNoComponentFireTest.testFireNoComponentC  s    TYY'MN%ITYYY'?@#FTYYY'?@#F,DTYY}5Gr)   c                     U R                  [        R                  " [        R                  S/S9S5        U R                  [        R                  " [        R                  S/S9S5        g )Nzunderscore-exampler   zfish fingersunderscore_exampler   r   r   r   Underscoresr!   s    r#   testFireUnderscoresFireTest.testFireUnderscoresL  sX    		"../0	23AC 			"../0	23ACr)   c                 B   U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  SS/S9S5        g )Nzunderscore-functionexampler   underscore_functionz--underscore-arg=scorescorez--underscore_arg=scorer  r!   s    r#   testFireUnderscoresInArg!FireTest.testFireUnderscoresInArgT  s    		"..0)<	>?HJ 			"..02JK	M 			"..02JK	Mr)   c                    U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  SS	/S9S5        U R                  [        R                  " [        R                  SS
/S9S5        g )Nas-boolTruer   TFalseFz
--arg=Truez--arg=Falsez--argz--noarg)r   r   r   r   BoolConverterr!   s    r#   testBoolParsingFireTest.testBoolParsinga  s    TYYr//)V9LM		"""Y,@A5J		"""Y,EFN		"""Y,FGPTYYr//)W9MN		"""Y	,BCULr)   c                    U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / S	QS9S
5        U R                  [        R                  " [        R                  / SQS9S5        g )N)rm   r  r  r   TF)rm   z--alpha=Falser   Fr+   )rm   rd   re   r   Tr+   rm   rd   	--beta=10)rm   z	--noalphare   FT)rm   r   re   )r+   Tr;   r!   s    r#   testBoolParsingContinued!FireTest.testBoolParsingContinuedo  s   		"""7	9:GI 			"""=	?@KM 			"""A	CDNP 			""">	@AKM 			"""=	?@MO 			""",HIr)   c                    U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / S	QS9S
5        g )N)rm   z-alpha=Falser   r   r!  )rm   -alpha-betar   r"  )rm   r)  z-beta=10)rm   z-noalphar*  r%  )rm   r)  z-10r*  )iTr;   r!   s    r#   testBoolParsingSingleHyphen$FireTest.testBoolParsingSingleHyphen  s    		"""<	>?JL 			"""?	ABLN 			"""<	>?IK 			""";	=>KM 			"""@	BCNPr)   c                    U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  S5         [        R                  " [        R                  / SQS9  S S S 5        U R                  [        R                  " [        R                  / S	QS9S
5        U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  SS9S5        g ! , (       d  f       N= f)N)rm   rd   r   r   )r+   rq   r#  r"  )rm   r  r   r@   )rm   rd   --test)rm   rd   r  z"--test")Tr.  rm   z--alpha=--test)r.  rq   zidentity --alpha \"--test\"r   r   r   r   r<   rE   r!   s    r#    testBoolParsingLessExpectedCases)FireTest.testBoolParsingLessExpectedCases  s:   		"""7	9:CE 			""">	@ 			"""4	67AC
 
	"	"1	%
ii  *KL 
& 			?	A 		 	TYYr//(24D'EG$& 			""",JK 
&	%s   1&E==
Fc                     U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / S	QS9S
5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  S5         [        R                  " [        R                  SS/S9  S S S 5        g ! , (       d  f       g = f)Nrm   -ar   Trq   )rm   r3  r$  r"  )rm   r3  -bTT)rm   r3  42r5  )*   T)rm   r3  r7  r5  r   r8  r+   )rm   rd   r  r5  r   r@   r5  )r   r   r   r   r<   rE   SimilarArgNamesr!   s    r#   testSingleCharFlagParsing"FireTest.testSingleCharFlagParsing  s>   		"""%t,	./:< 			"""9	;<FH 			"""2	45AC 			"""8	:;EG 			""">	@AIK 			"""E	G 
	"	"1	% ii""Z,>? 
&	%	%s   &E??
Fc                    U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / S	QS9S
5        U R                  [        R                  " [        R                  / SQS9S5        g )Nrm   z-a=Truer   r4  )rm   z-a=3r$  )r   r+   )rm   z-a=Falsez-b=15)FrQ   )rm   r3  r7  z-b=12)r8  r   )rm   z-a=42r5  r   r9  r;   r!   s    r#   "testSingleCharFlagParsingEqualSign+FireTest.testSingleCharFlagParsingEqualSign  s    		"""%y1	34?A 			""";	=>EG 			""";	=>IK 			""";	=>FH 			""";	=>FHr)   c                    U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  SS/S9S5        U R                  [        R                  " [        R                  SS/S9S	5        U R                  [        R                  " [        R                  / S
QS9S5        g )N	identity2r3  r   )TNz-a=10)r+   Nz--ar)  )NT)rA  r3  r)  r6  )r   r   r   r   r:  r!   s    r#   #testSingleCharFlagParsingExactMatch,FireTest.testSingleCharFlagParsingExactMatch  s    		"$$&-	/0<> 			"$$&0	23=? 			"$$&.	01=? 			"$$&1	34@B 			"$$7	9:FHr)   c                 n    U R                  [        R                  " [        R                  / SQS9S5        g )N)ra   z-DrO   z-Gr   r   rQ   )r   r   r   r   CapitalizedArgNamesr!   s    r#   &testSingleCharFlagParsingCapitalLetter/FireTest.testSingleCharFlagParsingCapitalLetter  s*    		"((8	:;=?r)   c                    S nU R                  [        R                  " USS/S9S5        U R                  [        R                  " USS/S9S5        U R                  S5         [        R                  " USS/S9  S S S 5        S	 nU R                  [        R                  " US/S9S
0 45        U R                  [        R                  " US/S9S0 45        U R                  S5         [        R                  " US/S9  S S S 5        U R                  [        R                  " USS/S9SSS
045        S nU R                  [        R                  " USS/S9SSS
045        U R                  [        R                  " USS/S9SSS045        U R                  [        R                  " USS/S9SSS045        g ! , (       d  f       GNB= f! , (       d  f       N= f)Nc                     X4$ r  r   )thingnothings     r#   fn1+FireTest.testBoolParsingWithNo.<locals>.fn1  s
    ^r)   z--thingz	--nothingr   r6  z--nonothingr   r@   c                     X4$ r  r   )rJ  kwargss     r#   fn2+FireTest.testBoolParsingWithNo.<locals>.fn2  s
    ]r)   TFz--nothing=TruerK  c                     X4$ r  r   )argrO  s     r#   fn3+FireTest.testBoolParsingWithNo.<locals>.fn3  s
    [r)   z--arg=valuevaluerJ  )r   r   r   rE   )r"   rL  rP  rT  s       r#   testBoolParsingWithNoFireTest.testBoolParsingWithNo  s    	TYYsY,DE!#TYYsY,FG"$ 
	"	"1	% iik=9: 
&TYYsYK84*ETYYs[M:UBKH		"	"1	%
ii./0 
& 	TYYs[:J,KLi./1TYYs]I,FG/1TYYs]K,HI/02TYYs]M,JK	5124- 
&	% 
&	%s   #F6'G6
G
Gc                    U R                  SS5         [        R                  " [        R                  / SQS9  S S S 5        U R                  SS5         [        R                  " [        R                  / SQS9  S S S 5        U R                  SS5         [        R                  " [        R                  SS/S9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N`= f! , (       d  f       g = f)Nr   zFire trace:
)r  r  ----tracer   )r  r  rZ  -trZ  r[  rE   r   r   r   r  r!   s    r#   testTraceFlagFireTest.testTraceFlag  s    		"	"1o	6
ii  *NO 
7		"	"1o	6
ii  *IJ 
7		"	"1o	6
ii  4*;< 
7	6	 
7	6	6	6	6	6#   &C&C&C$
C
C!$
C2c                    U R                  S5         [        R                  " [        R                  / SQS9  S S S 5        U R                  S5         [        R                  " [        R                  / SQS9  S S S 5        U R                  S5         [        R                  " [        R                  SS/S9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N_= f! , (       d  f       g = f)Nr   )r  r  rZ  --helpr   )r  r  rZ  -hrZ  rb  r]  r!   s    r#   testHelpFlagFireTest.testHelpFlag  s    		"	"1	%
ii  *MN 
&		"	"1	%
ii  *IJ 
&		"	"1	%
ii  4*:; 
&	%	 
&	%	%	%	%	%s#   &B?&C&C!?
C
C!
C/c                    U R                  SS5         [        R                  " [        R                  / SQS9  S S S 5        U R                  SS5         [        R                  " [        R                  / SQS9  S S S 5        U R                  SS5         [        R                  " [        R                  / SQS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N`= f! , (       d  f       g = f)Nr   zFire trace:
.*SYNOPSIS)r  r  rZ  rb  r[  r   )r  r  rZ  rc  r\  )rZ  rc  r[  r]  r!   s    r#   testHelpFlagAndTraceFlag!FireTest.testHelpFlagAndTraceFlag&  s    		"	"1&?	@
ii  FH 
A 
	"	"1&?	@
ii  *OP 
A		"	"1&?	@
ii  *AB 
A	@ 
A	@ 
A	@	@	@r`  c                     [         R                  " [        R                  SS/S9nU R	                  SU5        U R	                  SU5        g )NrZ  --completionr   r   r   r   r   r   r   assertInr"   completion_scripts     r#   testTabCompletionNoName FireTest.testTabCompletionNoName/  s:    		"--$9OPMM(-.MM(-.r)   c                     [         R                  " [        R                  SS/SS9nU R	                  SU5        U R	                  SU5        g )NrZ  rj  r   r   r   r   r   rk  rm  s     r#   testTabCompletionFireTest.testTabCompletion4  s@    		
n5CAMM(-.MM(-.r)   c                     SS 0n[         R                  " USS/SS9nU R                  SU5        U R                  SU5        g )Nmultiplyc                 
    X-  $ r  r   )r   r   s     r#   r   4FireTest.testTabCompletionWithDict.<locals>.<lambda>;  s    r)   rZ  rj  actCLIrr  )r   r   rl  )r"   actionsrn  s      r#   testTabCompletionWithDict"FireTest.testTabCompletionWithDict:  sG    -.G		$/h@MM(-.MM*/0r)   c                    U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  S5         [        R                  " [        R                  / S	QS9  S S S 5        g ! , (       d  f       g = f)
N)rm   +_r   )r~  r  )rm   r  r~  r   )r  r~  )rm   r   r  rZ  --separator&)r   r  r@   )rm   r   r  r~  r/  r!   s    r#   testBasicSeparatorFireTest.testBasicSeparatorA  s    		"""0	23=? 			"""5	78BD
 			"""J	L 
	"	"1	%
ii  *EF 
&	%	%s   1&C  
C.c                    U R                  [        R                  " [        R                  SS9[        R                  5        U R                  [        R                  " [        R                  / S9[        R                  5        U R                  [        R                  " [        R                  SS/S9[        R                  5        g)z8Fire should work with classes that disallow comparisons. r   r   N)r   r   r   r   NonComparabler!   s    r#   testNonComparableFireTest.testNonComparableT  s     			"""B/1A1AC		"""B/1A1AC
 			"""S#J79I9IKr)   c                     U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        g )N)get-objarg1arg2r   r   r  r  r   T)r  r  r  r   r   r   r  r  )r   r   r   r   
ReturnsObjr!   s    r#   testExtraSeparatorsFireTest.testExtraSeparatorsa  sY    		MML	N 		
 			MM	 	r)   c                    U R                  [        R                  " [        R                  / SQS9[        R
                  5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R                  / SQS9S5        g )N)r  r  r  r  r  r   )r  r  r  r   r  r  T)	r  r  r  r  r  r  rZ  r  r  )r  r  $$r  r  rZ  r  r  )r   r   r   r   r  r  r   r!   s    r#   testSeparatorForChaining!FireTest.testSeparatorForChainingn  s    		"--H	J

 			MMG	IJNP 			"--5	6 		
 			"--0	1 		r)   c                 n    U R                  [        R                  " [        R                  / SQS9S5        g )N)ra   rd   z-3re   z-4r   ir;   r!   s    r#   testNegativeNumbersFireTest.testNegativeNumbers  s,    		"""B	DEHJr)   c                 B   U R                  [        R                  " [        R                  / SQS9S5        U R                  [        R                  " [        R
                  / SQS9S5        U R                  [        R                  " [        R
                  SS/S9S5        g )	N)ra   rd   z2.2re   z3.0r   gffffff @)integer_reciprocalz	--divisorz5.0g?r  z4.0g      ?)r   r   r   r   r<   rH   r!   s    r#   testFloatForExpectedInt FireTest.testFloatForExpectedInt  s    		"""D	FGJL 			>	@ADF 			"##.BE-JKr)   c                 *   U R                  [        R                  " [        R                  SS/S9[        R                  5        U R                  S5         [        R                  " [        R                  SS/S9  S S S 5        g ! , (       d  f       g = f)N	--arg1=a1	--arg2=a2r   r@   a1a2)r   r   r   r   InstanceVarsrE   r!   s    r#   testClassInstantiationFireTest.testClassInstantiation  sc    $))BOO-8+,FH//+ 
	"	"1	%
ii$6 
&	%	%s   &B
Bc                 
   U R                  S5         [        R                  " [        R                  S/S9  S S S 5        U R                  S5         [        R                  " [        R                  S/S9  S S S 5        U R                  S5         [        R                  " [        R                  / SQS9  S S S 5        U R                  S5         [        R                  " [        R                  / SQS9  S S S 5        U R                  S5         [        R                  " [        R                  / SQS9  S S S 5        U R                  S5         [        R                  " [        R                  / SQS9  S S S 5        U R                  S5         [        R                  " [        R                  / S	QS9  S S S 5        U R                  S5         [        R                  " [        R                  / S
QS9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNo= f! , (       d  f       GNB= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nr@   r  r   r  )r  r  r   r   b1)r  r  r   zrun b1)r  r  r   r   r  b2b3)r  r  r   r   r  r  r  )r  r  r   jog)r  r  r   r  )rE   r   r   r   r  r!   s    r#   testTraceErrorsFireTest.testTraceErrors  s   		"	"1	%
ii$0 
&		"	"1	%
ii+7 
& 
	"	"1	%
ii)GH 
&		"	"1	%
iiAC 
&
 
	"	"1	%
iiBD 
& 
	"	"1	%
ii
//JL 
& 
	"	"1	%
ii)AB 
&		"	"1	%
ii)OP 
&	%1 
&	%	%	% 
&	%	%	%
 
&	% 
&	% 
&	%	%	%s_   %G8%H
&H&H.&I &I
&I#	&I48
H

H
H+.
H= 
I
I #
I14
Jc                 n    U R                  [        R                  " [        R                  SS/S9S5        g Nr   r   r   r   )r   r   r   r   DefaultMethodr!   s    r#   testClassWithDefaultMethod#FireTest.testClassWithDefaultMethod  s+    		"""Xt,<=rr)   c                 n    U R                  [        R                  " [        R                  SS/S9S5        g r  )r   r   r   r   InvalidPropertyr!   s    r#   testClassWithInvalidProperty%FireTest.testClassWithInvalidProperty  s+    		"$$x.>?r)   c                 @   U R                  S5         [        R                  " [        R                  S/S9  S S S 5        U R                  S5         [        R                  " [        R                  S/S9  S S S 5        g ! , (       d  f       NM= f! , (       d  f       g = f)Nr   rc  r   rb  )rE   r   r   r   decorated_methodr!   s    r#   testHelpKwargsDecorator FireTest.testHelpKwargsDecorator  sg    		"	"1	%
ii##dV4 
&		"	"1	%
ii##hZ8 
&	% 
&	%	%	%s   %A>%B>
B
Bc                     U R                  [        R                  " [        R                  R
                  / SQS9S5        g )N)r   rN   r   r   r   )r   r   r   r   ry   WithAsyncior!   s    r#   testFireAsyncioFireTest.testFireAsyncio  s/    TYYrvv11'BDEGIr)   r   N)C__name__
__module____qualname____firstlineno__r$   r'   r.   r7   r=   rI   rS   rW   r[   r^   rf   rj   rn   rr   rv   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r
  r  r  r  r&  r+  r0  r;  r>  rB  rF  rW  r^  rd  rg  ro  rs  r{  r  r  r  r  r  r  r  r  r  r  r  r  __static_attributes__r   r)   r#   r   r      sW   =C
-
GB

EDF"CJ0 MOQK D)NHL%
%
D 

HCL(P">@2H"H"?
!4F=<C/
/1G&K,J

7Q:

9Ir)   r   __main__)__doc__r3   r   unittestr   r   r   r   r   BaseTestCaser   r  mainr   r)   r#   <module>r     sL    ! 	 
   & s
Iy%% s
Il z.. r)   