+
    BiI                        ^ RI t ^ RIt^ RIt^ RIt^ RIHtHtHtHtH	t	H
t
HtHtHtHt ^ RIHtHtHt ^ RIHt ^ RIHt ^ RIHt  ! R R]4      t ! R	 R
]P4                  4      t ! R R]P4                  4      t ! R R]P4                  4      t ! R R]P4                  4      t ! R R]P4                  4      t] R8X  d   ]PB                  ! 4        R# R# )    N)
call_Callcreate_autospec	MagicMockMockANY	_CallListpatchPropertyMock	_callable)	dataclassfieldInitVar)datetimepartial)ClassVarc                   6   a  ] tR t^t o R tR tRR ltRtV tR# )	SomeClassc                    R # N selfabs   &&&>/usr/lib/python3.14/test/test_unittest/testmock/testhelpers.pyoneSomeClass.one           c                    R # r   r   r   s   &r   twoSomeClass.two   s    4r!   Nc                    R # r   r   r   r   s   &&r   threeSomeClass.three   s    Tr!   r   r   )	__name__
__module____qualname____firstlineno__r   r$   r(   __static_attributes____classdictcell____classdict__s   @r   r   r      s     !!r!   r   c                   D   a  ] tR t^t o R tR tR tR tR tR t	Rt
V tR# )	AnyTestc                    V P                  \        \        4       4       \        4       pV! \        4       VP	                  \        4       \        4       pV! \        R 7       VP	                  \        R 7       R# fooN)assertEqualr   objectr   assert_called_withr   mocks   & r   test_anyAnyTest.test_any   sO    fh'vS	$vC(r!   c                    V P                  \        \        4      R 4       V P                  \        \        4      R 4       R# )z<ANY>N)r8   reprr   strr#   s   &r   	test_reprAnyTest.test_repr$   s*    cG,S7+r!   c                    \        4       pV! \        P                  ! 4       \        P                  ! 4       R 7       VP                  \        \        R 7       R# r5   )r   r   nowr:   r   r;   s   & r   test_any_and_datetimeAnyTest.test_any_and_datetime)   s2    vX\\^0-r!   c           	     H   \        4       p ! R  R\        4      p\        P                  ! 4       V! 4       3 F  pVP	                  4        V! W3VR7       VP                  W3VR7       V! 4       P                  W3R7       \        \        \        \        R7      \        P
                  ! \        \        \        R7      \        4       \        4       P                  \        \        R7      .pV P                  WAP                  4       V P                  VP                  V4       K  	  R# )c                   ,   a  ] tR t^2t o R tR tRtV tR# )9AnyTest.test_any_mock_calls_comparison_order.<locals>.Fooc                    R # r   r   r   others   &&r   __eq__@AnyTest.test_any_mock_calls_comparison_order.<locals>.Foo.__eq__3       Tr!   c                    R # r   r   rL   s   &&r   __ne__@AnyTest.test_any_mock_calls_comparison_order.<locals>.Foo.__ne__4   rP   r!   r   N)r*   r+   r,   r-   rN   rR   r.   r/   r0   s   @r   FoorJ   2   s     )))r!   rT   r7   bar)zingaalpha)a1z99N)
r   r9   r   rE   
reset_mockmethodr   r   r8   
mock_calls)r   r<   rT   dexpecteds   &    r   $test_any_mock_calls_comparison_order,AnyTest.test_any_mock_calls_comparison_order0   s    v	*& 	* &AOOq!KK!K,FMMQM& Scs+Cs#6#6H
 X7T__h7 'r!   c                     ! R  R4      p\        4       pV! V! 4       ^4       VP                  \        \        ^4      .4       VP	                  \        ^4       VP                  \        ^4       R# )c                   &   a  ] tR t^Gt o R tRtV tR# )%AnyTest.test_any_no_spec.<locals>.Fooc                    R # r   r   rL   s   &&r   rN   ,AnyTest.test_any_no_spec.<locals>.Foo.__eq__H   rP   r!   r   Nr*   r+   r,   r-   rN   r.   r/   r0   s   @r   rT   rd   G        ))r!   rT   Nr   assert_has_callsr   r   r:   assert_any_callr   rT   r<   s   &  r   test_any_no_specAnyTest.test_any_no_specE   sV    	* 	* vSUAtC|n-Q'S!$r!   c                     ! R  R4      p\        VR7      pV! V! 4       ^4       VP                  \        \        ^4      .4       VP	                  \        ^4       VP                  \        ^4       R# )c                   &   a  ] tR t^Rt o R tRtV tR# )*AnyTest.test_any_and_spec_set.<locals>.Fooc                    R # r   r   rL   s   &&r   rN   1AnyTest.test_any_and_spec_set.<locals>.Foo.__eq__S   rP   r!   r   Nrg   r0   s   @r   rT   rq   R   rh   r!   rT   )specNri   rl   s   &  r   test_any_and_spec_setAnyTest.test_any_and_spec_setP   sX    	* 	* ~SUAtC|n-Q'S!$r!   r   N)r*   r+   r,   r-   r=   rB   rF   r`   rm   ru   r.   r/   r0   s   @r   r3   r3      s(     	),
.8*	%
% 
%r!   r3   c                      a  ] tR t^\t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )CallTestc           	        \        4       pV P                  V\        4       4       V P                  V\        R4      4       V P                  V\        R4      4       V P                  V\        / 34      4       V P                  V\        R	4      4       V P                  V\        R / 34      4       V P                  V\        R R/ 34      4       V P                  V\        R
4      4       V P                  V\        R4      4       V P                  V\        R/ 34      4       V P                  V\        RR/ 34      4       \        R4      pV P                  V\        R4      4       V P                  V\        R4      4       V P                  V\        R/ 34      4       V P                  V\        R R/ 34      4       \        R4      pV P                  V\        R4      4       V P                  V\        R R/ 34      4       \        R4      pV P                  V\        R4      4       V P                  V\        R R/ 34      4       V P                  V\        R4      4       V P                  V\        RR/ 34      4       \        R^/34      pV P                  V\        R RR^/34      4       V P                  V\        R R^/34      4       V P                  V\        RR^/34      4       V P                  V\        R^/34      4       R# ) rV   bazspamr   N)rz   r   r   )rz   r   r6   rV   r            r   )rz   r   r   r      )r   )r7   r   )rz   r   )rV   r   r   r8   assertNotEqual)r   kalls   & r   test_call_with_callCallTest.test_call_with_call^   s   wuw'uU|,uU|,ubU|,uX/ub"X/ub"b\23uX/u[12ueR[12ufb"%567\"u\23u_56ui_56ub)R%89:\"D%"89D%Y(;"<=()D%"89D%Y(;"<=D%(:";<D%	2(>"?@sAh[!ub"sAh%789ub3(^45ub3(^45usAh[12r!   c                "   \        4       pV P                  VR4       V P                  VR4       V P                  VR4       V P                  VR4       V P                  VR R/ 34       V P                  VR / 34       V P                  V/ 34       R# )r7   Nr   r6   r}   r7   r   )r   r8   r   argss   & r   test_empty__CallCallTest.test_empty__Call   s    wr"x(u%{+b"~.r{+u%r!   c                   \        R R/ 34      pV P                  VR4       V P                  VR4       V P                  VR R/ 34       V P                  VR / 34       V P                  VR4       V P                  VR4       V P                  V/ 34       V P                  VR4       V P                  VR4       V P                  VR/ 34       R# )	r7   rV   Nr   r6   r   r}   )rV   r~   r   r   s   & r   test_named_empty_callCallTest.test_named_empty_call   s    eR_%x({+b"~.r{+D%(D"%D2%(D(+D+.D5"+.r!   c                *   \        R/ 34      pV P                  VR4       V P                  VR4       V P                  VRR/ 34       V P                  VR/ 34       V P                  VP                  R4       V P                  VP                  / 4       R# )r   r7   Nr   r   r7   r   )r   r8   r   kwargsr   s   & r   test_call_with_argsCallTest.test_call_with_args   s    i_%|,12y"56	2/I.b)r!   c                ,   \        R R/ 34      pV P                  VR4       V P                  VR R/ 34       V P                  VP                  R4       V P                  VP                  / 4       V P	                  VR4       V P	                  VR/ 34       R# )r7   Nr   r   r   )r   r8   r   r   r   r   s   & r   test_named_call_with_args"CallTest.test_named_call_with_args   s    eY+,12y"56I.b)D,/D9b/2r!   c           
        \        R\        ^^R7      34      pV P                  V\        ^^R7      34       V P                  VR\        ^^R7      34       V P                  VRR\        ^^R7      34       V P                  VR\        ^^R7      34       V P                  VP                  R4       V P                  VP                  \        ^^R7      4       R# )r   r   r   r7   Nr   )r   dictr8   r   r   r   s   & r   test_call_with_kwargsCallTest.test_call_with_kwargs   s    b$a.)*qA01ta1~67r4!q>:;D1N34B'dQ!n5r!   c           
        \        R R\        ^^R7      34      pV P                  VR \        ^^R7      34       V P                  VR R\        ^^R7      34       V P                  VP                  R4       V P                  VP                  \        ^^R7      4       V P                  V\        ^^R7      34       V P                  VR\        ^^R7      34       R# )r7   r   Nr   )r   r   r8   r   r   r   r   s   & r   test_named_call_with_kwargs$CallTest.test_named_call_with_kwargs   s    eRQ01ta1~67r4!q>:;B'dQ!n5D4!q>"34D2ta1~"67r!   c                    \        R/ 34      pV P                  V\        ^^^4      4       V P                  \        ^^^4      V4       V P                  \        ^^^4      V.4       R# )r   Nr   )r   r8   r   assertInr   s   & r   #test_call_with_args_call_empty_name,CallTest.test_call_with_args_call_empty_name   sX    i_%tAq!}-aA-d1amdV,r!   c                    V P                  \        R4      \        ^^4      4       V P                  \        R4      \        ^^^4      8g  4       V P	                  \        R/ 34      \        ^^^4      8g  4       R# )r   Nr   r   r   )r   r   r   assertFalse
assertTruer#   s   &r   test_call_neCallTest.test_call_ne   s_    E,/a<|,Q1=>vrl+tAq!}<=r!   c                    \        R4      p^RV \        3 F'  pV P                  W4       V P                  W8H  4       K)  	  R# )r   Nr   )r   intr   r   )r   r   values   &  r   test_call_non_tuplesCallTest.test_call_non_tuples   s=    \"dC'E,T]+ (r!   c           
         V P                  \        \        4       4      R 4       V P                  \        \        R4      4      R4       V P                  \        \        RRR/34      4      R4       V P                  \        \        RRRR/34      4      R4       V P                  \        \        4      R4       V P                  \	        \        4      R4       V P                  \        \        4       4      R 4       V P                  \        \        ^4      4      R4       V P                  \        \        R	R
7      4      R4       V P                  \        \        4       P
                  4      R4       V P                  \        \        ^4      P
                  P                  ^R7      P                  4      R4       V P                  \        \        4       P                  ^^^R7      4      R4       V P                  \        \        4       ! 4       4      R4       V P                  \        \        ^4      ! ^4      4      R4       V P                  \        \        4       ! 4       P                  4       P                  P                  ^4      4      R4       R# )zcall()z
call.foo()r   r   zcall(1, 2, 3, a='b')rV   zcall.bar(1, 2, 3, a='b')r   zcall(1)thing)zzzcall(zz='thing')z
call().foor   zcall().foo.bar().bingzcall().foo(1, 2, a=3)zcall()()z	call()(2)zcall()().bar().baz.beep(1)Nr6   r   )
r8   r@   r   r   rA   r7   rV   bingr{   beepr#   s   &r   rB   CallTest.test_repr   s   eg1eHo.=eYc
$;<=/	1eUISz$BCD3	5 	dV,TF+dfx0d1g	2dg./1CDdfjj)<8d1gkkooo27780	2AqA&'#	
 	dfh4d1gaj);7##((+,(	
r!   c           	     0   V P                  \        4       R R/ 34       V P                  \        RR^^R7      R R	R^R^/34       \        4       pV! ^^^4       V! ^^R7       V P                  VP                  \        ^^^4      \        ^^R7      .4       R# )
rz   r7   rV   )r   r$   r   r$   r   Nr   rU   )r8   r   r   call_args_listr;   s   & r   	test_callCallTest.test_call  s    "b".eUq9nua.BC	E vQ1qA,,q!Q-Q8	:r!   c           	        V P                  \        P                  ! ^4      RR/ 34       V P                  \        P                  P	                  RR7      RR	RR/34       \        4       pVP                  ^^^4       VP                  P	                  ^^R7       V P                  VP                  \        P                  ! ^^^4      \        P                  P	                  ^^R7      .4       R# )
r   r7   eggs)fishzbar.bazr   r   Nr   r   )r8   r   r7   rV   r{   r   method_callsr;   s   & r   test_attribute_callCallTest.test_attribute_call  s    !udB&7862#R&&)9:	< vAqqA**((1a+TXX\\A\-CD	Fr!   c           
        \        ^4      P                  ^4      P                  ^^R7      pV P                  VRR\	        ^R7      34       \        4       pV! ^^^^R7       V P                  VP                  \        ^^^^R7      4       V P                  VP                  \        ^^^4      4       V P                  VP                  \        ^^^^R7      .4       V P                  VP                  \        ^^^^R7      .4       \        4       pVP                  ^4      P                  4       ! 4       P                  P                  ^R7       \         P                  ! ^4      P                  4       ! 4       P                  P                  ^R7      pV P                  VP                  R,          V4       V P                  VP                  VP                  4       4       R# )r   r   z().foo().barr   Nr   )r   r7   rV   r8   r   r   	call_argsr   r   r]   r{   r   	call_list)r   resultr<   	last_calls   &   r   test_extended_callCallTest.test_extended_call  se   aQ##A#+.$q	!BC{QQ!aa1)=>DNNDAqM:,,tAqA/C.DE41Q+?*@A{$$q$)HHQKOO%'++00105	,i8)*=*=*?@r!   c                    \        ^R7      P                  p\        ^R7      P                  pV P                  W4       V P                  W"4       V P                  W4       R# r   xN)r   r7   r8   r   r   s   &  r   test_extended_not_equal CallTest.test_extended_not_equal,  sF    1IMM1IMMA!r!   c                    \        ^R7      P                  4       P                  p\        ^R7      P                  4       P                  pV P                  W4       V P                  W"4       V P	                  W4       R# r   )r   r7   rV   r8   r   r   s   &  r   test_nested_calls_not_equal$CallTest.test_nested_calls_not_equal4  sV    1IMMO1IMMOA!r!   c                   \        4       pV! ^4       V P                  \        ^4      P                  4       VP                  4       \        4       pV! ^4      P                  ^4       V P                  \        ^4      P                  ^4      P                  4       VP                  4       \        4       pV! ^4      P                  ^4      ! ^4       V P                  \        ^4      P                  ^4      ! ^4      P                  4       VP                  4       \        4       p\        V! ^4      P                  ^4      ! ^4      P                  P                  P                  ^4      ! ^4      4       \        ^4      P                  ^4      ! ^4      P                  P                  P                  ^4      ! ^4      P                  4       pV P                  VP                  4       VP                  4       R# r   N)r   r8   r   r   r]   r\   r   r7   rV   r{   __int__)r   r<   r   s   &  r   test_call_listCallTest.test_call_list<  s[   {Qa**,doo>{Qqa*446	* {Qq!a*1-779	* {DGNN1a $$((,,Q/23Aw~~a #''++//215==?)4??;r!   c                    V P                  \        \        4       \        4       p\	        V4       V P                  VP
                  \        .4       V P                  \        .VP
                  4       R # r   )r8   r   r   r   r   r]   r   ms   & r   test_call_anyCallTest.test_call_anyQ  sL    s#KAu-#-r!   c                   \        RR^/3RR7      pV P                  \        V4      ^4       V P                  V^ ,          R4       V P                  V^,          R^/4       \        RR^/34      pV P                  W4       R# )r   r   T)r$   Nr   )r   r8   len)r   r   
other_argss   &  r   test_two_args_callCallTest.test_two_args_callZ  sx    fsAh'T2TA&a&)a3(+FS!H-.
*r!   c                    V P                  \        RR 4      ^ ,          R 4       V P                  \        R4      ^ ,          R4       V P                  \        RRR/34      ^ ,          R4       R# )r7   rz   helloworldNr   rV   barz)r   )r8   r   r#   s   &r   test_call_with_nameCallTest.test_call_with_namec  s]    r5)!,e413A6;'71CDFqI2Nr!   c           	        \        4       pV! 4       P                  4       R ,          ! 4        V P                  VP                  \	        4       \	        4       P                  4       \	        4       P                  4       P                  R 4      \	        4       P                  4       P                  4       ! 4       .4       \        4       p^V! 4       P                  4       R &   V P                  VP                  \	        4       \	        4       P                  4       \	        4       P                  4       P                  R ^4      .4       \        4       p\        V! 4       P                  4       4       V P                  VP                  \	        4       \	        4       P                  4       \	        4       P                  4       P                  4       .4       R# )rV   N)	r   r7   r8   r]   r   __getitem____setitem__iter__iter__r   s   & r   test_dunder_callCallTest.test_dunder_callh  s   K		%LLVTVZZ\46::<#;#;E#BDFJJLD\D\D^D`a	
 K	%LLVTVZZ\46::<#;#;E1#EF	
 KQSWWYLLVTVZZ\46::<#8#8#:;	
r!   r   N)r*   r+   r,   r-   r   r   r   r   r   r   r   r   r   r   rB   r   r   r   r   r   r   r   r   r   r   r.   r/   r0   s   @r   rx   rx   \   sw     "3J	&/ *	36	8->,
>	:	FA(""<*.+O

 
r!   rx   c                   .  a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R  t"R! t#R" t$R# t%R$ t&R% t'R& t(R' t)R( t*R) t+R* t,R+ t-R, t.R- t/R. t0R/t1V t2R0# )1SpecSignatureTesti}  c                   V P                  \        \        VR 4       VP                  ^^4       VP                  P	                  ^^4       V P                  \
        VP                  P                  ^^4       V P                  \        VP                  ^4       VP                  4        VP                  P	                  4        V P                  \
        VP                  P                  ^4       V P                  \        VP                  ^4       VP                  4        VP                  P	                  4        V P                  \
        VP                  P                  ^4       V P                  \        VP                  ^^4       VP                  ^4       VP                  P	                  ^4       VP                  ^R7       VP                  P	                  ^R7       R# )r7   r   N)	assertRaisesAttributeErrorgetattrr   r:   AssertionError	TypeErrorr$   r(   r;   s   &&r   _check_someclass_mock'SpecSignatureTest._check_someclass_mock  sK   .'4?A##Aq).((55q!	=)TXXq1
##%.((55q	:)TXXq1



%%'.**77	<)TZZA6

1

%%a(

Q


%%%*r!   c                    \        \        4      pV P                  V4       \        \        4       4      pV P                  V4       R # r   )r   r   r   r;   s   & r   
test_basicSpecSignatureTest.test_basic  s4    y)""4(y{+""4(r!   c                    R  p\        VRR7      pV P                  V! 4       R4        ! R R\        4      p\        VRR7      pV P                  V! 4       R4       R# )c                      R # r   r   r   r!   r   f>SpecSignatureTest.test_create_autospec_return_value.<locals>.f  s    r!   r7   return_valuec                       ] tR tRtRtR# )@SpecSignatureTest.test_create_autospec_return_value.<locals>.Fooi  r   Nr*   r+   r,   r-   r.   r   r!   r   rT   r        r!   rT   N)r   r8   r9   )r   r  r<   rT   s   &   r   !test_create_autospec_return_value3SpecSignatureTest.test_create_autospec_return_value  sO    qu5'	& 	 s7'r!   c                    \        \        4      p\        V4       VP                  4        V P                  VP                  P
                  ^ 4       R# )r   N)r   r   r[   r8   r   
call_countr   s   & r   test_autospec_reset_mock*SpecSignatureTest.test_autospec_reset_mock  s6    C A	--q1r!   c                     ! R  R\         4      p\        P                   ! VR4      pVP                  4       pV! 4       P                  ^4       VP	                  ^4       R# )c                   &   a  ] tR tRt o R tRtV tR# );SpecSignatureTest.test_mocking_unbound_methods.<locals>.Fooi  c                    R # r   r   )r   r7   s   &&r   r7   ?SpecSignatureTest.test_mocking_unbound_methods.<locals>.Foo.foo      r!   r   N)r*   r+   r,   r-   r7   r.   r/   r0   s   @r   rT   r         $$r!   rT   r7   N)r9   r
   startr7   r:   )r   rT   pmock_foos   &   r   test_mocking_unbound_methods.SpecSignatureTest.test_mocking_unbound_methods  sD    	%& 	%LLe$779		!##A&r!   c                v     ! R  R\         4      p\        VRR7      pV P                  VP                  R4       R# )c                       ] tR tRt^tRtR# )ESpecSignatureTest.test_create_autospec_keyword_arguments.<locals>.Fooi  r   Nr*   r+   r,   r-   r   r.   r   r!   r   rT   r        Ar!   rT   3r   N)r9   r   r8   r   )r   rT   r   s   &  r   &test_create_autospec_keyword_arguments8SpecSignatureTest.test_create_autospec_keyword_arguments  s.    	& 	C3'c"r!   c                    R R/R lp\        V4      pV! ^4       VP                  ^4       V P                  \        V^^4       V! ^^R7       VP                  ^^R7       R# )r   Nc                    R # r   r   r   s   &$r   r7   JSpecSignatureTest.test_create_autospec_keyword_only_arguments.<locals>.foo  s    tr!   r   )r   r:   r   r   )r   r7   r   s   &  r   +test_create_autospec_keyword_only_arguments=SpecSignatureTest.test_create_autospec_keyword_only_arguments  sY    ##C 	!	Q)Q1-	!q		Q!$r!   c                    \        4       pR  pW!n        \        V4      pVP                  R4       VP                  P                  R4       R# )c                     R # r   r   r   s   &r   r  @SpecSignatureTest.test_function_as_instance_attribute.<locals>.f      $r!   r   N)r   r  r   r:   )r   objr  r<   s   &   r   #test_function_as_instance_attribute5SpecSignatureTest.test_function_as_instance_attribute  s8    ks#v!!&)r!   c                   \        . 4      pVP                  R 4       VP                  P                  R 4       V P                  \        \
        VR 4        ! R R\        4      p\        V4      pVP                  P                  ^4       VP                  P                  P                  ^4       V P                  \        \
        VP                  R 4       R# )r7   c                       ] tR tRt. tRtR# )0SpecSignatureTest.test_spec_as_list.<locals>.Fooi  r   N)r*   r+   r,   r-   r7   r.   r   r!   r   rT   r4    s    Cr!   rT   N)r   appendr:   r   r   r   r9   r7   )r   r<   rT   s   &  r   test_spec_as_list#SpecSignatureTest.test_spec_as_list  s     r"E&&u-.'4?	& 	 s#**1-.'488UCr!   c                     ! R  R\         4      p\        V4      pW"P                  3 F  pV P                  V4       K  	  R# )c                   $    ] tR tRt]! 4       tRtR# ).SpecSignatureTest.test_attributes.<locals>.Subi  r   Nr*   r+   r,   r-   r   attrr.   r   r!   r   Subr:    	    ;Dr!   r=  N)r   r   r<  r   )r   r=  sub_mockr<   s   &   r   test_attributes!SpecSignatureTest.test_attributes  s9    	) 	 #3'}}-D&&t, .r!   c                  a  ! R  R\         4      o ! V3R lR\         4      p\        V4      pVP                  ^4       V P                  \        4      ;_uu_ 4        VP                  4        RRR4       V P                  \        4      ;_uu_ 4        VP                  ^^4       RRR4       R#   + '       g   i     LJ; i  + '       g   i     R# ; i)c                   &   a  ] tR tRt o R tRtV tR# )VSpecSignatureTest.test_spec_has_descriptor_returning_function.<locals>.CrazyDescriptori  c                    Vf   R # R # )Nc                     R # r   r   r   s   &r   <lambda>pSpecSignatureTest.test_spec_has_descriptor_returning_function.<locals>.CrazyDescriptor.__get__.<locals>.<lambda>  rP   r!   r   )r   r/  type_s   &&&r   __get__^SpecSignatureTest.test_spec_has_descriptor_returning_function.<locals>.CrazyDescriptor.__get__  s    ;)) r!   r   Nr*   r+   r,   r-   rJ  r.   r/   r0   s   @r   CrazyDescriptorrD    s     * *r!   rM  c                   (   < ] tR tRt Z ! 4       tRtR# )NSpecSignatureTest.test_spec_has_descriptor_returning_function.<locals>.MyClassi  r   N)r*   r+   r,   r-   	some_attrr.   )rM  s   r   MyClassrO    s    ')Ir!   rQ  N)r9   r   rP  r   r   )r   rQ  r<   rM  s   &  @r   +test_spec_has_descriptor_returning_function=SpecSignatureTest.test_spec_has_descriptor_returning_function  s    	*f 	*	*f 	* w'qy))NN *y))NN1a  *) *))))s   B/C/B?	C	c                h  a  ! V3R  lR\         4      oS! 4       pV P                  \        4      ;_uu_ 4        VP                   RRR4       V P	                  VP                  ^*4      ^*4       \        V4      pVP                  ^*4       V P                  \        4      ;_uu_ 4        VP                  4        RRR4       V P                  \        4      ;_uu_ 4        VP                  ^^4       RRR4       R#   + '       g   i     L; i  + '       g   i     L]; i  + '       g   i     R# ; i)c                   <   <a a ] tR tRt oVV 3R ltR tRtVtV ;t# )ISpecSignatureTest.test_spec_has_function_not_in_bases.<locals>.CrazyClassi  c                0   < \         SV `  4       R .,           # )crazy)super__dir__)r   
CrazyClass	__class__s   &r   rZ  QSpecSignatureTest.test_spec_has_function_not_in_bases.<locals>.CrazyClass.__dir__  s    Z68'BBr!   c                ,    VR 8X  d   R # \        V4      h)rX  c                     V # r   r   r   s   &r   rG  gSpecSignatureTest.test_spec_has_function_not_in_bases.<locals>.CrazyClass.__getattr__.<locals>.<lambda>  s    Qr!   r   )r   items   &&r   __getattr__USpecSignatureTest.test_spec_has_function_not_in_bases.<locals>.CrazyClass.__getattr__  s    7?&&$T**r!   r   )	r*   r+   r,   r-   rZ  rc  r.   r/   __classcell__)r\  r1   r[  s   @@r   r[  rV    s     C+ +r!   r[  N)r9   r   r   rM   r8   rX  r   r   )r   instr<   r[  s   &  @r   #test_spec_has_function_not_in_bases5SpecSignatureTest.test_spec_has_function_not_in_bases  s    	+ 	+ |~..JJ /B,t$

2y))JJL *y))JJq! *) /. *))))s#   C:'DD :D
	D	 D1	c                >    ! R  R\         4      p\        V4      pVP                  ^4       VP                  P                  ^4       V P	                  \
        \        VP                  R4       VP                  R4       VP                  P                  R4       V P	                  \        VP                  RR4       V P	                  \
        \        VP                  R4       VP                  ^^.4       VP                  P                  ^^.4       V P	                  \
        \        VP                  R4       VP                  P                  ^4       VP                  P                  P                  ^4       V P	                  \
        \        VP                  R4       R# )c                   .   a  ] tR tRt o R t]t/ tRtV tR# )GSpecSignatureTest.test_builtin_functions_types.<locals>.BuiltinSubclassi(  c                    R # r   r   )r   args   &&r   rV   KSpecSignatureTest.test_builtin_functions_types.<locals>.BuiltinSubclass.bar)  r  r!   r   N)	r*   r+   r,   r-   rV   sortedr<  r.   r/   r0   s   @r   BuiltinSubclassrk  (  s     $FDr!   rp  r7   rV   N)listr   r5  r:   r   r   r   rV   r   ro  r<  popr   rp  r<   s   &  r   test_builtin_functions_types.SpecSignatureTest.test_builtin_functions_types$  s   	d 	
 /A&&q).'4;;F##E*)TXXue<.'488UCQF&&1v..'4;;F		a		((+.'499eDr!   c                
    ! R  R\         4      p\        V4      pVP                  ^^4       VP                  4        VP	                  ^4       \
        P                  ! ^^4      \
        P                  ! 4       \
        P                  ! ^4      .pV P                  VP                  V4       VP                  P                  ^^4       VP                  P                  4        VP                  P	                  ^4       VP                  \
        P                  P                  ^^4      \
        P                  P                  4       \
        P                  P	                  ^4      .4       V P                  VP                  V4       R# )c                   $    ] tR tRt]! 4       tRtR# )0SpecSignatureTest.test_method_calls.<locals>.SubiA  r   Nr;  r   r!   r   r=  rx  A  r>  r!   r=  N)
r   r   r   r$   r(   r   r8   r   r<  extend)r   r=  r<   r_   s   &   r   test_method_calls#SpecSignatureTest.test_method_calls@  s    	) 	 s#A


1HHQNDHHJ

1>**H5		a				YY]]1a $))--/499??13EF	
 	**H5r!   c                    ! R  R\         4      p\        V4      pV P                  \        V4      . 4       V P                  \        \
        V4       V P                  \        \
        VP                  4       V P                  \        V4      . 4       V P                  VR,          \        4       V P                  VP                  R,          \        4       R# )c                       ] tR tRt/ tRtR# )=SpecSignatureTest.test_magic_methods.<locals>.BuiltinSubclassiW  r   N)r*   r+   r,   r-   r<  r.   r   r!   r   rp  r~  W  s    Dr!   rp  r7   N)	rq  r   r8   r   r   r   r<  assertIsInstancer   rs  s   &  r   test_magic_methods$SpecSignatureTest.test_magic_methodsV  s    	d 	 /dR()S$/)S$))4dR(d5k95dii.	:r!   c                    ! R  R\         4      pW! 4       3 Fe  p\        VRR7      pV P                  V4       V P                  \        \
        VRR4       V P                  \        \
        VP                  RR4       Kg  	  R# )c                   $    ] tR tRt]! 4       tRtR# ),SpecSignatureTest.test_spec_set.<locals>.Subie  r   Nr;  r   r!   r   r=  r  e  r>  r!   r=  T)spec_setr7   rV   N)r   r   r   r   r   setattrr<  )r   r=  rt   r<   s   &   r   test_spec_setSpecSignatureTest.test_spec_setd  sj    	) 	 #%LD"4$7D&&t,ngtUEJngtyy%O !r!   c                ^    ! R  R\         4      p ! R RV4      p ! R R\        V4      pW! 4       W"! 4       W3! 4       3 Fj  p\        V4      pVP                  ^^4       VP                  P	                  ^^4       VP                  ^^4       VP
                  P	                  ^^4       Kl  	  R# )c                   @   a  ] tR tRt o ]R 4       t]R 4       tRtV t	R# )/SpecSignatureTest.test_descriptors.<locals>.Fooiq  c                    R # r   r   )clsr   r   s   &&&r   r  1SpecSignatureTest.test_descriptors.<locals>.Foo.fr      "r!   c                    R # r   r   r   s   &&r   g1SpecSignatureTest.test_descriptors.<locals>.Foo.gt  s    r!   r   N)
r*   r+   r,   r-   classmethodr  staticmethodr  r.   r/   r0   s   @r   rT   r  q  s!     " " r!   rT   c                       ] tR tRtRtR# )/SpecSignatureTest.test_descriptors.<locals>.Bariw  r   Nr	  r   r!   r   Barr  w  s    r!   r  c                       ] tR tRtRtR# )/SpecSignatureTest.test_descriptors.<locals>.Baziy  r   Nr	  r   r!   r   Bazr  y  s    4r!   r  N)r9   r   r   r  assert_called_once_withr  )r   rT   r  r  rt   r<   s   &     r   test_descriptors"SpecSignatureTest.test_descriptorsp  s    	& 	 	#')S'#%ceS#%8D"4(DFF1aLFF**1a0FF1aLFF**1a0 9r!   c                    ! R  R\         4      pWn        \        V4      pV! 4        V P                  VP                  P                  4       VP                  4        VP                  P                  4        V P                  VP                  \        P
                  ! 4       \        P                  P                  4       .4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       VP                  P                  4        V P                  \        VP                  P                  P                   4       R# )c                   .   a  ] tR tRt o R tRt]tRtV tR# )+SpecSignatureTest.test_recursive.<locals>.Ai  c                    R # r   r   r#   s   &r   r   -SpecSignatureTest.test_recursive.<locals>.A.a  r    r!   zfoo bar bazr   N)	r*   r+   r,   r-   r   r7   rV   r.   r/   r0   s   @r   Ar    s     CCr!   r  N)r9   Br   r   calledr   r8   r   r   assertIsr7   rV   assertIsNotlowerr   r   r:   )r   r  r<   s   &  r   test_recursive SpecSignatureTest.test_recursive  s    	 	
 q!'
**TVVXtvvxxz,BCaeeQUU#488,.$((..*K*KLr!   c                :    ! R  R\         4      p\        V4      pV P                  W"! 4       4       W"! 4       3 F  pVP                  ^R7       VP                  P	                  ^R7       VP                  P	                  ^4       V P                  \        VP                  RR4       V P                  \        \        VR4       K  	  \        V! 4       4      pVP                  ^4       VP                  P	                  ^4       VP                  P	                  ^R7       V P                  \        VP                  RR4       V P                  \        \        VR4       V P                  \        V4       VP                  P                  ^4       VP                  P                  P	                  ^4       VP                  P                  P	                  ^R7       V P                  \        \        VP                  R4       VP                  4       P                  ^4       VP                  4       P                  P	                  ^4       VP                  4       P                  P	                  ^R7       V P                  \        \        VP                  4       R4       R# )	c                   <   a  ] tR tRt o R t ! R R]4      tRtV tR# )@SpecSignatureTest.test_spec_inheritance_for_classes.<locals>.Fooi  c                    R # r   r   )r   r   s   &&r   r   BSpecSignatureTest.test_spec_inheritance_for_classes.<locals>.Foo.a      Dr!   c                   &   a  ] tR tRt o R tRtV tR# )DSpecSignatureTest.test_spec_inheritance_for_classes.<locals>.Foo.Bari  c                    R # r   r   )r   ys   &&r   r  FSpecSignatureTest.test_spec_inheritance_for_classes.<locals>.Foo.Bar.f  r  r!   r   Nr*   r+   r,   r-   r  r.   r/   r0   s   @r   r  r    s     $$r!   r  r   N)	r*   r+   r,   r-   r   r9   r  r.   r/   r0   s   @r   rT   r    s      %f % %r!   rT   r   r7   rV   r   )r  r  N)r9   r   r  r   r:   r   r   r   r   r  r  )r   rT   
class_mock	this_mockinstance_mocks   &    r   !test_spec_inheritance_for_classes3SpecSignatureTest.test_spec_inheritance_for_classes  s   	%& 	%
 %S)
Z\2#Z\1IKK!KKK**Q*/KK**1-ieUCngy#F 2 (.**1-**Q*/)]__eUC.'=#F 	)]3A..q1...3.'=3D3DcJa 00300105.'=3D3D3FLr!   c                    ! R  R\         4      pWn        \        V4      pV! 4       pV P                  \        \
        VR4       VP                  4       pV P                  \        \
        VR4       \        V! 4       4      pV P                  \        \
        VR4       V P                  \        V4       VP                  4       pV P                  \        \
        VR4       R# )c                       ] tR tRt^tRtR# )+SpecSignatureTest.test_inherit.<locals>.Fooi  r   Nr   r   r!   r   rT   r    r!  r!   rT   r   N)r9   rT   r   r   r   r   r   )r   rT   r<   instanceattr_instancecall_results   &     r   test_inheritSpecSignatureTest.test_inherit  s    	& 	  s#6.'8SA
.'=#F su%.'4=)T* hhj.';Dr!   c                   \        ^4       \        \        4       \        R4       \        \        4       \        / 4       \        \        4       \        . 4       \        \        4       \        \        4       4       \        \
        4       \        R4       \        \        4       \        R4       \        \        4       \        R4       \        R4       R# )r   r7   g      ?y              ?FTN)r   r   rA   r   rq  setfloatcomplexr#   s   &r   test_builtinsSpecSignatureTest.test_builtins  s     r!   c                   R  p\        V4      pV P                  \        V4       V! ^^4       VP                  ^^4       VP                  ^^R7       VP                  ^^R7       Wn        \        V4      pV P                  \        VP                  4       VP	                  ^^4       VP                  P                  ^^4       VP                  P                  ^^R7       R# )c                     R # r   r   r   s   &&r   r  *SpecSignatureTest.test_function.<locals>.f  s    Tr!   r(  r   N)r   r   r   r:   r  r   r  r<   s   &  r   test_functionSpecSignatureTest.test_function  s    q!)T*Q
1%Q'!q)q!)TVV,q!!!!Q'!!A!+r!   c                  aa  ! R  R\         4      o ! V3R lR\         4      pV P                  VP                  ^^4      ^4       \        V4      oV P	                  \
        V3R l4       V P                  SP                  ^^4      SP                  P                  4       V P	                  \        V3R l4       SP                  pVP                  VP                  3 R# )c                   *   a  ] tR tRt o RR ltRtV tR# );SpecSignatureTest.test_skip_attributeerrors.<locals>.Raiseri   Nc                $    Vf   \        R4      hR # )Nz$Can only be accessed via an instancera  )r   r/  types   &&&r   rJ  CSpecSignatureTest.test_skip_attributeerrors.<locals>.Raiser.__get__  s    ;()OPP r!   r   r   rL  r0   s   @r   Raiserr     s     Q Qr!   r  c                   B   <a  ] tR tRt o  Z! 4       t]R 4       tRtV tR# )@SpecSignatureTest.test_skip_attributeerrors.<locals>.RaiserClassi  c                    W,           # r   r   r   s   &&r   existingISpecSignatureTest.test_skip_attributeerrors.<locals>.RaiserClass.existing  s	    ur!   r   N)	r*   r+   r,   r-   raiserr  r  r.   r/   )r1   r  s   @r   RaiserClassr    s     XF r!   r  c                 *   < SP                  ^^^4      # r   )r  )r   ss   &r   rG  =SpecSignatureTest.test_skip_attributeerrors.<locals>.<lambda>  s    qzz!Q/Br!   c                     < S P                   # r   )nonexisting)r  s   r   rG  r    s	    !--r!   N)r9   r8   r  r   r   r   r  r   r  r7   rV   )r   r  r/  r  r  s   &  @@r   test_skip_attributeerrors+SpecSignatureTest.test_skip_attributeerrors  s    	QV 	Q
	& 	 	--a3Q7K()%BCAq)1::+B+BC.*?@ hhr!   c                    ! R  R\         4      p\        V4      pV P                  \        V4       V! ^4       VP	                  ^4       VP	                  ^R7       V P                  \
        VP                  ^4       V! ^^4       VP                  ^^4       VP                  ^^R7       V P                  \
        VP                  ^^R7       R# )c                   *   a  ] tR tRt o RR ltRtV tR# )3SpecSignatureTest.test_signature_class.<locals>.Fooi  c                    R # r   r   r   s   &&&r   __init__<SpecSignatureTest.test_signature_class.<locals>.Foo.__init__  s    r!   r   Nr   r*   r+   r,   r-   r  r.   r/   r0   s   @r   rT   r    s     ,,r!   rT   r   r   N)r9   r   r   r   r  r   r:   rl   s   &  r   test_signature_class&SpecSignatureTest.test_signature_class  s    	-& 	- s#)T*Q$$Q'$$q$).$*F*FJQ
1%!q).$*A*AQ!Lr!   c                :     ! R  R\         4      p\        V4       R# )c                       ] tR tRtRtR# )6SpecSignatureTest.test_class_with_no_init.<locals>.Fooi,  r   Nr	  r   r!   r   rT   r  ,  r
  r!   rT   N)r9   r   )r   rT   s   & r   test_class_with_no_init)SpecSignatureTest.test_class_with_no_init)  s    	& 	r!   c                h    ! R  R\         4      p\        V4      pV! ^^4       VP                  ^^4       VP                  ^^R7       V P                  \        VR4       V! ^^4      pV P                  \        V4       V! RR7       VP                  R4       VP                  RR7       V! R4       VP                  R4       VP                  RR7       \        V! ^^4      4      pV! RR7       VP                  RR7       V P                  \        V4       V! R4       VP                  R4       R# )c                   ,   a  ] tR tRt o R tR tRtV tR# );SpecSignatureTest.test_signature_callable.<locals>.Callablei2  c                    R # r   r   )r   r   r  s   &&&r   r  DSpecSignatureTest.test_signature_callable.<locals>.Callable.__init__3  s    dr!   c                    R # r   r   r'   s   &&r   __call__DSpecSignatureTest.test_signature_callable.<locals>.Callable.__call__4  s    4r!   r   N)r*   r+   r,   r-   r  r  r.   r/   r0   s   @r   Callabler  2  s     *''r!   r  r   r  r   r   N)r9   r   r  r   r   r:   )r   r  r<   r  s   &   r   test_signature_callable)SpecSignatureTest.test_signature_callable1  s   	(v 	( x(Q
$$Q*$$qA$.)T3/1:)X.3((-((3(/##C(##c#*x1~.s$$s$+)T*S	$r!   c                j    ! R  R\         4      p\        V4      pV! 4       pVP                  4        V P                  \        VR4       V P                  \        V4       V P                  \        VR4       \        V! 4       4      pV P                  \        V4       V P                  \        VR4       R# )c                   &   a  ] tR tRt o R tRtV tR# )ASpecSignatureTest.test_signature_noncallable.<locals>.NonCallableiN  c                    R # r   r   r#   s   &r   r  JSpecSignatureTest.test_signature_noncallable.<locals>.NonCallable.__init__O  s    r!   r   Nr  r0   s   @r   NonCallabler  N  s      r!   r  r   N)r9   r   r  r   r   )r   r  r<   r  s   &   r   test_signature_noncallable,SpecSignatureTest.test_signature_noncallableM  s    	& 	 {+6$$&)T3/)X.)Xs3{}-)T*)T3/r!   c                     ! R  R\         4      p\        V4      pVP                  pV P                  V\	        R4      4       VP                  4        VP
                  P                  4        R# )c                       ] tR tRtRtRtR# )8SpecSignatureTest.test_create_autospec_none.<locals>.Fooi_  Nr   )r*   r+   r,   r-   rV   r.   r   r!   r   rT   r	  _  s    Cr!   rT   N)r9   r   rV   assertNotIsInstancer  r7   r  )r   rT   r<   nones   &   r   test_create_autospec_none+SpecSignatureTest.test_create_autospec_none^  sP    	& 	 s#xx  tDz2
((*r!   c                \    ! R  R\         4      p\        V4      pVP                  ^
4       VP                  P                  ^
4       VP                  P                  ^
R7       VP                  ^
R7       VP                  P                  ^
4       VP                  P                  ^
R7       R# )c                   &   a  ] tR tRt o R tRtV tR# )MSpecSignatureTest.test_autospec_functions_with_self_in_odd_place.<locals>.Fooik  c                    R # r   r   )r   r   s   &&r   r  OSpecSignatureTest.test_autospec_functions_with_self_in_odd_place.<locals>.Foo.fl  r  r!   r   Nr  r0   s   @r   rT   r  k  s       r!   rT   r#   N)r9   r   r  r:   )r   rT   r   s   &  r   .test_autospec_functions_with_self_in_odd_place@SpecSignatureTest.test_autospec_functions_with_self_in_odd_placej  s    	!& 	! C 	B	r"	B'		r"	B'r!   c                   a aa  ! R  R\         4      o ! R R\        4      o ! VV3R lR\         4      p\        V4      pV 3R lpV! VP                  4       V! VP                  4       V! VP
                  4       V! VP                  4       R# )c                   6   a  ] tR tRt o R tRR ltR tRtV tR# )CSpecSignatureTest.test_autospec_data_descriptor.<locals>.Descriptorix  c                    Wn         R # r   r   )r   r   s   &&r   r  LSpecSignatureTest.test_autospec_data_descriptor.<locals>.Descriptor.__init__y  s    "
r!   Nc                    V # r   r   )r   r/  r  s   &&&r   rJ  KSpecSignatureTest.test_autospec_data_descriptor.<locals>.Descriptor.__get__|  s    r!   c                    R # r   r   )r   r/  r   s   &&&r   __set__KSpecSignatureTest.test_autospec_data_descriptor.<locals>.Descriptor.__set__  s    4r!   r  r   )	r*   r+   r,   r-   r  rJ  r  r.   r/   r0   s   @r   
Descriptorr  x  s     # 0/r!   r   c                       ] tR tRtRtR# )CSpecSignatureTest.test_autospec_data_descriptor.<locals>.MyPropertyi  r   Nr	  r   r!   r   
MyPropertyr"    r
  r!   r#  c                   \   <a  ] tR tRt o R.t]R 4       t ZR 4       t Z! ^*4      tRt	V t
R# )<SpecSignatureTest.test_autospec_data_descriptor.<locals>.Fooi  slotc                    R # r   r   r#   s   &r   propASpecSignatureTest.test_autospec_data_descriptor.<locals>.Foo.prop  s     r!   c                    R # r   r   r#   s   &r   subpropDSpecSignatureTest.test_autospec_data_descriptor.<locals>.Foo.subprop  s    #r!   r   N)r*   r+   r,   r-   	__slots__propertyr(  r+  descr.   r/   )r1   r   r#  s   @r   rT   r%    s1     I   # #b>Dr!   rT   c                    < SP                  V \        4       V ! ^^^4       V P                  ^^^4       V P                  ^^^4       V P                  P                  ^^^4       R# r   )r  r   abcr  )	mock_attrr   s   &r   check_data_descriptorNSpecSignatureTest.test_autospec_data_descriptor.<locals>.check_data_descriptor  sW    !!)Y7aAMM!Q"--aA6MM11!Q:r!   N)r9   r.  r   r(  r+  r&  r/  )r   rT   r7   r3  r   r#  s   f   @@r   test_autospec_data_descriptor/SpecSignatureTest.test_autospec_data_descriptorw  so    	0 	0	 			" 		"& 		" c"	; 	chh'ckk*chh'chh'r!   c                J   \         P                  ! \        P                  \        P                  ! 4       4      pV P	                  V! 4       \
        4       \        V4      pV! 4        VP                  4        VP                  4        V! ^^^4       VP                  ^^^4       R# )r   N)	types
MethodTypetimectimer  rA   r   r  r[   )r   methmockeds   &  r   'test_autospec_on_bound_builtin_function9SpecSignatureTest.test_autospec_on_bound_builtin_function  sv    

DIIK8dfc* & 	&&(q!Q&&q!Q/r!   c                b     ! R  R4      pV! 4       p\        V4      pV P                  VR4       R# )c                   &   a  ] tR tRt o R tRtV tR# )ESpecSignatureTest.test_autospec_getattr_partial_function.<locals>.Fooi  c                    \        R  V4      # )c                     V # r   r   )names   &r   rG  cSpecSignatureTest.test_autospec_getattr_partial_function.<locals>.Foo.__getattr__.<locals>.<lambda>  s    Dr!   r   )r   	attributes   &&r   rc  QSpecSignatureTest.test_autospec_getattr_partial_function.<locals>.Foo.__getattr__  s    0)<<r!   r   N)r*   r+   r,   r-   rc  r.   r/   r0   s   @r   rT   rB    s     = =r!   rT   r*   N)r   assertNotHasAttr)r   rT   proxyautospecs   &   r   &test_autospec_getattr_partial_function8SpecSignatureTest.test_autospec_getattr_partial_function  s/    	= 	=
 "5)h
3r!   c                     ! R  R4      p\        VP                  R,          4      pV P                  \        P                  ! VP
                  4      \        P                  ! V4      4       R# )c                   4   a  ] tR tRt o ]RR l4       tRtV tR# )CSpecSignatureTest.test_autospec_signature_staticmethod.<locals>.Fooi  c                   R # r   r   r   r   cs   &&$r   static_methodQSpecSignatureTest.test_autospec_signature_staticmethod.<locals>.Foo.static_method  s    .2r!   r   N
   )r*   r+   r,   r-   r  rT  r.   r/   r0   s   @r   rT   rP    s     2 2r!   rT   rT  N)r   __dict__r8   inspect	signaturerT  rl   s   &  r   $test_autospec_signature_staticmethod6SpecSignatureTest.test_autospec_signature_staticmethod  sN    	3 	3 s||O<=**3+<+<=w?P?PQU?VWr!   c                     ! R  R4      p\        VP                  R,          4      pV P                  \        P                  ! VP
                  4      \        P                  ! V4      4       R# )c                   4   a  ] tR tRt o ]RR l4       tRtV tR# )BSpecSignatureTest.test_autospec_signature_classmethod.<locals>.Fooi  c                   R # r   r   )r  r   r   rS  s   &&&$r   class_methodOSpecSignatureTest.test_autospec_signature_classmethod.<locals>.Foo.class_method  s    26r!   r   NrV  )r*   r+   r,   r-   r  ra  r.   r/   r0   s   @r   rT   r_    s     6 6r!   rT   ra  N)r   rX  r8   rY  rZ  ra  rl   s   &  r   #test_autospec_signature_classmethod5SpecSignatureTest.test_autospec_signature_classmethod  sN    	7 	7 s||N;<**3+;+;<g>O>OPT>UVr!   c           	     P   R  p\        V4      pV! ^^4       V! ^^R7       V P                  \        P                  ! V4      \        P                  ! V4      4       V P                  VP                  \        ^^4      \        ^^R7      .4       V P                  \        V^4       R# )c                     R # r   r   r  s   &&r   myfunc=SpecSignatureTest.test_spec_inspect_signature.<locals>.myfunc  s    $r!   r  N)r   r8   rY  rZ  r]   r   r   r   )r   rg  r<   s   &  r   test_spec_inspect_signature-SpecSignatureTest.test_spec_inspect_signature  s~    v&Q
qA**40'2C2CF2KL41:ta1~*FG)T1-r!   c           	        RR R llpV P                  V! ^^^R7      ^4       \        V4      pV! ^^^R7       V! ^^R7       V P                  \        P                  ! V4      \        P                  ! V4      4       V P                  VP                  \        ^^^R7      \        ^^R7      .4       V P                  \        V^4       V P                  \        V^^^^R7       R# )rW  c                H    V ^8  d   QhR\         R\         R\         R\         /# )r   r   r   rS  returnr   )formats   "r   __annotate__OSpecSignatureTest.test_spec_inspect_signature_annotations.<locals>.__annotate__  s(     	 	3 	3 	 	 	r!   c                     W,           V,           # r   r   rR  s   &&$r   r7   FSpecSignatureTest.test_spec_inspect_signature_annotations.<locals>.foo  s    519r!   )rS  NrV  )r8   r   rY  rZ  r]   r   r   r   )r   r7   r<   s   &  r   'test_spec_inspect_signature_annotations9SpecSignatureTest.test_spec_inspect_signature_annotations  s    	 	Qa!,s#QQQ!**40'2C2CC2HI41?DaL*IJ)T1-)T1aa8r!   c                Z    R  p\        V4      pV P                  VP                  R4       R# )c                      R # )noper   r   r!   r   rG  >SpecSignatureTest.test_spec_function_no_name.<locals>.<lambda>  s    vr!   funcopyN)r   r8   r*   )r   funcr<   s   &  r   test_spec_function_no_name,SpecSignatureTest.test_spec_function_no_name  s%    t$	2r!   c                   R  p\        V4      pV! ^4       VP                  \        ^4      .4       V P                  \        4      ;_uu_ 4        VP                  \        ^4      .4       RRR4       R#   + '       g   i     R# ; i)c                     R # r   r   r   s   &r   r  @SpecSignatureTest.test_spec_function_assert_has_calls.<locals>.f  r.  r!   N)r   rj   r   r   r   r  s   &  r   #test_spec_function_assert_has_calls5SpecSignatureTest.test_spec_function_assert_has_calls  s^    q!QtAwi(~..!!47), /...s   A55B	c                    R  p\        V4      pV! ^4       VP                  ^4       V P                  \        4      ;_uu_ 4        VP                  ^4       RRR4       R#   + '       g   i     R# ; i)c                     R # r   r   r   s   &r   r  ?SpecSignatureTest.test_spec_function_assert_any_call.<locals>.f  r.  r!   N)r   rk   r   r   r  s   &  r   "test_spec_function_assert_any_call4SpecSignatureTest.test_spec_function_assert_any_call  sR    q!QQ~..  # /...s   A!!A2	c                |   R  p\        4       p\        WR7      pV! ^4      ! ^4       V P                  VP                  \	        ^4      .4       V P                  VP                  \	        ^4      .4       VP                  4        V P                  VP                  . 4       V P                  VP                  . 4       R# )c                     R # r   r   r   s   &r   r  :SpecSignatureTest.test_spec_function_reset_mock.<locals>.f  r.  r!   r  N)r   r   r8   r]   r   r[   )r   r  rvr<   s   &   r   test_spec_function_reset_mock/SpecSignatureTest.test_spec_function_reset_mock  s    Vq2Q
47)4a	2"-+r!   c                   \          ! R  R4      4       p\        VRR7      \        V! 4       4      3 Fw  pV P                  VR7      ;_uu_ 4        V P                  W!4       V P                  VP                  \
        4       V P                  VP                  \
        4       RRR4       Ky  	  \        V4      pRpV P                  \        V4      ;_uu_ 4        VP                   RRR4       V P                  \        V4      ;_uu_ 4        VP                   RRR4       R#   + '       g   i     EK  ; i  + '       g   i     LZ; i  + '       g   i     R# ; i)c                   V   a  ] tR tRt o ]! RR7      t]! RR7      tR tV 3R ltRt	V t
R# )@SpecSignatureTest.test_dataclass_post_init.<locals>.WithPostIniti  F)initc                "    ^V n         ^V n        R# r   r   r#   s   &r   __post_init__NSpecSignatureTest.test_dataclass_post_init.<locals>.WithPostInit.__post_init__  s    r!   c                2   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   # r   r   r   rn  )ro  r1   s   "r   rp  MSpecSignatureTest.test_dataclass_post_init.<locals>.WithPostInit.__annotate__  s     &  & r!   r   N)r*   r+   r,   r-   r   r   r   r  __annotate_func__r.   r/   r0   s   @r   WithPostInitr    s%     &A&A	  r!   r  Tr  r<   NMock object has no attribute)	r   r   subTestr  r   r   r   assertRaisesRegexr   )r   r  r<   msgs   &   r   test_dataclass_post_init*SpecSignatureTest.test_dataclass_post_init  s    		 	 
	 L48LN+
D 4((%%d9%%dffc2%%dffc2 )(	
 |,,##NC88FF 9##NC88FF 98 )(( 98888s%   AD!D6
E	!D36E		E	c                   \          ! R  R4      4       p\        VRR7      \        V! ^4      4      3 Fw  pV P                  VR7      ;_uu_ 4        V P                  W!4       V P                  VP                  \
        4       V P                  VP                  \
        4       RRR4       Ky  	  R#   + '       g   i     K  ; i)c                   0   a  ] tR tRt o ^ tV 3R ltRtV tR# )=SpecSignatureTest.test_dataclass_default.<locals>.WithDefaulti*  c                2   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   # r  rn  )ro  r1   s   "r   rp  JSpecSignatureTest.test_dataclass_default.<locals>.WithDefault.__annotate__*  s     F  J r!   r   Nr*   r+   r,   r-   r   r  r.   r/   r0   s   @r   WithDefaultr  *  s      A  r!   r  Tr  r  N)r   r   r  r  r   r   r   )r   r  r<   s   &  r   test_dataclass_default(SpecSignatureTest.test_dataclass_default)  s    		 	 
	
 K$7KN+
D 4((%%d8%%dffc2%%dffc2 )(	
 )((s   AB//C c                z   \          ! R  R4      4       p\        VRR7      \        V! ^4      4      3 Fq  pV P                  VR7      ;_uu_ 4        V P                  W!4       V P                  VP                  \
        4       VP                  P                  4        RRR4       Ks  	  R#   + '       g   i     K  ; i)c                   >   a  ] tR tRt o V 3R lR ltV 3R ltRtV tR# )@SpecSignatureTest.test_dataclass_with_method.<locals>.WithMethodi9  c                    < V ^8  d   QhRS[ /# )r   rm  rn  )ro  r1   s   "r   rp  MSpecSignatureTest.test_dataclass_with_method.<locals>.WithMethod.__annotate__<  s      3 r!   c                    ^# r   r   r#   s   &r   r   BSpecSignatureTest.test_dataclass_with_method.<locals>.WithMethod.b<  s    r!   c                &   < V ^8  d   Qh/ S[ ;R&   # )r   r   rn  )ro  r1   s   "r   rp  r  9  s     F r!   r   Nr  r0   s   @r   
WithMethodr  9  s        r!   r  Tr  r  N)r   r   r  r  r   r   r   assert_not_called)r   r  r<   s   &  r   test_dataclass_with_method,SpecSignatureTest.test_dataclass_with_method8  s    		 	 
	 J6JqM*
D 4((%%d7%%dffc2((* )(	
 )((s   AB))B:c           
     "   \          ! R  R4      4       pRp\        VRR7      \        V! ^4      4      3 F  pV P                  VR7      ;_uu_ 4        V P                  W14       V P	                  \
        V4      ;_uu_ 4        VP                   RRR4       V P	                  \
        V4      ;_uu_ 4        VP                   RRR4       RRR4       K  	  R#   + '       g   i     LQ; i  + '       g   i     L1; i  + '       g   i     K  ; i)c                   ,   a  ] tR tRt o V 3R ltRtV tR# )GSpecSignatureTest.test_dataclass_with_non_fields.<locals>.WithNonFieldsiI  c                R   < V ^8  d   Qh/ S[ S[,          ;R&   S[S[,          ;R&   # r  )r   r   r   )ro  r1   s   "r   rp  TSpecSignatureTest.test_dataclass_with_non_fields.<locals>.WithNonFields.__annotate__I  s$     }  s|O r!   r   Nr*   r+   r,   r-   r  r.   r/   r0   s   @r   WithNonFieldsr  I        r!   r  r  Tr  r  N)r   r   r  r  r  r   r   r   )r   r  r  r<   s   &   r   test_dataclass_with_non_fields0SpecSignatureTest.test_dataclass_with_non_fieldsH  s    		 	 
	 -MD9M!,-
D 4((%%d:++NC@@FF A++NC@@FF A	 )(	
 A@@@	 )((s<   0C=C&C=4C*C=C'"C=*C:5C==Dc                >   \          ! R  R4      4       p\        VRR7      \        V! ^4      4      3 F  pV P                  VR7      ;_uu_ 4        V P                  W!4       V P	                  VP
                  V4       V P                  VP                  \        4       V P                  VP                  \        4       V P                  VP                  \        4       V P                  VP                  \        4       RRR4       K  	  R#   + '       g   i     K  ; i)c                   ,   a  ] tR tRt o V 3R ltRtV tR# )CSpecSignatureTest.test_dataclass_special_attrs.<locals>.Descriptioni[  c                &   < V ^8  d   Qh/ S[ ;R&   # )r   rE  )rA   )ro  r1   s   "r   rp  PSpecSignatureTest.test_dataclass_special_attrs.<locals>.Description.__annotate__[  s     I r!   r   Nr  r0   s   @r   Descriptionr  [  r  r!   r  Tr  r  N)r   r   r  r  r  r\  __dataclass_fields__r   __dataclass_params____match_args____hash__)r   r  r<   s   &  r   test_dataclass_special_attrs.SpecSignatureTest.test_dataclass_special_attrsZ  s    		 	 
	 K$7KN+
D 4((%%d8dnnk:%%d&?&?K%%d&?&?K%%d&9&99E%%dmmY? )(	
 )((s   B.DDr   N)3r*   r+   r,   r-   r   r   r  r  r  r#  r)  r0  r6  r@  rR  rg  rt  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r5  r>  rL  r[  rc  ri  rt  r|  r  r  r  r  r  r  r  r  r.   r/   r0   s   @r   r   r   }  s     +6)	(2'#	%*D$-!(2E86,;	P1(M,#MLE0*,$0M$%80"	+
()(X
0
4XW
.9 3-$	,43+ $@ @r!   r   c                   J   a  ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )TestCallListik  c                Z   \        4       pV P                  VP                  \        4       V! ^^4       V! ^R7       V! ^^4       V! ^R7       \	        ^^4      \	        ^R7      \	        ^^4      \	        ^R7      3 F  pV P                  W!P                  4       K   	  \	        ^R7      \	        ^^4      .pV P                  W1P                  4       \	        ^^4      \	        ^R7      .pV P                  W1P                  4       \	        ^^4      \	        ^R7      .pV P                  W1P                  4       \	        ^^4      .pV P                  W1P                  4       V P                  \	        R4      VP                  4       V P                  \	        R4      .VP                  4       R# )r   r   r(  r   N)r   r  r   r	   r   r   assertNotIn)r   r<   r   callss   &   r   !test_args_list_contains_call_list.TestCallList.test_args_list_contains_call_listm  sB   vd119=Q
q	Q
q	AJq	41:tay@DMM$ 3 34 A DAJ'e001aTAY'e001aTAY'e001ae001ft':':;$v,)<)<=r!   c                    \        4       pV! ^^4       VP                  ^R7       VP                  P                  4       P                  RRR7       RpV P	                  \        VP                  4      V4       R# )r   r   r   dog)catzU[call(1, 2),
 call.foo(a=3),
 call.foo.bar(),
 call.foo.bar().baz('fish', cat='dog')]N)r   r7   rV   r{   r8   rA   r]   )r   r<   r_   s   &  r   test_call_list_strTestCallList.test_call_list_str  sa    vQ
16u-6 	 	T__-x8r!   c                   \        R \        ,          \        R7      pVP                  4       p \        P
                   VP                  4        \	        4       pVP
                   VP                  4        V P                  VP                  \        4       \        4       .4       ^Vn        V P                  VP                  \        4       \        4       \        ^4      .4       VP                  4        R#   TP                  4        i ; i)z%s.SomeClass.one)new_callableN)r
   r*   r   r  r   r   r  r:   r8   r]   r   stop)r   r  r<   r  s   &   r   test_propertymockTestCallList.test_propertymock  s    $x/lKwwy	MM((*AEE##%T__tvtv.>?AET__tvtvtAw.GHFFHAFFHs   B3C3 3Dc                    \        4       p\        4       pV\        V4      n        VP                  pVP	                  4        V P                  V\         4       V P                  V\        4       R # r   )r   r   r  r7   r  r  r
  r   r   r  returneds   &   r   test_propertymock_bare#TestCallList.test_propertymock_bare  sP    KNQ55	!!#h	2  <8r!   c                    \        4       p\        ^*R7      pV\        V4      n        VP                  pVP	                  4        V P                  V^*4       V P                  V\        4       R# )*   r  N)r   r   r  r7   r  r8   r
  r  s   &   r   test_propertymock_returnvalue*TestCallList.test_propertymock_returnvalue  sS    Kb)Q55	!!#2&  <8r!   c                   \        4       p\        \        R 7      pV\        V4      n        V P                  \        4      ;_uu_ 4        VP                   RRR4       VP                  4        R#   + '       g   i     L"; i))side_effectN)r   r   
ValueErrorr  r7   r   r  r   r   r  s   &  r   test_propertymock_side_effect*TestCallList.test_propertymock_side_effect  sP    KZ0Qz**EE +	!!# +*s   A//A?	c                    \        4       p\        4       pV\        V4      n        VP	                  VR 4       V P                  VP                  . 4       R# )r7   N)r   r   r  r7   attach_mockr8   r]   r  s   &  r   test_propertymock_attach%TestCallList.test_propertymock_attach  s=    FNQ	ar*r!   r   N)r*   r+   r,   r-   r  r  r  r  r  r  r  r.   r/   r0   s   @r   r  r  k  s-     >29$99$+ +r!   r  c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
TestCallablePredicatei  c                    \         \        \        \        \        \
        3 F  pV P                  \        V4      4       K  	  R # r   )rA   bytesr   rq  tupler   r   r   )r   r/  s   & r   	test_typeTestCallablePredicate.test_type  s)    T5)<COOIcN+ =r!   c                \     ! R  R4      pV! 4       pV P                  \        V4      4       R# )c                   &   a  ] tR tRt o R tRtV tR# )>TestCallablePredicate.test_call_magic_method.<locals>.Callablei  c                    R # r   r   r#   s   &r   r  GTestCallablePredicate.test_call_magic_method.<locals>.Callable.__call__  r  r!   r   N)r*   r+   r,   r-   r  r.   r/   r0   s   @r   r  r    r  r!   r  N)r   r   )r   r  r  s   &  r   test_call_magic_method,TestCallablePredicate.test_call_magic_method  s$    	% 	%:	(+,r!   c                b     ! R  R4      pV P                  \        VP                  4      4       R# )c                   0   a  ] tR tRt o ]R 4       tRtV tR# )ATestCallablePredicate.test_staticmethod.<locals>.WithStaticMethodi  c                     R # r   r   r   r!   r   
staticfuncLTestCallablePredicate.test_staticmethod.<locals>.WithStaticMethod.staticfunc  r  r!   r   N)r*   r+   r,   r-   r  r  r.   r/   r0   s   @r   WithStaticMethodr    s     " "r!   r  N)r   r   r  )r   r  s   & r   test_staticmethod'TestCallablePredicate.test_staticmethod  s&    	# 	# 		"2"="=>?r!   c                b     ! R  R4      pV P                  \        VP                  4      4       R# )c                   &    ] tR tRt]! R4      tRtR# )MTestCallablePredicate.test_non_callable_staticmethod.<locals>.BadStaticMethodi  Nr   )r*   r+   r,   r-   r  not_callabler.   r   r!   r   BadStaticMethodr
    s    '-Lr!   r  Nr   r   r  )r   r  s   & r   test_non_callable_staticmethod4TestCallablePredicate.test_non_callable_staticmethod  s%    	. 	.?#?#?@Ar!   c                b     ! R  R4      pV P                  \        VP                  4      4       R# )c                   0   a  ] tR tRt o ]R 4       tRtV tR# )?TestCallablePredicate.test_classmethod.<locals>.WithClassMethodi  c                    R # r   r   )r  s   &r   	classfuncITestCallablePredicate.test_classmethod.<locals>.WithClassMethod.classfunc  s     $r!   r   N)r*   r+   r,   r-   r  r  r.   r/   r0   s   @r   WithClassMethodr    s     $ $r!   r  N)r   r   r  )r   r  s   & r   test_classmethod&TestCallablePredicate.test_classmethod  s%    	% 	% 		/";";<=r!   c                b     ! R  R4      pV P                  \        VP                  4      4       R# )c                   &    ] tR tRt]! R4      tRtR# )KTestCallablePredicate.test_non_callable_classmethod.<locals>.BadClassMethodi  Nr   )r*   r+   r,   r-   r  r  r.   r   r!   r   BadClassMethodr    s    &t,Lr!   r  Nr  )r   r  s   & r   test_non_callable_classmethod3TestCallablePredicate.test_non_callable_classmethod  s%    	- 	->#>#>?@r!   r   N)r*   r+   r,   r-   r  r  r  r  r  r  r.   r/   r0   s   @r   r  r    s,     ,-@B
>A Ar!   r  __main__)"rY  r:  r8  unittestunittest.mockr   r   r   r   r   r   r	   r
   r   r   dataclassesr   r   r   r   	functoolsr   typingr   r9   r   TestCaser3   rx   r   r  r  r*   mainr   r!   r   <module>r'     s         
 2 1   " "C%h C%J^
x   ^
B	l@)) l@\a+8$$ a+H AH--  AF zMMO r!   