
    4hhC                    B   S SK r S SK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K
JrJrJrJrJrJrJrJrJrJrJrJrJr   " S S\5      r " S S	\5      r " S
 S\5      r " S S5      rS r " S S\R<                  5      r\ S:X  a  \RB                  " 5         gg)    N)	ALWAYS_EQ)is_instancemock)callDEFAULTpatchsentinel	MagicMockMockNonCallableMockNonCallableMagicMock	AsyncMock_Call	_CallListcreate_autospecInvalidSpecErrorc                   *    \ rS rSrS rS rS r\rSrg)Iter   c                 (    [        / SQ5      U l        g )Nthisisaniter)r   thingselfs    M/opt/python-3.13.8/usr/lib/python3.13/test/test_unittest/testmock/testmock.py__init__Iter.__init__   s    67
    c                     U $ N r   s    r    __iter__Iter.__iter__   s    r#   c                 ,    [        U R                  5      $ r%   )nextr   r   s    r    r*   	Iter.next   s    DJJr#   )r   N)	__name__
__module____qualname____firstlineno__r!   r'   r*   __next____static_attributes__r&   r#   r    r   r      s    8  Hr#   r   c                   F    \ rS rSrSS jr\SS j5       r\SS j5       rSr	g)	Something   Nc                     g r%   r&   r   abcds        r    methSomething.meth    s    Tr#   c                     g r%   r&   )clsr7   r8   r9   r:   s        r    cmethSomething.cmeth"   s    %)r#   c                     g r%   r&   r7   r8   r9   r:   s       r    smethSomething.smeth%   s     $r#   r&   r%   )
r,   r-   r.   r/   r;   classmethodr?   staticmethodrC   r1   r&   r#   r    r3   r3      s!    )) )$ $r#   r3   c                   *    \ rS rSrS r\S 5       rSrg)SomethingElse)   c                     S U l         g r%   	_instancer   s    r    r!   SomethingElse.__init__*   s	    r#   c                 J    U R                   (       d  SU l         U R                   $ )NobjectrK   r   s    r    instanceSomethingElse.instance-   s    ~~%DN~~r#   rK   N)r,   r-   r.   r/   r!   propertyrP   r1   r&   r#   r    rH   rH   )   s      r#   rH   c                        \ rS rSrSrSrSrSrg)Typos4   Nr&   )r,   r-   r.   r/   	autospect	auto_specset_specr1   r&   r#   r    rT   rT   4   s    IIHr#   rT   c                     g r%   r&   r7   s    r    	somethingr[   :   s    $r#   c                      \ 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@ rBSA rCSB rDSC rESD rFSE rGSF rHSG rISH rJSI rKSJ rLSK rMSL rNSM rOSN rPSO rQSP rRSQ rSSR rTSS rUST rVSU rWSV rXSW rYSX rZSY r[SZ r\S[ r]S\ r^S] r_S^ r`S_ raS` rbSa rcSb rdSc reSd rfSe rgSf rhSg riSh rjSi rkSj rlSk rmSl rnSm roSn rpSo rqSp rrSq rsSr rtSs ruSt rvSu rwSv rxSw rySx rzSy r{Sz r|S{ r}S| r~S} rS~ rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rSrg)MockTest=   c                     [        S5        g )Nzfrom unittest.mock import *)execr   s    r    test_allMockTest.test_all?   s     	*+r#   c                 p   [        5       nU R                  UR                  S5        U R                  UR                  SS5        U R                  [        UR                  [         5      S5        U R                  UR                  S S5        U R                  UR                  / S5        U R                  UR                  / S5        U R                  SUR                  S	5        U R                  UR                  S
5        U R                  UR                  S5        U R                  UR                   0 S5        g )Nz called not initialised correctlyr   z$call_count not initialised correctlyz&return_value not initialised correctlyz#call_args not initialised correctly(call_args_list not initialised correctlyz&method_calls not initialised correctly_itemsz/default mock should not have '_items' attributez parent not initialised correctlyz!methods not initialised correctlyz$children not initialised incorrectly)r   assertFalsecalledassertEqual
call_count
assertTruer   return_value	call_argscall_args_listmethod_callsassertNotIn__dict__assertIsNone_mock_parent_mock_methods_mock_childrenr   r   s     r    test_constructorMockTest.test_constructorF   s   v&HI!?	AD$5$5t<@	B 	>	@,,bC	E**BB	D 	4==J	L 	$++<	>$,,=	?,,b?	Ar#   c                 N    [        S S9nU R                  UR                  S5        g )Nrk   z(return value in constructor not honoured)r   rq   rk   ru   s     r     test_return_value_in_constructor)MockTest.test_return_value_in_constructorb   s&    &$++D	Fr#   c                 p    S n[        U5      nSUR                  l        U R                  U" 5       S5        g )Nc                      g r%   r&   r&   r#   r    f9MockTest.test_change_return_value_via_delegate.<locals>.fi       r#      )r   r   rk   rh   r   r~   r   s      r    %test_change_return_value_via_delegate.MockTest.test_change_return_value_via_delegateh   s-    q!!"		#r#   c                     S n[        U5      n[        5       UR                  l        U R	                  [        5         U" 5         S S S 5        g ! , (       d  f       g = f)Nc                      g r%   r&   r&   r#   r    r~   8MockTest.test_change_side_effect_via_delegate.<locals>.fp   r   r#   )r   	TypeErrorr   side_effectassertRaisesr   s      r    $test_change_side_effect_via_delegate-MockTest.test_change_side_effect_via_delegateo   s<    q! )		y)F *))s   A
Ac                    Sn[        SS[        0[        [        /US.D6nU R	                  [        5         U" 5       R                  SSSS9  SSS5        U R                  U" 5       R                  SSSS9U5        U R                  U" 5       R                  R
                  R                  S5        g! , (       d  f       Nj= f)ziIf kwargs are given to configure mock, the function must configure
the parent mock during initialization.zmocked valuespec)zreturn_value.meth.side_effectzreturn_value.meth.return_valueNr7   r8   r9   r&   )	r   r3   
ValueErrorr   r   r;   rh   rk   r   )r   mocked_result
class_mocks      r    5test_create_autospec_should_be_configurable_by_kwargs>MockTest.test_create_autospec_should_be_configurable_by_kwargsv   s     '$ >) >.8'-B.;8= >
 z*L5 +**TTT*BMR 	2277CCTJ +*s   B11
B?c                 f     " S S5      n[        USSS9nU R                  UR                  S5        g )Nc                       \ rS rSrSrg)?MockTest.test_create_autospec_correctly_handles_name.<locals>.X   r&   Nr,   r-   r.   r/   r1   r&   r#   r    Xr      s    r#   r   TY)spec_setname)r   rh   
_mock_namer   r   r   s      r    +test_create_autospec_correctly_handles_name4MockTest.test_create_autospec_correctly_handles_name   s)    q4c:#.r#   c                 8   [        SS9nU R                  S[        U5      5        U R                  S[        U5      -  [        U5      5        [        5       S4[        SS9S4/nU GH1  u  pU R                  SU-  [        UR                  5      5        U R                  SU-  [        UR
                  " 5       5      5        U R                  SU-  [        UR
                  " 5       R                  5      5        U R                  S	U-  [        U" 5       5      5        U R                  S
U-  [        U" 5       " 5       5      5        U R                  SU-  [        U" 5       " 5       R
                  R                  R                  5       R                  5      5        GM4     g )Nfoor   z'%s'r   barz%s.barz%s.foo()z%s.foo().bingz%s()z%s()()z%s()().foo.bar.baz().bing)r   assertInrepridr   r   bingbaz)r   r   mocksr   s       r    	test_reprMockTest.test_repr   s%   eT$Z(fr$x'd4&&!De$4e#<=JDMM(T/4>:MM*t+T$((*-=>MM/D0$txxz2GHMM&4-df6MM(T/4>:MM5<tvx||//335::;=  r#   c                     " S S[         5      n[        US9nU R                  S[        U5      5        [        U" 5       S9nU R                  S[        U5      5        [        US9nU R                  S[        U5      5        [        U" 5       S9nU R                  S[        U5      5        [        USS9nU R                  S[        U5      5        U R                  S	[        U5      5        [        SS
9nU R	                  S[        U5      5        [        5       nU R	                  S[        U5      5        [        S/S9nU R	                  S[        U5      5        g )Nc                       \ rS rSrSrg)'MockTest.test_repr_with_spec.<locals>.X   r&   Nr   r&   r#   r    r   r          r#   r   r   z
 spec='X' r   z spec_set='X' r   )r   r   z name='foo' r   r   )rO   r   r   r   ro   r   s      r    test_repr_with_specMockTest.test_repr_with_spec   s   	 	 |lDJ/~lDJ/Q&T
3QS!&T
3'lDJ/nd4j1d,vd,%!d,r#   c                   ^ [        5       nS nX!l        U R                  [        USSSS9  UR                  " SSSS9  / SQmU4S jnX!l        U R                  U" 5       U" 5       U" 5       // SQS	5        [        [        R                  S
9nU R                  UR                  [        R                  S5        S n[        U[        R                  S9nU R                  U" 5       [        R                  5        g )Nc                      [        S5      e)Nkablooie)SystemError)argskwargss     r    effect)MockTest.test_side_effect.<locals>.effect   s    j))r#   r         fishr   r   r   c                  $   > T R                  5       $ r%   popresultss   r    r   r          ;;= r#   r   r   r   zside effect not used correctlyr   z#side effect in constructor not usedc                      [         $ r%   r   r&   r#   r    r   .MockTest.test_side_effect.<locals>.side_effect   s    Nr#   )r   rk   )	r   r   r   r   assert_called_withrh   r
   
SideEffectRETURN)r   r   r   r   r   s       @r    test_side_effectMockTest.test_side_effect   s    v	* "+tQ:11-	!!$&$&$&19:	<  3 34))8+>+>?	A	(//J1r#   c                   ^ / SQmU4S jnS n[        U5      n/ SQUl        U R                  U" 5       U" 5       U" 5       // SQS5        / SQm[        U5      nXl        U R                  U" 5       U" 5       U" 5       // SQS5        g )Nr   c                  $   > T R                  5       $ r%   r   r   s   r    r   2MockTest.test_autospec_side_effect.<locals>.effect   r   r#   c                      g r%   r&   r&   r#   r    r~   -MockTest.test_autospec_side_effect.<locals>.f   r   r#   z1side effect not used correctly in create_autospecr   z'callable side effect not used correctly)r   r   rh   )r   r   r~   r   r   s       @r    test_autospec_side_effect"MockTest.test_autospec_side_effect   s    	!q!$$&$&$&19M	O q!!$&$&$&19C	Er#   c                 n    S n[        U5      n[        S5      Ul        U R                  [        SU5        g )Nc                      g r%   r&   r&   r#   r    r~   7MockTest.test_autospec_side_effect_exception.<locals>.f   r   r#   zBazinga!)r   r   r   assertRaisesRegexr   s      r    #test_autospec_side_effect_exception,MockTest.test_autospec_side_effect_exception   s.    q!%j1z:t<r#   c                 n    " S S[         5      n[        R                  R                  US5         U R                  [        S5         [        U5      R                    S S S 5        U R                  [        S5         [        R                  R                  USSS9R                  5         S S S 5        U R                  [        S5         [        R                  R                  UR                  S	SS9R                  5         S S S 5        U R                  [        S
5         [        R                  R                  USUR                  S9R                  5         S S S 5        U R                  [        S5         [        R                  R                  USUR                  S9R                  5         S S S 5        U R                  [        S5         [        R                  R                  USUR                  S9R                  5         S S S 5        U R                  [        S5         [        R                  " UR                  5        S S S 5        [        R                  " S[        R                  " 5       5         [        R                  " 5         S S S 5        S S S 5        g ! , (       d  f       GNC= f! , (       d  f       GN	= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN== f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nc                   *    \ rS rSr " S S\5      rSrg)&MockTest.test_autospec_mock.<locals>.A   c                       \ rS rSrSrSrg)(MockTest.test_autospec_mock.<locals>.A.B   Nr&   )r,   r-   r.   r/   Cr1   r&   r#   r    Br      s    r#   r   r&   N)r,   r-   r.   r/   rO   r   r1   r&   r#   r    Ar      s    F r#   r   r   z8Cannot autospec attr 'B' from target <MagicMock spec='A'z(Cannot autospec attr 'B' from target 'A'Tautospecz-Cannot autospec attr 'C' as the patch target r   z!Cannot spec attr 'B' as the spec r   z%Cannot spec attr 'B' as the spec_set r   zCannot spec a Mock object.zbuiltins.open)
rO   r   r	   r   r   r   r   startr   	mock_open)r   r   s     r    test_autospec_mockMockTest.test_autospec_mock   sU   	 	 ZZq#&''(8(bd"$$d ''(8(RT

!!!S4!8>>@T ''(8(WY

!!!##sT!:@@BY ''(8(KM

!!!Sqss!399;M ''(8(OQ

!!!S133!7==?Q ''(8(OQ

!!!S133!7==?Q ''(8:VW		!## XOT^^-=>  ?+ '&d dT TY YM MQ QQ Q XW>>+ '&s   L&JL&;.J+)L&8J=?L&8KL&38K!+L&	8K3L&!L 2L&2LL&
J(	#L&+
J:	5L&=
K	L&
K	L&!
K0	+L&3
L	=L&
L	L&
L#	L&&
L4c                 
  ^ Sm " U4S jS5      n[        XS9n[        R                  Ul        U R	                  U" 5       R                  5       T5        U R	                  UR
                  R                  UR
                  5        g)zOAutospec a class with wraps & test if the call is passed to the
wrapped object.real resultc                   "   > \ rS rSrU 4S jrSrg)9MockTest.test_create_autospec_wraps_class.<locals>.Resulti  c                    > T$ r%   r&   r   results    r    
get_resultDMockTest.test_create_autospec_wraps_class.<locals>.Result.get_result      r#   r&   Nr,   r-   r.   r/   r   r1   r   s   r    Resultr          r#   r   r   wrapsN)r   r   r   rk   rh   r   _mock_wraps)r   r   r   r   s      @r     test_create_autospec_wraps_class)MockTest.test_create_autospec_wraps_class
  sk     	 	 %&?
 #',,
002F;..::F<M<MNr#   c                   ^ Sm " U4S jS5      n[        USUS9n[        R                  UR                  l        U R                  UR                  5       T5        U R                  UR                  R                  UR                  5        g)zXAutospec a class instance with wraps & test if the call is passed
to the wrapped object.r   c                   ,   > \ rS rSr\U 4S j5       rSrg)BMockTest.test_create_autospec_instance_wraps_class.<locals>.Resulti  c                     > T $ )zThis is a static method because when the mocked instance of
'Result' will call this method, it won't be able to consume
'self' argument.r&   r   s   r    r   MMockTest.test_create_autospec_instance_wraps_class.<locals>.Result.get_result   s
    
 r#   r&   N)r,   r-   r.   r/   rF   r   r1   r   s   r    r   r    s     r#   r   T)r   rP   r   N)r   r   r   r   rk   rh   r  )r   r   instance_mockr   s      @r    )test_create_autospec_instance_wraps_class2MockTest.test_create_autospec_instance_wraps_class  ss     	 	 (Vd&Q 15  -113V<11==v?P?PQr#   c                    ^ Sm " U4S jS5      n[        UR                  UR                  S9nU R                  U" U" 5       5      T5        g)z^Autospec a function or a method with wraps & test if the call is
passed to the wrapped object.r   c                   "   > \ rS rSrU 4S jrSrg)AMockTest.test_create_autospec_wraps_function_type.<locals>.Resulti4  c                    > T$ r%   r&   r   s    r    r   LMockTest.test_create_autospec_wraps_function_type.<locals>.Result.get_result5  r   r#   r&   Nr   r   s   r    r   r  4  r   r#   r   r   N)r   r   rh   )r   r   	func_mockr   s      @r    (test_create_autospec_wraps_function_type1MockTest.test_create_autospec_wraps_function_type/  sE     	 	 $):):&BSBST	68,f5r#   c                 Z    S n[        XS9nSnX2l        U R                  U" 5       U5        g)zIf the mock has an explicit return_value set then calls are not
passed to the wrapped object and the return_value is returned instead.
c                      g r%   r&   r&   r#   r    my_funcNMockTest.test_explicit_return_value_even_if_mock_wraps_object.<locals>.my_func>  s    r#   r   zexplicit return valueN)r   rk   rh   )r   r  r  rk   s       r    4test_explicit_return_value_even_if_mock_wraps_object=MockTest.test_explicit_return_value_even_if_mock_wraps_object:  s.    	#@	.!-l3r#   c           	          [        5       n[        US S9nU" SSS5        [        US S9nU" SSS5        U R                  UR                  [        SSS5      [        SSS5      /5        g )N)parentrk   r   r   r            )r   rh   
mock_callsr   )r   r  mock1mock2s       r    test_explicit_parentMockTest.test_explicit_parentE  sb    F6aAF6aA**T!Q]DAqM,JKr#   c                    [        5       nS/n[        SXS9nU" [        R                  [        R                  S9  UR                  nUR                  " 5         [        R
                  Ul        UR                  nU" 5         UR                  " 5         U R                  UR                  SS5        U R                  UR                  US5        U R                  UR                  US5        U R                  UR                  S5        U R                  UR                  S	S
5        U R                  UR                   S S5        U R                  UR"                  / S5        U R                  UR$                  / SUR$                  < S/ < 35        U R                  UR&                  / 5        U R                  UR                  [        R
                  S5        U R                  UR                  US5        U R                  UR                  S5        U R                  UR(                  SU0S5        U R                  UR                  US5        U R                  UR                  R                  S5        g )Nr[   child)r   r  r   r[   zname incorrectly resetzparent incorrectly resetzmethods incorrectly resetzcalled not resetr   zcall_count not resetzcall_args not resetzcall_args_list not resetz(method_calls not initialised correctly: z != zside_effect incorrectly resetzreturn_value incorrectly resetzreturn value mock not resetzchildren reset incorrectlyzchildren incorrectly clearedzchild not reset)r   r
   r3   rH   r[   r   r   rk   
reset_mockrh   r   rr   rs   rf   rg   ri   rl   rm   rn   r  rt   )r   r  r   r   r[   rk   s         r    test_reset_mockMockTest.test_reset_mockN  s   };X8+A+ABNN	#..(('1	3**F3	5++T4	6 	&89!-CD/DE,,b2LM**B**B0	1 	"-))8+>+>9	;**L:	<,,.KL,,{I.F6	88	:..0ABr#   c                 F    [        5       nXl        UR                  " 5         g r%   )r   rk   r'  ru   s     r    test_reset_mock_recursion"MockTest.test_reset_mock_recursionw  s    v  	r#   c                 N    [         R                  " 5       nUR                  5         g r%   )r   r   r'  r   r7   s     r    (test_reset_mock_on_mock_open_issue_186221MockTest.test_reset_mock_on_mock_open_issue_18622~  s    NN	r#   c                    [        5       nU R                  [        UR                  [         5      S5        U" 5       nU R	                  U" 5       US5        UR
                  " 5         U" [        R                  5      nU R                  UR                  S5        U R	                  UR                  SS5        U R	                  UR                  [        R                  40 4S5        U R	                  UR                  R                  [        R                  4S5        U R	                  UR                  R                  0 S5        U R	                  UR                  [        R                  40 4/S5        [        R                  Ul        U" [        R                  [        R                  S9nU R	                  U[        R                  S	5        U R	                  UR                  S
S5        U R	                  UR                  [        R                  4S[        R                  04S5        U R	                  UR                  [        R                  40 4[        R                  4S[        R                  04/S5        g )Nz%Default return_value should be a Mockz'different result from consecutive callszcalled not setr   zcall_count incorrectzcall_args not setrd   )keyzincorrect return valuer   r2  zcall_args_list not set)r   rj   r   rk   rh   r'  r
   Argrg   ri   rl   r   r   rm   ReturnValueKeyArg)r   r   r   ret_vals       r    	test_callMockTest.test_call  s   vD$5$5t<?	A B	Dx||$%56!-CD8<</2)>,	.,,x||o,	...,	.,,/D.EC	E %00x||9("6"61	3 	!-CD#<</E8??+CD,	. 	,,ll_b!ll_uhoo67/
 %		&r#   c           	         [        5       nU" 5         U" [        R                  5        U" [        R                  S9  U" [        R                  [        R                  S9  U R	                  UR
                  S[        R                  44S[        R                  04[        R                  4S[        R                  04/5        U R	                  UR                  [        R                  4S[        R                  045        U R	                  UR                  R                  [        R                  45        U R	                  UR                  R                  S[        R                  05        U R                  UR                  S:H  5        g )N)kwr&   r:  za long sequence)
r   r
   r3  Kwargrh   rm   rl   r   r   rf   ru   s     r    test_call_args_comparison"MockTest.test_call_args_comparison  s   vX\\X\\hnn-,,ll_HNN#%ll_tX^^45	/
 	 	#<</D(..+AB	D,,x||o>..x~~0FG 	+<<=r#   c                 h   [         R                  " 5       nU R                  X:H  5        U R                  X:g  5        U R                  U[         R                  " 5       :H  5        U R                  U[         R                  " 5       :g  5        U R                  U[         R                  :H  5        U R                  U[         R                  :g  5        U R                  [         R                  U:H  5        U R                  [         R                  U:g  5        U R                  U[
        :H  5        U R                  U[
        :g  5        [         R                  " [         R                  " 5       5      n[         R                  " [         R                  5      nU R                  X#:H  5        U R                  X#:g  5        U R                  X2:H  5        U R                  X2:g  5        U R                  U[
        :H  5        U R                  U[
        :g  5        U R                  US:H  5        U R                  US:g  5        g )Nr   )r   r   rj   rf   ANYr   r   )r   mmcall1call2s       r    test_calls_equal_with_any"MockTest.test_calls_equal_with_any  s    ^^!"t~~//0dnn../dhh'txx(B'R(i(y)		$..*+		$((#'('(*+)+,!$
#r#   c                 (   [        5       nU" 5         UR                  " 5         U R                  [        UR                  S5        UR                  " 5         U R                  [        UR                  5        U" SSSSSS9  UR                  " SSSSSS9  g )Nr   r   r   r   nothingr7   r8   )r   r   r   AssertionErrorr'  ru   s     r    test_assert_called_with MockTest.test_assert_called_with  sz    v 	!.$*A*A1E.$*A*ABQ1),1a6Y?r#   c                 v    [        5       nU" [        5       5        UR                  [        R                  5        g r%   )r   r   r   r?  r   ms     r    test_assert_called_with_any$MockTest.test_assert_called_with_any  s$    K	)+	TXX&r#   c                    S
S jn[        US9nU" SSSS9  UR                  " SSS5        UR                  " SSSS9  U R                  [        UR                  SSSS9  U R                  [        5       nUR                  " SS	9  S S S 5        U R	                  WR
                  R                  [        5        g ! , (       d  f       N9= f)Nc                     g r%   r&   rB   s       r    r~   9MockTest.test_assert_called_with_function_spec.<locals>.f      r#   r   r   r   r   r8   r9   r      er%   )r   r   r   rH  assertIsInstance	exception	__cause__r   r   r~   r   cms       r    %test_assert_called_with_function_spec.MockTest.test_assert_called_with_function_spec  s    $|Q!q1a(!qA..$*A*AqA 	 	' ~."##a( /bll44i@ /.s   3B77
Cc                 `  ^  U 4S jn[        [        5       R                  S9nU" U5        [        [        R                  S9nU" U5        [        [        5       R                  S9nU" U5        [        [        R                  S9nU" U5        [        [        5       R                  S9nU" U5        g )Nc                    > U " SSSS9  U R                   " SSS5        U R                   " SSSS9  TR                  [        U R                   SSSS9  g )Nr   r   r   rT  r   )r   r   rH  r   r   s    r    _check<MockTest.test_assert_called_with_method_spec.<locals>._check   sW    a1##Aq!,##a12nd.E.E1  +r#   r   )r   r3   r;   r?   rC   )r   rb  r   s   `  r    #test_assert_called_with_method_spec,MockTest.test_assert_called_with_method_spec  s    	+ ))*t)t**+t)t**+tr#   c                 b   SnU R                  [        UR                  S5      5         [        5       R	                  5         S S S 5        U R                  [        UR                  S5      5         [        SS9R	                  5         S S S 5        g ! , (       d  f       NT= f! , (       d  f       g = f)Nz"Expected '{0}' to have been calledr   	test_namer   )r   rH  formatr   assert_called)r   msgs     r    $test_assert_called_exception_message-MockTest.test_assert_called_exception_message  sx    2##NCJJv4FGF  " H##NCJJ{4KLk"002 ML HGLLs   B.B 
B 
B.c                   ^ [        5       mT" 5         TR                  " 5         T" 5         U R                  [        TR                  5        TR                  " 5         U R                  [        TR                  5        T" SSSS9  TR                  " SSSS9  TR                  " 5         T" SSSS9  U R                  [        U4S j5        g )Nr   r   r   r   c                  (   > T R                   " SSSS9$ )Nbobr   r   rn  assert_called_once_withr   s   r    <lambda>7MockTest.test_assert_called_once_with.<locals>.<lambda>/  s    D001Er#   )r   rr  r   rH  r'  ru   s    @r    test_assert_called_once_with%MockTest.test_assert_called_once_with  s    v 	$$&.$*F*FG.$*F*FGUEq!$$UEq9UEq!E	
r#   c                    ^ [        5       mT" S5        T" S5        U R                  [        [        R                  " S5      U4S j5        g )Nr   r   zCalls: [call(1), call(2)]c                  &   > T R                  S5      $ )Nr   rq  )rM  s   r    rs  AMockTest.test_assert_called_once_with_call_list.<locals>.<lambda>8  s    A--a0r#   )r   r   rH  reescaperL  s    @r    &test_assert_called_once_with_call_list/MockTest.test_assert_called_once_with_call_list2  s8    F	!	!~II120	2r#   c                 0   SS jn[        US9nU" SSSS9  UR                  " SSS5        UR                  " SSSS9  U R                  [        UR                  SSSS9  U R                  [        5       nUR                  " SS	9  S S S 5        U R	                  WR
                  R                  [        5        U" S
SS5        U R                  [        UR                  SSS5        U R                  [        UR                  S
SS5        g ! , (       d  f       N= f)Nc                     g r%   r&   rB   s       r    r~   >MockTest.test_assert_called_once_with_function_spec.<locals>.f<  rS  r#   r   r   r   r   rT  r   rU  rV  r  r  r  r%   )r   rr  r   rH  rX  rY  rZ  r   r[  s       r    *test_assert_called_once_with_function_spec3MockTest.test_assert_called_once_with_function_spec;  s    $|Q!q$$Q1-$$qA3.$*F*FqA 	 	' ~."((1- /bll44i@Q1.$*F*FQ	#.$*F*FQ	# /.s   3D
Dc                 p   [        5       nUR                  nU R                  [        U[         5      S5        U R	                  UR                  US5        [        5       nSUR                  l        U R	                  UR                  " 5       SS5        U R                  UR                  R                  S5        g )Nzattribute isn't a mockz+different attributes returned for same namer   zmethod returned wrong valuez!method didn't record being called)r   r[   rj   r   rh   rk   rg   r   r   r[   s      r    #test_attribute_access_returns_mocks,MockTest.test_attribute_access_returns_mocksQ  s    vNN	It46NOF	H v&'#)1.KL--;	=r#   c                     [        5       nUR                  nU R                  UR                  SS5        U R                  UR                  US5        g )Nr[   z attribute name not set correctlyz"attribute parent not set correctly)r   r[   rh   r   rr   r  s      r    (test_attributes_have_name_and_parent_set1MockTest.test_attributes_have_name_and_parent_seta  sH    vNN	--{;	=//=	?r#   c                 n   [        5       nUR                  " SS S9  UR                  R                  S[        R                  S9  U R                  UR                  R                  SSS[        R                  04/S5        U R                  UR                  SS	S
S 04SSS[        R                  04/S5        g )Nr   r   r  )caker[   )r  r  z#method calls not recorded correctly)r   r   zsomething_else.something)r   r[   something_elser
   Cakerh   rn   ru   s     r    test_method_calls_recorded#MockTest.test_method_calls_recordedk  s    vqt$%%ahmm%<,,99'/FGH?	A 	**$/'/FG-
 2		3r#   c                    [        5       nUR                  " 5         U R                  UR                  S/5        U R                  UR                  SS0 4/5        [        5       nUR                  " S5        U R                  UR                  S/5        U R                  UR                  SS0 4/5        [        5       nUR                  " SS9  U R                  UR                  SS	S04/5        U R                  UR                  SSS	S04/5        [        5       nUR                  " SS
S9  U R                  UR                  SSSS
04/5        g )Nr&  r[   r&   	different)r[   r  r  r   xr  more)somer  )r   r[   rh   rn   ru   s     r     test_method_calls_compare_easily)MockTest.test_method_calls_compare_easilyz  s6   v**^,<=**k2r-B,CDv{#**-J,KL**&;<	> v**kC8-D,EF**k2Qx-H,IJv{0**.66*:;-
 	r#   c           	          S/S4 HA  nS H8  n[        S0 X!0D6nUR                    U R                  [        S[        US5        M:     MC     g )Nr[   r&  )r   r   z-Mock object has no attribute 'something_else'r  r&   )r   r[   r   AttributeErrorgetattr)r   r   argr   s       r    test_only_allowed_methods_exist(MockTest.test_only_allowed_methods_exist  sQ     M>1D)*sk* &&"CT#3 * 2r#   c                 v   ^   " S S[         5      nU 4S jnU" [        US95        U" [        U" 5       S95        g )Nc                   "    \ rS rSrSrSrS rSrg)*MockTest.test_from_spec.<locals>.Somethingi  r   Nc                     g r%   r&   r   s    r    y,MockTest.test_from_spec.<locals>.Something.y  s    r#   r&   )r,   r-   r.   r/   r  __something__r  r1   r&   r#   r    r3   r    s    A Mr#   r3   c                    > U R                     U R                    U R                    TR                  [        S[
        U S5        TR                  [        S[
        U S5        g )Nz Mock object has no attribute 'z'zz)Mock object has no attribute '__foobar__'
__foobar__)r  r  r  r   r  r  ra  s    r    test_attributes0MockTest.test_from_spec.<locals>.test_attributes  sR    FFFF""2s
 "";|r#   r   )rO   r   )r   r3   r  s   `  r    test_from_specMockTest.test_from_spec  s2    	 	
	  	),-)+./r#   c                 4   [        5       n[        US9nU R                  UR                  [        5        U R	                  UR                  [        5        U R                  U" 5       U" 5       5        UR                  5         U" SSSS9  UR                  SSSS9  g )Nr   r   r   r   r   )r   rh   rk   r   assertNotEqualr'  r   r   realr   s      r    test_wraps_callsMockTest.test_wraps_calls  s    v$
 	**G4 	D--w7(Q11-r#   c                 x   ^  " S S[         5      nU" 5       n[        US9mU R                  [        U4S j5        g )Nc                       \ rS rSrSrg)FMockTest.test_wraps_prevents_automatic_creation_of_mocks.<locals>.Reali  r&   Nr   r&   r#   r    Realr    r   r#   r  r  c                  &   > T R                   " 5       $ r%   )new_attrr   s   r    rs  JMockTest.test_wraps_prevents_automatic_creation_of_mocks.<locals>.<lambda>  s    $--/r#   )rO   r   r   r  r   r  r  r   s      @r    /test_wraps_prevents_automatic_creation_of_mocks8MockTest.test_wraps_prevents_automatic_creation_of_mocks  s3    	6 	 v$.*ABr#   c                     [        5       n[        US9nSUl        U R                  U" 5       S5        U R                  UR                  5        g )Nr  r   )r   rk   rh   rf   rg   r  s      r    ,test_wraps_call_with_nondefault_return_value5MockTest.test_wraps_call_with_nondefault_return_value  s?    v$#%r#   c                   ^  " S S[         5      nU" 5       n[        US9mU R                  TR                  " 5       UR                  5       5        U R	                  [
        U4S j5        U R                  TR                  UR                  5        TR                  R                  SSSS9nUR                  R                  R                  SSSS9  U R                  X1R                  R                  5       5        g )	Nc                   "    \ rS rSr\" 5       rSrg),MockTest.test_wraps_attributes.<locals>.Reali  r&   N)r,   r-   r.   r/   r   	attributer1   r&   r#   r    r  r    s	    Ir#   r  r  c                     > T R                   $ r%   r   r   s   r    rs  0MockTest.test_wraps_attributes.<locals>.<lambda>  s	    $))r#   r   r   r   r   )	rO   r   rh   r  r   r  r  frogr   )r   r  r  r   r   s       @r    test_wraps_attributesMockTest.test_wraps_attributes  s    	6 	 v$)4>>+;<.*;<DNNDNN;$$Q$2..q!!.<!4!4!67r#   c                     " S S[         5      nU" 5       n[        US9n[        R                  [        /UR
                  l        U R                  UR
                  " 5       [        R                  5        U R                  UR
                  " 5       [        R                  5        U R                  [        UR
                  5        g )Nc                       \ rS rSrS rSrg)[MockTest.test_customize_wrapped_object_with_side_effect_iterable_with_default.<locals>.Reali  c                 "    [         R                  $ r%   )r
   ORIGINAL_VALUEr   s    r    methodbMockTest.test_customize_wrapped_object_with_side_effect_iterable_with_default.<locals>.Real.method  s    ...r#   r&   Nr,   r-   r.   r/   r  r1   r&   r#   r    r  r    s    /r#   r  r  )rO   r   r
   VALUE1r   r  r   rh   r  r   StopIterationr  s       r    Dtest_customize_wrapped_object_with_side_effect_iterable_with_defaultMMockTest.test_customize_wrapped_object_with_side_effect_iterable_with_default  s    	/6 	/ v$#+??G"<8(?(?@-5r#   c                     " S S[         5      nU" 5       n[        US9n[        R                  [        R                  /UR
                  l        U R                  UR
                  " 5       [        R                  5        U R                  UR
                  " 5       [        R                  5        U R                  [        UR
                  5        g )Nc                       \ rS rSrS rSrg)NMockTest.test_customize_wrapped_object_with_side_effect_iterable.<locals>.Reali  c                     g r%   r&   r   s    r    r  UMockTest.test_customize_wrapped_object_with_side_effect_iterable.<locals>.Real.method      dr#   r&   Nr  r&   r#   r    r  r        "r#   r  r  )
rO   r   r
   r  VALUE2r  r   rh   r   r  r  s       r    7test_customize_wrapped_object_with_side_effect_iterable@MockTest.test_customize_wrapped_object_with_side_effect_iterable   s    	#6 	# v$#+??HOO"D88-5r#   c                      " S S[         5      nU" 5       n[        US9n[        UR                  l        U R                  [        UR                  5        g )Nc                       \ rS rSrS rSrg)OMockTest.test_customize_wrapped_object_with_side_effect_exception.<locals>.Reali  c                     g r%   r&   r   s    r    r  VMockTest.test_customize_wrapped_object_with_side_effect_exception.<locals>.Real.method  r  r#   r&   Nr  r&   r#   r    r  r    r  r#   r  r  )rO   r   RuntimeErrorr  r   r   r  s       r    8test_customize_wrapped_object_with_side_effect_exceptionAMockTest.test_customize_wrapped_object_with_side_effect_exception  sA    	#6 	# v$".,4r#   c                      " S S[         5      nS nU" 5       n[        US9nX$R                  l        U R	                  UR                  " 5       [
        R                  5        g )Nc                       \ rS rSrS rSrg)NMockTest.test_customize_wrapped_object_with_side_effect_function.<locals>.Reali  c                     g r%   r&   r   s    r    r  UMockTest.test_customize_wrapped_object_with_side_effect_function.<locals>.Real.method  r  r#   r&   Nr  r&   r#   r    r  r    r  r#   r  c                  "    [         R                  $ r%   )r
   VALUEr&   r#   r    r   UMockTest.test_customize_wrapped_object_with_side_effect_function.<locals>.side_effect  s    >>!r#   r  )rO   r   r  r   rh   r
   r  )r   r  r   r  r   s        r    7test_customize_wrapped_object_with_side_effect_function@MockTest.test_customize_wrapped_object_with_side_effect_function  sJ    	#6 	#	" v$"-7r#   c                      " S S[         5      nU" 5       n[        US9n[        R                  UR                  l        U R                  UR                  " 5       [        R                  5        g )Nc                       \ rS rSrS rSrg)FMockTest.test_customize_wrapped_object_with_return_value.<locals>.Reali&  c                     g r%   r&   r   s    r    r  MMockTest.test_customize_wrapped_object_with_return_value.<locals>.Real.method'  r  r#   r&   Nr  r&   r#   r    r  r  &  r  r#   r  r  )rO   r   r
   r  r  rk   rh   r  s       r    /test_customize_wrapped_object_with_return_value8MockTest.test_customize_wrapped_object_with_return_value%  sK    	#6 	# v$#+>> 7r#   c                     " S S[         5      nU" 5       n[        US9n[        R                  [        R                  /UR
                  l        [        R                  UR
                  l        U R                  UR
                  " 5       [        R                  5        U R                  UR
                  " 5       [        R                  5        U R                  [        UR
                  5        g )Nc                       \ rS rSrS rSrg)VMockTest.test_customize_wrapped_object_with_return_value_and_side_effect.<locals>.Reali2  c                     g r%   r&   r   s    r    r  ]MockTest.test_customize_wrapped_object_with_return_value_and_side_effect.<locals>.Real.method3  r  r#   r&   Nr  r&   r#   r    r  r  2  r  r#   r  r  )rO   r   r
   r  r  r  r   WRONG_VALUErk   rh   r   r  r  s       r    ?test_customize_wrapped_object_with_return_value_and_side_effectHMockTest.test_customize_wrapped_object_with_return_value_and_side_effect0  s    	#6 	# v$#+??HOO"D#+#7#7 88-5r#   c                     " S S[         5      nU" 5       n[        US9nS UR                  l        [        R
                  UR                  l        U R                  UR                  " 5       [        R
                  5        g )Nc                       \ rS rSrS rSrg)WMockTest.test_customize_wrapped_object_with_return_value_and_side_effect2.<locals>.RealiA  c                     g r%   r&   r   s    r    r  ^MockTest.test_customize_wrapped_object_with_return_value_and_side_effect2.<locals>.Real.methodB  r  r#   r&   Nr  r&   r#   r    r  r  A  r  r#   r  r  c                      [         $ r%   r   r&   r#   r    rs  [MockTest.test_customize_wrapped_object_with_return_value_and_side_effect2.<locals>.<lambda>F  s    'r#   )rO   r   r  r   r
   r  rk   rh   r  s       r    @test_customize_wrapped_object_with_return_value_and_side_effect2IMockTest.test_customize_wrapped_object_with_return_value_and_side_effect2?  sW    	#6 	# v$"1#+>> 7r#   c                     " S S[         5      nU" 5       n[        US9n[        R                  [        /UR
                  l        [        R                  UR
                  l        U R                  UR
                  " 5       [        R                  5        U R                  UR
                  " 5       [        R                  5        U R                  [        UR
                  5        g )Nc                       \ rS rSrS rSrg)^MockTest.test_customize_wrapped_object_with_return_value_and_side_effect_default.<locals>.RealiM  c                     g r%   r&   r   s    r    r  eMockTest.test_customize_wrapped_object_with_return_value_and_side_effect_default.<locals>.Real.methodN  r  r#   r&   Nr  r&   r#   r    r  r  M  r  r#   r  r  )rO   r   r
   r  r   r  r   r   rk   rh   r   r  r  s       r    Gtest_customize_wrapped_object_with_return_value_and_side_effect_defaultPMockTest.test_customize_wrapped_object_with_return_value_and_side_effect_defaultL  s    	#6 	# v$#+??G"<#+?? 88-5r#   c                 (   SS0n[        US9nU R                  UR                  S5      S5        U R                  US   [         5        U R	                  SU;   5        SUR                  l        U R                  UR                  S5      S5        [        R                  UR                  l        U R                  UR                  S5      S5        U R                  UR                  S5      S 5        U R                  US   [         5        U R	                  SU;   5        SUS'   U R                  UR                  S5      S5        U R                  US   [         5        U R	                  SU;   5        US	 U R                  UR                  S5      S 5        g )Nr   r   r  rk   r   spam)r   rh   getrX  rf   rk   r
   r   )r   datawrapped_dicts      r    test_magic_method_wraps_dict%MockTest.test_magic_method_wraps_dictZ  sg    u~ t,))%0%8l519=,./ )7%))%0.A )1(8(8%))%0%8))%0$7l519=,./U))%0&9l519=,./K))%0$7r#   c                      " S S5      n[        US9nU" 5       nU R                  UR                  S5      S5        U R                  US   S5        U R                  UR                  5       S5        g )Nc                        \ rS rSrS rS rSrg)3MockTest.test_magic_method_wraps_class.<locals>.Fooi}  c                     U$ r%   r&   )r   indexs     r    __getitem__?MockTest.test_magic_method_wraps_class.<locals>.Foo.__getitem__  s    r#   c                     gNr   r&   r   s    r    __custom_method__EMockTest.test_magic_method_wraps_class.<locals>.Foo.__custom_method__  s    r#   r&   N)r,   r-   r.   r/   r  r!  r1   r&   r#   r    Foor  }  s    r#   r#  r  r   r   )r   rh   r  r!  )r   r#  klassobjs       r    test_magic_method_wraps_class&MockTest.test_magic_method_wraps_class{  se    	 	 $g+Q/Q#..0%8r#   c                     [        [        S9nU R                  [        U5        [        [        S5      S9nU R                  [        U5        g Nr   r   )r   r  r   ru   s     r    test_exceptional_side_effect%MockTest.test_exceptional_side_effect  s;    /.$/u 56.$/r#   c                     [        [        S9nU R                  [        U5        [        [        S5      S9nU R                  [        U5        g r)  )r   KeyboardInterruptr   ru   s     r     test_baseexceptional_side_effect)MockTest.test_baseexceptional_side_effect  s?     12+T2 1% 89+T2r#   c                 Z    [        5       nU R                  [        SUR                  5        g )Nz
not called)r   r   rH  r   ru   s     r    test_assert_called_with_message(MockTest.test_assert_called_with_message  s$    v~| $ 7 7	9r#   c                 X    [        SS9nU R                  [        SUR                  5        g )Ngeoffreyr   z'Expected 'geoffrey' to be called once\.)r   r   rH  rr  ru   s     r    $test_assert_called_once_with_message-MockTest.test_assert_called_once_with_message  s(    $~?11	3r#   c                    ^ [        5       mU R                  [        U4S j5        STl        U R	                  TR                  S5        g )Nc                     > T R                   $ r%   )r,   r   s   r    rs  'MockTest.test__name__.<locals>.<lambda>  s	    $--r#   r   )r   r   r  r,   rh   ru   s    @r    test__name__MockTest.test__name__  s6    v.*?@.r#   c                      " S S[         5      n[        U" S/5      S9nUR                  " S5        UR                  R                  S5        U R	                  [
        [        US5        g )Nc                       \ rS rSrSrg)-MockTest.test_spec_list_subclass.<locals>.Subi  r&   Nr   r&   r#   r    Subr>    r   r#   r?  r   r   r   )listr   appendr   r   r  r  )r   r?  r   s      r    test_spec_list_subclass MockTest.test_spec_list_subclass  sO    	$ 	eW&A&&q).'4?r#   c                     " S S[         5      n[        US9nU R                  X!5        [        U" 5       S9nU R                  X!5        U R                  UR                  U5        U R                  [        5       R                  R                  S5        [        US9nU R                  X!5        [        U" 5       S9nU R                  X!5        g )Nc                       \ rS rSrSrg)#MockTest.test_spec_class.<locals>.Xi  r&   Nr   r&   r#   r    r   rF    r   r#   r   r   r   r   )rO   r   rX  assertIs	__class__rh   r,   r   s      r    test_spec_classMockTest.test_spec_class  s    	 	 |d&~d&dnna())22F;Qd&QS!d&r#   c                     " S S5      n[        US9nU R                  X!5        [        U" 5       S9nU R                  X!5        U R                  UR                  U5        U R	                  [        5       R                  R
                  S5        [        US9nU R                  X!5        [        U" 5       S9nU R                  X!5        g )Nc                       \ rS rSrSrg)2MockTest.test_spec_class_no_object_base.<locals>.Xi  r&   Nr   r&   r#   r    r   rM    r   r#   r   r   r   r   )r   rX  rG  rH  rh   r,   r   s      r    test_spec_class_no_object_base'MockTest.test_spec_class_no_object_base  s    	 	 |d&~d&dnna())22F;Qd&QS!d&r#   c                    ^  " S S[         5      n[        US9mSTl        [        US9mU4S jnSTl        U R	                  [
        U5        g )Nc                       \ rS rSrSrSrg)8MockTest.test_setting_attribute_with_spec_set.<locals>.Xi  r   r&   N)r,   r-   r.   r/   r  r1   r&   r#   r    r   rR    s    Ar#   r   r   r   r   c                     > ST l         g r   r  r   s   r    set_attr?MockTest.test_setting_attribute_with_spec_set.<locals>.set_attr  s
    DFr#   )rO   r   r  r  r   r  )r   r   rT  r   s      @r    $test_setting_attribute_with_spec_set-MockTest.test_setting_attribute_with_spec_set  sI    	 	 |Q	 .(3r#   c                     [         R                  " 5       nU R                  [         R                  U5        [         R                  " [	        S5      5        [
        R
                  " [        5       5        g )Ng    eA)sysgetrecursionlimit
addCleanupsetrecursionlimitintcopyr   )r   currents     r    	test_copyMockTest.test_copy  sF    '')--w7 	c$i(		$&r#   c                    ^  " S S[         5      nU" US9mU R                  TR                  S5        U4S jnU R                  [        U5        U4S jnU R                  [
        U5        g )Nc                   2    \ rS rSrS rS r\" \\5      rSrg)8MockTest.test_subclass_with_properties.<locals>.SubClassi  c                     gNr   r&   r   s    r    _get=MockTest.test_subclass_with_properties.<locals>.SubClass._get  s    r#   c                     [        S5      e)Nzstrange error)	NameError)r   values     r    _set=MockTest.test_subclass_with_properties.<locals>.SubClass._set  s    00r#   r&   N)	r,   r-   r.   r/   rg  rl  rR   some_attributer1   r&   r#   r    SubClassrd    s    1%dD1Nr#   ro  r   r   c                     > ST l         g rf  )rn  ss   r    test4MockTest.test_subclass_with_properties.<locals>.test  s     Ar#   c                     > ST l         g )Nr   r   rq  s   r    rs  rt    s
    AEr#   )r   rh   rn  r   rj  r  )r   ro  rs  rr  s      @r    test_subclass_with_properties&MockTest.test_subclass_with_properties  s[    	2t 	2 h'))1-	!)T*	.$/r#   c                     [        5       nS nU[        U5      l        U" S5        UR                  " S5        U R	                  [
        USS5        g )Nc                 F    U R                  U5        U R                  U5      $ r%   )_increment_mock_call
_mock_callr.  s     r    __call__,MockTest.test_setting_call.<locals>.__call__  s    %%a(??1%%r#   onetwo)r   typer}  r   r   r   )r   r   r}  s      r    test_setting_callMockTest.test_setting_call  sE    v	& 'T
U&)T5%8r#   c                 l   [        5       n[        [        U5      5      n[        [        [         5       Vs/ s H  o3R                  S5      (       a  M  UPM     sn5      nU R	                  [        5       XB-
  5        UR
                  UR                  4  U R                  S[        U5      5        U R                  S[        U5      5        S =Ul        Ul	        U R                  S[        U5      5        U R                  S[        U5      5        S Ul
        U R                  S[        U5      5        g s  snf )N_r7   r8   r9   r:   c                     [        / 5      $ r%   )r   rq  s    r    rs  #MockTest.test_dir.<locals>.<lambda>1  s    $r(r#   r'   )r   setdir
startswithrh   r7   r8   r   r9   r:   r'   )r   r   attrsrM  
type_attrss        r    test_dirMockTest.test_dir  s    vCISYHYll36G!YHI
 	
 23 	c3t9%c3t9% c3t9%c3t9% +j#d),# Is   D1D1c                 8   [        [        R                  S9n[        [	        [        R                  5      5      n[        [	        U5      5      nU R                  [        5       X#-
  5        SUl        U R                  [	        U5      R                  S5      S5        g )Nr   r   versionr   )r   unittestTestCaser  r  rh   r  count)r   r   testcase_attrsr  s       r    test_dir_from_specMockTest.test_dir_from_spec5  sq    **+S!2!234CI 	 67 T3Q7r#   c                 H   [         R                  " [        SS5      nUR                  5          [	        [        [        5       5      5      n[	        [        [        5      5      nU R                  [	        5       X2-
  5        UR                  5         g ! UR                  5         f = f)N
FILTER_DIRF)	r	   rO   r   r   r  r  r   rh   stop)r   patcherr  r  s       r    test_filter_dirMockTest.test_filter_dirB  si    ,,t\59	DF$ESYJ SUJ$67LLNGLLNs   AB B!c                     [        5       nSUR                  l        U R                  S[	        U5      5        U?U R                  S[	        U5      5        g )Nr   r%  )r   r%  rk   r   r  ro   ru   s     r    ,test_dir_does_not_include_deleted_attributes5MockTest.test_dir_does_not_include_deleted_attributesO  s@    v"#

gs4y)J#d),r#   c                    [        SS9nU R                  UR                  S5        [        SS9nU R                  UR                  S5        [        S[        5       S.n[        S0 UD6nU R                  [        U5        U R                  UR                  R                  5       S5        U R                  UR                  [        5        [        5       nUR                  " S0 UD6  U R                  [        U5        U R                  UR                  R                  5       S5        U R                  UR                  [        5        g )Nr   rv  !   )r   zfoo.bar.return_valuer   r&   )	r   rh   r   r   KeyErrorr   r   rX  configure_mock)r   r   r   s      r    test_configure_mockMockTest.test_configure_mockX  s    5)U#5)!)2"&~f~(D),dhh	2v%f%(D),dhh	2r#   c                     U R                  U5       nU" U0 UD6  S S S 5        [        WR                  5      nU R                  Xr5        g ! , (       d  f       N5= fr%   )r   strrY  rh   )r   rY  messagefuncr   r   contextrj  s           r    assertRaisesWithMsgMockTest.assertRaisesWithMsgm  sK    y)W$!&! *'##$& *)s   	A


Ac                 H   [        5       nSnSnSnU R                  [        XCU4-  UR                  SSSSS9  UR                  " SSSSS	9  UR                  R                  UR                  R
                  /nU H&  nS
nSnSnU R                  [        XCU4-  USSSSS9  M(     U H#  nS
nSnSnU R                  [        XCU4-  USS9  M%     U H'  nS
nSnSnU R                  [        XCU4-  USSS5        M)     U H$  nS
nSnSnU R                  [        XCU4-  U5        M&     g )Nznot called.zmock(1, '2', 3, bar='foo')z2expected call not found.
Expected: %s
  Actual: %sr   2r   r   )r   rv  zfoo(1, '2', 3, foo='foo')zfoo(1, '2', 3, bar='foo')zfoo(bar='foo')zfoo(1, 2, 3)r   zfoo())r   r  rH  r   r   rr  )r   r   actualexpectedr  	assertersr;   s          r    'test_assert_called_with_failure_message0MockTest.test_assert_called_with_failure_messageu  s}    /H  G&88##QQE 	! 	

 	C& HH'')I)I
	 D0F2HLG$$V*< <aaU % 	  D0F'HLG$$V*< <% % 	  D0F%HLG$$V*< <aA	  D0FHLG$$V*< <d	 r#   c           
         [        5       nU R                  UR                  / :H  S5        [        5       nU" 5         SS0 4/nU R                  UR                  U5        UR                  " 5         UR                  [        R                  " 5       5        U R                  UR                  U5        U R                  UR                  R                  SS0 4/5        [        5       nU" 5       R	                  SSSSSS	9  SS0 4S
S[        SSS	94/nU R                  UR                  U5        U R                  UR                  R                  R                  SS[        SSS	94/5        U R                  UR                  R                  SS[        SSS	94/5        [        5       nU" 5       R                  R                  5       R                  5         SS0 4SS0 4SS0 4/nU R                  UR                  U5        U R                  U" 5       R                  [        R                  R                  5       R                  5       R                  5       5        [        5       [        SS94 GH  n[        S0 UD6n[        UR                  5        SS0 4/nU R                  UR                  U5        [        S0 UD6nUR                  " 5       " 5         SS0 4SS0 4/nU R                  UR                  U5        U R                  UR                  " 5       R                  [        5       /5        [        S0 UD6nU" S5      " S5      " S5        U R                  UR                  [        S5      " S5      " S5      R                  5       5        U R                  U" 5       R                  [        S5      " S5      R                  5       5        U R                  U" 5       " 5       R                  [        S5      R                  5       5        [        S0 UD6nU" S5      " S5      " S5      R                  R                  R                  S5        U R                  UR                  [        S5      " S5      " S5      R                  R                  R                  S5      R                  5       5        U R                  U" 5       R                  [        S5      " S5      R                  R                  R                  S5      R                  5       5        U R                  U" 5       " 5       R                  [        S5      R                  R                  R                  S5      R                  5       5        [        S0 UD6n[        U" 5       R                  R                  5       R                  5       5        SS0 4nU R                  UR                  S   U5        U R                  U" 5       R                  [        R                  R                  5       R                  5       R!                  5       R                  5       5        U R                  U" 5       R                  R                  5       R                  [        R                  " 5       R!                  5       R                  5       5        U R                  U" 5       R                  R                  5       R                  R                  [        5       R!                  5       R                  5       5        GM     g )NT r&   r   r   r   r  r  rG  z().foor   r   z
().foo.barz().foo.bar().bazr   r   zfoo.__int__r7   za()z().foo.bar().baz().__int__)r   rG  r  rh   r   rA  r   dictrk   r   r   	call_listr]  r7   r8   r9   __int__)r   r   r  r   	last_calls        r    test_mock_callsMockTest.test_mock_calls  s1   { 	doo+T2{RL>(3

#(3,,B|n={

1aa1
%RL8YqA?
 	(3**..99y$a.9:	<**55 )TA^<=	? {

RL<R0R(
 	(3**++-779	; fd..F&v&DM&B/0HT__h7&v&DFFHJb"r27HT__h7TVVX0046(;&v&DGAJqMT__d1gajm.E.E.GHTV..Q
0D0D0FGTVX00$q'2C2C2EF&v&DGAJqMOO"T__!!WQZ]__..003==?ATV..!!WQZ\\^^--a0::<>TVX00!!WYY[[]]1-779; &v&D

 $$&'5r2>IT__R0)<TV..!XX\\^//199;EEGITVZZ^^-88!XXZ//1;;=?TVZZ^^-11<<!V^^-779;G /r#   c                    [        5       nU" 5       nUR                  5         U R                  UR                  [	        5       [	        5       R                  5       /5        U R                  UR                  [        R                  " 5       /5        g r%   )r   wibblerh   r  r   )r   rM  r   s      r    test_child_mock_call_equal#MockTest.test_child_mock_call_equal  sZ    F'@A**T[[]O<r#   c                 8   [        5       nUR                  5       R                  5         U R                  UR                  S   [
        R                  " 5       R                  5       5        U R                  UR                  S   [
        R                  " 5       5        g Nr   r   )r   r   r[   r  r  r   r  rh   rL  s     r    test_mock_call_not_equal_leaf&MockTest.test_mock_call_not_equal_leaf  s`    F	ALLOTXXZ-A-A-CDa$((*5r#   c                 8   [        5       nUR                  5       R                  5         U R                  UR                  S   [
        R                  " 5       R                  5       5        U R                  UR                  S   [
        R                  " 5       5        g r  r   r   r   r  r  r   r   rL  s     r    !test_mock_call_not_equal_non_leaf*MockTest.test_mock_call_not_equal_non_leaf  s[    F	ALLOTXXZ^^-=>ALLOTXXZ8r#   c                     [        5       nUR                  SS9R                  5         U R                  UR                  S   [
        R                  " SS9R                  5       5        g )Nr   r  r   )r   r   r   rh   r  r   rL  s     r    2test_mock_call_not_equal_non_leaf_params_different;MockTest.test_mock_call_not_equal_non_leaf_params_different  sF    F	
a$((Q-*;*;*=>r#   c                     [        5       nUR                  R                  5         U R                  UR                  S   [
        R                  R                  5       5        g Nr   r  rL  s     r    &test_mock_call_not_equal_non_leaf_attr/MockTest.test_mock_call_not_equal_non_leaf_attr  s8    F			ALLOTXX\\^<r#   c                     [        5       nUR                  R                  5         U R                  UR                  S   [
        R                  " 5       R                  5       5        g r  )r   r   r   r  r  r   rL  s     r    2test_mock_call_not_equal_non_leaf_call_versus_attr;MockTest.test_mock_call_not_equal_non_leaf_call_versus_attr   s;    F			ALLOTXXZ^^-=>r#   c                 t   [        5       nUR                  5       R                  5       R                  R	                  5         U R                  [        UR                  S   5      S5        U R                  [        UR                  S   5      S5        U R                  [        UR                  S   5      S5        g )Nr   z
call.foo()r   zcall.foo().bar()r   zcall.foo().bar().baz.bob())r   r   r   r   rp  rh   r   r  rL  s     r    test_mock_call_reprMockTest.test_mock_call_repr&  s    F	all1o.=all1o.0BCall1o.0LMr#   c                     [        5       nXl        [        UR                  5       5        U R                  [        UR                  5       5      S5        g )Nz<Mock name='mock\(\)' id='\d+'>)r   r   r   assertRegexrL  s     r    test_mock_call_repr_loop!MockTest.test_mock_call_repr_loop.  s6    FQUUWaeeg(JKr#   c                 f    [        5       nU R                  [        5       /UR                  ;   5        g r%   )r   rf   r   r  rL  s     r    test_mock_calls_contains!MockTest.test_mock_calls_contains5  s$    F$&Q\\12r#   c                 (    " S S[         5      nU" 5       nU R                  UR                  U5        U R                  U" 5       U5         " S S[         5      nU" 5       nU R                  UR                  U5        U R                  U" 5       U5        g )Nc                       \ rS rSrSrg)+MockTest.test_subclassing.<locals>.Subclassi;  r&   Nr   r&   r#   r    Subclassr  ;  r   r#   r  c                       \ rS rSrS rSrg)r  iB  c                     [        S0 UD6$ )Nr&   )r   )r   r   s     r    _get_child_mock;MockTest.test_subclassing.<locals>.Subclass._get_child_mockC  s    ~f~%r#   r&   N)r,   r-   r.   r/   r  r1   r&   r#   r    r  r  B  s    &r#   )r   rX  r   assertNotIsInstance)r   r  r   s      r    test_subclassingMockTest.test_subclassing:  sx    	t 	 zdhh1dfh/	&t 	& z  84  2r#   c                   ^  [        5       [        5       [        5       [        5       /nU 4S jnU H  nU" U5        [	        U5      (       a/  U" 5         U" SS5        U" SS9  UR
                  " 5         U" U5        UR                  " 5         UR                  R                  SSS9  UR                  " S5      R                  5       R                  S5        UR
                  " 5         U" U5        M     g )Nc                    > SnU HL  n[        X5      nTR                  U[        5        TR                  U[        5        TR	                  U/ 5        MN     g )N)rm   rn   r  )r  rX  r   r@  rh   )r   namesr   attrr   s       r    assert_attrs-MockTest.test_arg_lists.<locals>.assert_attrsS  sL    BEt*%%dI6%%dD1  r*	 r#   r   r   r   rZ   )	r   r   r   r   callabler'  r   r   r   )r   r   r  r   s   `   r    test_arg_listsMockTest.test_arg_listsK  s    FK "	
	+ D~~Q
q	!T"HHJHHLLaL HHQKOO!!!$OO! r#   c                 "   [        5       nU" SSS9  U" SSS9  U R                  [        UR                  5      S5        U R                  UR                  R                  S5        U R                  UR                  R
                  [        SS95        S[        SS94S[        SS94/n[        X!R                  5       HP  u  p4U R                  [        U5      S5        U R                  US	   US	   5        U R                  US   US   5        MR     g )
Nr   r   rZ   r   r  r8   )r   r   r   )	r   rh   lenrl   r   r   r  ziprm   )r   r   expected_listr  rl   s        r    test_call_args_two_tuple!MockTest.test_call_args_two_tuplen  s    vQ!Q!T^^,a0,,d3..q	:q	*T4!9,=>#&}6I6I#JHS^Q/Xa[)A,7Xa[)A,7 $Kr#   c                    [        [        / SQ5      S9nU R                  U" 5       U" 5       U" 5       // SQ5        U R                  [        U5        [        / SQS9nU R                  U" 5       U" 5       U" 5       // SQ5        U R                  [        U5        [        SS9nU R                  U" 5       U" 5       U" 5       // SQ5        U R                  [        U5         " S S[        5      n[        US9nU R                  U" 5       U5        [        [        5       S9nU R                  U" 5       U" 5       U" 5       U" 5       // SQ5        U R                  [        U5        g )	Nr   r   r   ghi)ghic                       \ rS rSrSrg)/MockTest.test_side_effect_iterator.<locals>.Fooi  r&   Nr   r&   r#   r    r#  r    r   r#   r#  r   )	r   r   rh   r   r  r   rO   rX  r   )r   r   r#  s      r    test_side_effect_iterator"MockTest.test_side_effect_iterator~  s   Y0$&$&$&19=-._5$&$&$&1?C-.&$&$&$&1?C-.	& 	S)dfc*'$&$&$&$&95	7-.r#   c                    [         [        4 Hq  n[        S[        S4nU" US9nU R	                  [        U5        U R                  U" 5       S5        U R	                  [        U5        U R                  U" 5       S5        Ms     g )Nr   r  r   )r   r   r   r  r   rh   )r   KlassiterablerM  s       r    $test_side_effect_iterator_exceptions-MockTest.test_side_effect_iterator_exceptions  sl    9_E"Ax3H(+Aj!,QS!$h*QS!$ %r#   c                    [        5       n[        / SQ5      Ul        U R                  U" 5       U" 5       U" 5       // SQ5        U R	                  [
        U5        UR                  nU R                  U[        [        / 5      5      5        / SQUl        U R                  U" 5       U" 5       U" 5       // SQ5        U R	                  [
        U5        UR                  nU R                  U[        [        / 5      5      5        [        5       nX1l        U R                  U" 5       U" 5       U" 5       U" 5       // SQ5        U R	                  [
        U5        U R                  UR                  U5        g )Nr   r   r   )
r   r   r   rh   r   r  rX  r  r   rG  )r   r   r   	this_iters       r    !test_side_effect_setting_iterator*MockTest.test_side_effect_setting_iterator  s   v	?$&$&$&19=-.&&k4R>:*$&$&$&1?C-.&&k4R>:F	$$&$&$&$&95	7-.d&&	2r#   c                     [        SS9n[        S[        /5      Ul        U R	                  U" 5       U" 5       /SS/5        g )Nr   ry   r   )r   r   r   r   rh   ru   s     r    !test_side_effect_iterator_default*MockTest.test_side_effect_iterator_default  s:    #G-$&$&)Aq62r#   c                 ~   [        5       nU" SS5        U" SS9  U" SS5        U" SS9  U" SS9  [        SS5      SS04S	S
SS04SSSS04SS0 4SS
SS04/nU H  nUR                  " U/SS9  M     [        SS5      [        SS9[        5       SS S4 H$  nU R                  [        UR                  U/SS9  M&     [        SS5      [        SS9/[        SS5      [        SS5      /[        SS9[        SS9//nU H  nUR                  " USS9  M     [        SS9[        SS9[        SS9/[        SS5      [        SS5      /[        SS5      [        SS5      [        SS5      /[        SS9[        SS5      [        SS9[        SS5      [        SS9//nU H#  nU R                  [        UR                  USS9  M%     g )Nr   r   r   rZ   r  r  r  r7   )r   r  r&   )r  r   r   r  r  T	any_orderr  r   r     )r   r   assert_has_callsr   rH  )r   r   kallskall
kall_lists	kall_lists         r    test_assert_has_calls_any_order(MockTest.test_assert_has_calls_any_order  s   vQ
q	Q
q	q	 AJ#qS!H~2Qx.r2Qx0	
 D!!4&D9  CL$)TVQeCD 5 5$   D !QZ#!QZa$AYq	"

 $I!!)t< $ AYq	4!9-!QZa$!QZaT!QZ0AYQ
D1ItAqz4!9E	

 $I 5 5T   $r#   c                 v   [        SS5      SS04S[        SS9SS	S
S04/n[         R                  " 5       [         R                  " S5      /nUR                  [         R                  " 5       R                  SS9R                  5       5        UR                  [         R                  " [        5       0 S9R                  S/5      R                  5       5        / n[        5       [        5       4 H:  nU" SS5        U" SS9  U" SS5        U" SS9  U" SSS9  UR                  XA45        M<     [        5       nUR                  " 5         UR                  " S5        UR                  " 5       R                  SS9  UR                  " [        5       0 S9R                  S/5        UR                  XB45        U H  u  pE[        [        U5      5       Hh  nS H_  nXVXg-    nUR                  " U5        [        U5      S:  d  M,  U R!                  ["        UR                  [%        ['        U5      5      5        Ma     Mj     M     g )Nr   r   r7   r   r  r  r  r  r  r8   rZ   rv  r  r   )r   r   r   extendr  r   r  bamr  r   r   r   rA  ranger  r  r   rH  r@  reversed)	r   kalls1kalls2r   r   r  r  steptheses	            r    test_assert_has_callsMockTest.test_assert_has_calls  s   Q
c1XK4!9TC8$

 ((*dhhqk*diikooo*4467dhhsu"-22A37AACDFIK'DAJ1IAJ1IaLLL$( ( v
		!B$$aS)d^$ KD3u:&#D!AFOE))%05zA~))* 11 %1 $ ' !r#   c           
      l    " S S5      n[        U5      nX"" 5       4 He  nUR                  SSSSS9  UR                  [        R                  " SSSSS9/5        UR                  [        R                  " SSSS5      /5        Mg     UR	                  5         X"" 5       4 H  nU R                  [        UR                  [        R                  " 5       /5        UR                  S5      R                  SS5        UR                  [        R                  " S5      [        R                  " S5      R                  SS5      /5        UR                  R                  [        S5      [        5       R                  SS5      /5        M     UR	                  5         [        R                  " S5      [        R                  " S5      [        R                  " 5       R                  S5      [        R                  " 5       R                  SSSS5      /nU H%  nU R                  [        UR                  U/5        M'     g )Nc                   8    \ rS rSrS rSS jr " S S5      rSrg)	=MockTest.test_assert_has_calls_nested_spec.<locals>.Somethingi  c                     g r%   r&   r   s    r    r!   FMockTest.test_assert_has_calls_nested_spec.<locals>.Something.__init__  rS  r#   Nc                     g r%   r&   r6   s        r    r;   BMockTest.test_assert_has_calls_nested_spec.<locals>.Something.meth  s    Tr#   c                        \ rS rSrS rS rSrg)AMockTest.test_assert_has_calls_nested_spec.<locals>.Something.Fooi  c                     g r%   r&   r.  s     r    r!   JMockTest.test_assert_has_calls_nested_spec.<locals>.Something.Foo.__init__      tr#   c                     g r%   r&   )r   r7   r8   s      r    meth1GMockTest.test_assert_has_calls_nested_spec.<locals>.Something.Foo.meth1  r1  r#   r&   N)r,   r-   r.   r/   r!   r3  r1   r&   r#   r    r#  r.    s    ++r#   r#  r&   r%   )r,   r-   r.   r/   r!   r;   r#  r1   r&   r#   r    r3   r(    s    $1, ,r#   r3   r   r   r   r:   r  )
r   r;   r  r   r'  r   rH  r#  r3  non_existent)r   r3   
mock_classrM  invalid_callsr  s         r    !test_assert_has_calls_nested_spec*MockTest.test_assert_has_calls_nested_spec  s   	, 	, %Y/
jl+AFF1aaF 		!QQ 789		!Q1 567 ,
 	jl+Ana.@.@488:,OEE!HNN1a TXXa[->->q!-DEFEE""DGTV\\!Q-?#@A	 , 	1**1-003Aq!46
 "Dn(99#f "r#   c                 r   [        5       nU" 5       R                  5       R                  5       R                  5         UR	                  5       R                  5       R                  5         [        R                  " 5       R                  5       R                  5       R                  5       nUR                  U5        g r%   )
r   r   r   r   r  r  threer   r  r  )r   rM  callss      r    )test_assert_has_calls_nested_without_spec2MockTest.test_assert_has_calls_nested_without_spec6  sm    K			
 &&(224	5!r#   c                    SS jn[        US9nU" SSSS9  U" SSS	S
S9  U" SSSS9  SS0 4SSSS
04S0 4/nUR                  " U5        UR                  " USS9  UR                  " USS  5        UR                  " USS  SS9  UR                  " US S 5        UR                  " US S SS9  [        [        U5      5      nU R	                  [
        5         UR                  " U5        S S S 5        UR                  " USS9  U R	                  [
        5         UR                  " USS  5        S S S 5        UR                  " USS  SS9  U R	                  [
        5         UR                  " US S 5        S S S 5        UR                  " US S SS9  g ! , (       d  f       N= f! , (       d  f       N{= f! , (       d  f       NE= f)Nc                     g r%   r&   rB   s       r    r~   <MockTest.test_assert_has_calls_with_function_spec.<locals>.f?  rS  r#   r   r   r   r   rT  r  r  r  r  r9   r:   
         )r9   r  r   )r  r  r  r:   )rD  rE  rF  Tr  r  r%   )r   r  r@  r  r   rH  )r   r~   r   r=  s       r    (test_assert_has_calls_with_function_spec1MockTest.test_assert_has_calls_with_function_spec>  s   $|Q!qQQ!RrBS!H%2
 	e$et4eABi(eABi48eCRj)eCRjD9Xe_%~.!!%( /et4~.!!%), /eABi48~.!!%*- /eCRjD9 /. /. /.s$   FF!F2
F!
F/2
G c                    SS jn[        US9nU" S5        U R                  [        5       nUR                  " [	        5       /5        S S S 5        U R                  [        WR                  5      S5        U R                  UR                  R                  5        [        5       nU R                  [        5       nUR                  [	        5       /5        S S S 5        U R                  [        UR                  5      S5        U R                  UR                  R                  5        U R                  [        5       nUR                  " [	        5       [	        SS5      /5        S S S 5        U R                  [        UR                  5      S5        U R                  UR                  R                  [        5        g ! , (       d  f       GNy= f! , (       d  f       N= f! , (       d  f       N= f)	Nc                     g r%   r&   r  s    r    r~   AMockTest.test_assert_has_calls_not_matching_spec_error.<locals>.f^      tr#   r   r   z7Calls not found.
Expected: [call()]
  Actual: [call(1)]z0Calls not found.
Expected: [call()]
  Actual: []r   zError processing expected calls.
Errors: [None, TypeError('too many positional arguments')]
Expected: [call(), call(1, 2)]
  Actual: [call(1)]r%   )r   r   rH  r  r   rh   r  rY  rq   rZ  rX  r   )r   r~   r   r\  uncalled_mocks        r    -test_assert_has_calls_not_matching_spec_error6MockTest.test_assert_has_calls_not_matching_spec_error]  s_   |Q~."!!46(+ /R\\*"	

 	",,001~."**DF84 /R\\*	

 	",,001~."!!4641:"67 /R\\*"	
 	bll44i@7 /. /. /.s#   F:9G;'G:
G	
G
G+c                 n   [        5       nU" SS5        U" SS9  U" SSS9  UR                  " SS5        UR                  " SS9  UR                  " SSS9  U R                  [        UR                  5        U R                  [        UR                  SS5        U R                  [        UR                  SS9  g )Nr   r   r   rZ   r  r  r  )r   assert_any_callr   rH  ru   s     r    test_assert_any_callMockTest.test_assert_any_call  s    vQ
q	Q!Q"q!Q!$  	
 	  q	

 	   	 	
r#   c                    SS jn[        US9nU" SSSS9  U" SSS	S
S9  UR                  " SSS5        UR                  " SSSS9  UR                  " SSS	S
5        UR                  " SSS	S
S9  U R                  [        UR                  SSSS9  U R                  [        5       nUR                  " SS9  S S S 5        U R	                  WR
                  R                  [        5        g ! , (       d  f       N9= f)Nc                     g r%   r&   rB   s       r    r~   ;MockTest.test_assert_any_call_with_function_spec.<locals>.f  rS  r#   r   r   r   r   rT  r  r  r  r  rC  r   rB   rU  rV  r%   )r   rQ  r   rH  rX  rY  rZ  r   r[  s       r    'test_assert_any_call_with_function_spec0MockTest.test_assert_any_call_with_function_spec  s    $|Q!qQQ!Q1%qA+Q1a(qAa0.$*>*>qA 	 	' ~."  1% /bll44i@ /.s   $C((
C6c           	         S n[        5       nXl        [        U5      [        U5      R                  /nU HG  nU" SS5        U" SS5        U R                  UR                  [        SS5      [        SS5      /5        MI     g )Nc                     g r%   r&   rG  s     r    r~   3MockTest.test_mock_calls_create_autospec.<locals>.f  s    Tr#   r   r   r   r  )r   r~   r   rh   r  r   )r   r~   r%  funcsr  s        r    test_mock_calls_create_autospec(MockTest.test_mock_calls_create_autospec  sv    f AC ""
 DAJAJ$q!*d1aj!9	 r#   c                 t    [         R                  " [        5       SS9nU R                  S[	        U5      5        g )N
sweet_funcr   )r   r   rO   r   r   rL  s     r    test_create_autospec_with_name'MockTest.test_create_autospec_with_name  s(      =lDG,r#   c                     " S S5      nS Hh  nU R                  US9   [        R                  " [        X5      5      nU" 5         UR	                  5         U R                  [        US5        S S S 5        Mj     g ! , (       d  f       M|  = f)Nc                   4    \ rS rSr\S 5       r\S 5       rSrg)MMockTest.test_create_autospec_classmethod_and_staticmethod.<locals>.TestClassi  c                     g r%   r&   r>   s    r    class_methodZMockTest.test_create_autospec_classmethod_and_staticmethod.<locals>.TestClass.class_method  s    #'r#   c                      g r%   r&   r&   r#   r    static_method[MockTest.test_create_autospec_classmethod_and_staticmethod.<locals>.TestClass.static_method  s    !%r#   r&   N)	r,   r-   r.   r/   rE   rh  rF   rk  r1   r&   r#   r    	TestClassre    s    ' '% %r#   rm  )rh  rk  )r  	extra_arg)subTestr   r   r  rr  r   r   )r   rm  r  mock_methods       r    1test_create_autospec_classmethod_and_staticmethod:MockTest.test_create_autospec_classmethod_and_staticmethod  sm    	& 	& 8FV,"22793MN335!!)[+F	 -, 8,,s   AA::
B		c                    [        5       nSnU R                  [        U5         UR                  5         S S S 5        U R                  [        U5         UR	                  5         S S S 5        U R                  [        U5         UR                  5         S S S 5        U R                  [        U5         UR                  5         S S S 5        U R                  [        U5         UR                  5         S S S 5        U R                  [        U5         UR                  5         S S S 5        U R                  [        U5         UR                  5         S S S 5        U R                  [        U5         UR                  5         S S S 5         " S S[        5      n[        US9nUR                  5         UR                  5         UR                  R                  5         UR                  R                  5         [        SS9nUR                  5         UR	                  5         UR                  5         UR                  5         UR                  5         UR                  5         UR                  5         UR                  5         g ! , (       d  f       GNN= f! , (       d  f       GN1= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f)Nz1is not a valid assertion. Use a spec for the mockc                        \ rS rSrS rS rSrg)&MockTest.test_mock_unsafe.<locals>.Fooi  c                     g r%   r&   r   s    r    called_once2MockTest.test_mock_unsafe.<locals>.Foo.called_once  s    4r#   c                     g r%   r&   r   s    r    	has_calls0MockTest.test_mock_unsafe.<locals>.Foo.has_calls  s    r#   r&   N)r,   r-   r.   r/   rw  rz  r1   r&   r#   r    r#  ru    s    '%r#   r#  r   T)unsafe)r   r   r  assert_foo_callassret_foo_callasert_foo_callaseert_foo_callassrt_foo_callcalled_once_withrw  rz  rO   assert_called_once)r   rM  rj  r#  s       r    test_mock_unsafeMockTest.test_mock_unsafe  s   FA##NC8 9##NC8 9##NC8 9##NC8 9##NC8 9##NC8  9##NC8MMO 9##NC8KKM 9	&& 	&
 cN			((*	&&(								K 9888888888888888s_   I;JJ0J1KK=K',K9;
J

J
J.1
K 
K
K$'
K69
Lc                      " S S[         5      n[        US9nUR                  5         UR                  5         UR                  R	                  5         UR                  R	                  5         g )Nc                        \ rS rSrS rS rSrg).MockTest.test_mock_safe_with_spec.<locals>.Fooi  c                     g r%   r&   r   s    r    
assert_bar9MockTest.test_mock_safe_with_spec.<locals>.Foo.assert_bar       $r#   c                     g r%   r&   r   s    r    
assertSome9MockTest.test_mock_safe_with_spec.<locals>.Foo.assertSome  r  r#   r&   N)r,   r-   r.   r/   r  r  r1   r&   r#   r    r#  r    s    &&r#   r#  r   )rO   r   r  r  r  r   r#  rM  s      r    test_mock_safe_with_spec!MockTest.test_mock_safe_with_spec  sK    	'& 	'
 cN			'')	'')r#   c                     [        5       nUR                  R                  5         UR                  5         U R                  [        5         UR                  R                  5         S S S 5        g ! , (       d  f       g = fr%   )r   helloassert_not_calledr   rH  rL  s     r    test_assert_not_calledMockTest.test_assert_not_called  sL    F	!!#		~.GG%%' /..s   
A..
A<c                     [        5       nU" SS5        U R                  [        [        R                  " S5      UR
                  5        g )Nr   r   zCalls: [call(1, 2)])r   r   rH  rz  r{  r  rL  s     r    test_assert_not_called_message'MockTest.test_assert_not_called_message  s8    F	!Q~II+,	!r#   c                 R   [        5       nU R                  [        5         UR                  R	                  5         S S S 5        UR                  5         UR                  R	                  5         UR                  5         UR                  R	                  5         g ! , (       d  f       Nc= fr%   )r   r   rH  r  ri  rL  s     r    test_assert_calledMockTest.test_assert_called  sg    F~.GG!!# /						 /.s   B
B&c                    [        5       nU R                  [        5         UR                  R	                  5         S S S 5        UR                  5         UR                  R	                  5         UR                  5         U R                  [        5         UR                  R	                  5         S S S 5        g ! , (       d  f       N= f! , (       d  f       g = fr%   )r   r   rH  r  r  rL  s     r    test_assert_called_once MockTest.test_assert_called_once$  s    F~.GG&&( /			""$		~.GG&&( /. /. /.s   B6C6
C
Cc                     [        5       nU" SS5        U" S5        U R                  [        [        R                  " S5      UR
                  5        g )Nr   r   r   zCalls: [call(1, 2), call(3)])r   r   rH  rz  r{  r  rL  s     r    test_assert_called_once_message(MockTest.test_assert_called_once_message/  s?    F	!Q	!~II45  	"r#   c                     [        5       nU R                  [        5       nUR                  5         S S S 5        U R	                  S[        WR                  5      5        g ! , (       d  f       N4= f)NzCalls:)r   r   rH  r  ro   r  rY  )r   rM  rW  s      r    *test_assert_called_once_message_not_called3MockTest.test_assert_called_once_message_not_called7  sL    F~.!  " /3q{{#34 /.s   A
A-c                     [        5       nUR                  SSS9  SnU R                  [        UR                  R                  5      U5        g )Nr  hero)r   daddyz call(name='hello', daddy='hero'))r   r  rh   r   rl   )r   rM  texts      r    test_ordered_call_signature$MockTest.test_ordered_call_signature>  s=    F	WF+1agg//0$7r#   c                 0   [         R                  " 5       n[         R                  " SS5      n[        5       nUR                  5         UR                  SS5        U R	                  UR
                  S   U5        U R	                  UR
                  S   U5        g )N   r  r   r   )r   r  r  r   rh   rn   )r   r9   r  rM  s       r    test_override_tuple_methods$MockTest.test_override_tuple_methodsE  sm    JJLJJs7#F			G*A.*A.r#   c                     [        SSS/S9nUR                  SSS9  U R                  UR                  [         5        U R	                  UR
                  S 5        g )NrD  r   r   rk   r   T)r   r'  rX  rk   rh   r   rL  s     r    test_reset_return_sideeffect%MockTest.test_reset_return_sideeffectN  sJ    bqe4	$D9annd3-r#   c                     [        SSS/S9nUR                  SS9  U R                  UR                  [         5        U R	                  UR
                  S 5        g )NrD  r   r   r  Try   )r   r'  rX  rk   r  r   rL  s     r    test_reset_returnMockTest.test_reset_returnT  sH    bqe4	$'annd3AMM40r#   c                     [        SSS/S9nUR                  SS9  U R                  UR                  S5        U R                  UR                  S 5        g )NrD  r   r   r  Tr   )r   r'  rh   rk   r   rL  s     r    test_reset_sideeffectMockTest.test_reset_sideeffectZ  sH    bq!f5	&,-r#   c                     [        [        SS9S9nU R                  UR                  5       S5        UR                  SS9  U R	                  UR                  5       S5        g )Nr   ry   r~   T)r   rh   r~   r'  r  rL  s     r    test_reset_return_with_children(MockTest.test_reset_return_with_children`  sK    	q12"	$'ACCE1%r#   c                     [        [        SS/S9S9nU R                  UR                  R                  S 5        UR	                  SS9  U R                  UR                  R                  S 5        g )Nr   r   r   r  T)r   r  r~   r   r'  rh   rL  s     r    +test_reset_return_with_children_side_effect4MockTest.test_reset_return_with_children_side_effectf  sS    	q!f56ACCOOT2	&$/r#   c                   ^	  " S S[         5      n " S S[         5      n " S S[         5      m	[        [        [        [        /n[        U5       H3  nUR                  U4U	4S jj5        UR                  U4U	4S jj5        M5     U GHn  n[        5       [        S	S
94 GHR  nU" 5       nUR                  UR                  UR                  4  X4S/S/44 GH  u  px[        5       [        S	S
94 H  nUR                  " U40 UD6  UR                    U R                  [        [        US5        U R                  [        [        US5        SU;   a  U R                  [        [        USS 5        UR                  " U40 UD6  U R                  [        [        US5        UR                    U R                  [        [        US5        SU;   d  M  U R                  [        [        USS 5        M     GM     GMU     GMq     g )Nc                       \ rS rSrSrSrg))MockTest.test_mock_add_spec.<locals>._Oneim  r   r&   Nr,   r-   r.   r/   r  r1   r&   r#   r    _Oner  m      Cr#   r  c                       \ rS rSrSrSrg))MockTest.test_mock_add_spec.<locals>._Twoio  r   r&   N)r,   r-   r.   r/   r  r1   r&   r#   r    _Twor  o  r  r#   r  c                        \ rS rSrS=r=rrSrg)-MockTest.test_mock_add_spec.<locals>.Anythingiq  fourr&   N)r,   r-   r.   r/   r  r  r<  r1   r&   r#   r    Anythingr  q  s     &&C&#r#   r  c                    > U " TS9$ )Nr   r&   Kr  s    r    rs  -MockTest.test_mock_add_spec.<locals>.<lambda>x  s
    1(+;r#   c                    > U " TS9$ )Nr   r&   r  s    r    rs  r  y  s
    1h+?r#   Tr   r  r  r<  r   )rO   r   r   r   r   r@  rA  r  r  r  r<  mock_add_specr   r  r  setattr)
r   r  r  klassesr  r   r   OneTwor  s
            @r    test_mock_add_specMockTest.test_mock_add_specl  s   	6 		6 		'v 	' )_.B
 ']ENNE;<NNE?@ # E&$"55w$((DJJ."&%/A BHC"&&$*="=**39&9))*GT5 ))*GT7 &/ -- .w **39&9))*GT5 ))*GT7 &/ -- .w1 #> !C 6 r#   c                   ^ [         [        4 H  nU" 5       m[        T5        TR                  " [        5        U R                  [        [        T5        U" 5       mTS     STR                  l        TR                  " [        5        U R                  [        T5      S5        U R                  [        U4S j5        M     g )Nr   r  c                     > T S   $ r   r&   r   s   r    rs  ;MockTest.test_mock_add_spec_magic_methods.<locals>.<lambda>  s	    er#   )
r   r   r]  r  rO   r   r   r  rk   rh   r   r  r   s     @r     test_mock_add_spec_magic_methods)MockTest.test_mock_add_spec_magic_methods  s     44E7DIv&id37DK'(DLL%s#SY*i)<= 5r#   c                    [         [        [        [        [        4 GHM  nU" 5       n[        5       Ul        UR
                  " 5         U R                  UR                  [        R
                  " 5       /5        U R                  UR                  [        R
                  " 5       /5        U" 5       n[        SS9Ul
        UR                  " 5         U R                  UR                  / 5        U R                  UR                  / 5        U" 5       n[        5       " 5       Ul        UR                  " 5         U R                  UR                  / 5        U R                  UR                  / 5        GMP     g )Nr   r   )r   r   r   r   r   r   rh   rn   r   r  r   r   r  s      r    test_adding_child_mockMockTest.test_adding_child_mock  s    %tY8L!E7DvDHHHJT..=T__txxzl;7D(DHHHJT..3T__b1 7D {}DHHHJT..3T__b1+!r#   c                     [         [        4 HX  nU" 5       n[        5       Ul        U" 5       " 5         U R                  UR                  [        5       [        5       " 5       /5        MZ     g r%   )r   r   rk   rh   r  r   r  s      r    test_adding_return_value_mock&MockTest.test_adding_return_value_mock  sG    9_E7D )DFHT__tvtvx.@A %r#   c                 N    " S S[         5      n[        5       n[        R                   " US5      n[        R                   " US5      nUR                  5       nU R	                  UR
                  5        UR                  5       nU R	                  UR
                  5        UR                  US5        UR                  US5        UR                  5         UR                  5         U R                  UR                  [        R                  " 5       [        R                  " 5       /5        g )Nc                       \ rS rSrSrSrSrg)'MockTest.test_manager_mock.<locals>.Fooi  r  r  r&   N)r,   r-   r.   r/   r  r  r1   r&   r#   r    r#  r    s    CCr#   r#  r  r  )rO   r   r	   r   r[  r  attach_mockr  r  rh   r  r   )r   r#  managerp1p2mock_onemock_twos          r    test_manager_mockMockTest.test_manager_mock  s    	& 	 &\\#u%\\#u%88: 88: He,He,		++dhhj$((*-EFr#   c                 \   [         [        4 H  nU" 5       n[        SS9Ul        [        SS9Ul        [	        U5        [        U5        U R                  UR                  [        R                  " 5       [        R                  " 5       /5        U R                  UR                  / 5        M     g )Nr   ry   g      @)
r   r   r  	__float__r]  floatrh   r  r   rn   )r   r  rM  s      r    test_magic_methods_mock_calls&MockTest.test_magic_methods_mock_calls  sw    9_EA!,AI#5AKF!HQ\\DLLNDNN<L+MNQ^^R0 %r#   c                     [         R                  " SS9nU" S5      nUR                  5       nU" S5      nUR                  5       nU R                  X55        g )Nr  	read_dataa-namezanother-name)r   r   readrh   )r   mocked_openf1f1_dataf2f2_datas         r     test_mock_open_reuse_issue_21750)MockTest.test_mock_open_reuse_issue_21750  sH    nnv6"'')('')*r#   c                     [         R                  " SS9nU" S5      nU Vs/ s H  o3PM     nnU R                  US   S5        U R                  US   S5        U R                  [        U5      / 5        g s  snf )NzRemarkable
Norwegian Bluer  r  r   zRemarkable
r   zNorwegian Blue)r   r   rh   r@  )r   r  r  lineliness        r     test_mock_open_dunder_iter_issue)MockTest.test_mock_open_dunder_iter_issue  ss     nn/KL""$%"$"%q>2q#34b2& &s   A4c                    [         R                  " SS9nU" S5      n[        U5      nUR                  5       nU Vs/ s H  oUPM     nnU R	                  US5        U R	                  US5        U R	                  US   S5        U R	                  [        U5      / 5        U R                  [        5         [        U5        S S S 5        g s  snf ! , (       d  f       g = f)Nz1st line
2nd line
3rd liner  r  z	1st line
z	2nd line
r   z3rd line)r   r   r*   r0   rh   r@  r   r  )r   r  r  line1line2r  r  s          r    test_mock_open_using_next"MockTest.test_mock_open_using_next  s    nn/MN"R"$%"$"%--q:.b2&}-H .- &
 .-s   C2C
Cc                     [         R                  " SS9nSUR                  R                  l        U R	                  S[        U" 5       5      5        g )Nfoo
barnr  abc)r   r   rk   readlinerh   r*   )r   mopens     r    3test_mock_open_next_with_readline_with_return_value<MockTest.test_mock_open_next_with_readline_with_return_value  s:    538##0UW.r#   c                 8   [         R                  " [         R                  " SS95      n[         R                  " SU5         UR                  nUR
                  n[        S5      Ul        S nU R                  [        U5        S S S 5        g ! , (       d  f       g = f)NJLVr   ztempfile.NamedTemporaryFilezTest 2 Errorc                  L    [         R                  " 5       R                  S5        g )Nasd)tempfileNamedTemporaryFilewriter&   r#   r    attempt.MockTest.test_mock_open_write.<locals>.attempt   s    ++-33E:r#   )	r   r   r   r	   rk   r  OSErrorr   r   )r   mock_namedtempmock_filehandle
mock_writer  s        r    test_mock_open_writeMockTest.test_mock_open_write  sm    E(BCZZ5~F,99O(..J%,^%<J";gw/ GFFs    AB
Bc                     [         R                  " SS9nS UR                  R                  l        U" 5       R                  5       nU" 5       R                  5       nU R                  SU5        U R                  SU5        g )Nr  r  c                      g)Nr  r&   )r   s    r    rs  8MockTest.test_mock_open_alter_readline.<locals>.<lambda>&  s    ur#   r  )r   r   rk   r  r   rh   )r   r  firstseconds       r    test_mock_open_alter_readline&MockTest.test_mock_open_alter_readline$  sd    52D##/  "!!#&'r#   c                    [         R                  " SS9nU" S5      nUR                  5         U R                  SUR                  5       5        U R                  SUR                  5       5        U R                  SUR	                  5       5        U R                  SUR	                  5       5        U R                  / UR                  5       5        U R                  / UR                  5       5        g )Nr   r  r   r  )r   r   r  rh   r  	readlines)r   _openr  s      r    test_mock_open_after_eof!MockTest.test_mock_open_after_eof,  s    /%L	QVVX&QVVX&QZZ\*QZZ\*Q[[]+Q[[]+r#   c                    [         [        4 GH  nU" 5       n[        U5      nX"l        U R	                  U" 5       U5        U R                  [        U5      U5        UR                  5         U R	                  U" 5       U5        U R                  [        U5      U5        U" 5       nUR                  Ul        U R                  S[        UR                  5      5        U R                  S[        UR                  5      5        UR                  5         U R                  S[        UR                  5      5        U R                  S[        UR                  5      5        U" 5       n[        U5      nU" 5       Ul        X"R                  l        U R                  [        U5      U5        U R                  [        UR                  5       5      U5        GM     g )Nzname='mock.a')
r   r   r   rk   rG  rh   r'  r7   r8   r   )r   r  rM  original_reprs       r    test_mock_parentsMockTest.test_mock_parents8  s:   9_EA GMNMM!#q!T!Wm4LLNMM!#q!T!Wm4A##ACMM/495MM/495LLNMM/495MM/495A GM#AC CCT!Wm4T!##%[-83 %r#   c                    [         [        [        [        4nU H  nU H  nU" 5       nU" SS9nUR	                  US5        U R                  UR                  U5        U R                  S[        U5      5        UR                  R                  S5        U R                  UR                  [        R                  R                  S5      /5        U R                  UR                  [        R                  R                  S5      /5        M     M     g )Nr   r   r   zname='mock.bar'r   )r   r   r   r   r  rG  r   r   r   r   rh   r  r   rn   r   classesr  Klass2rM  m2s         r    test_attach_mockMockTest.test_attach_mockU  s    	#7HE!G'b%(aeeR(/b:		!  Q/@A  $((,,q/1BC " r#   c                    [         [        [        [        4n[         [        4 H  nU H  nU" 5       nU" SS9nUR	                  US5        U R                  U" 5       U5        U R                  S[        U5      5        UR                  5         U R                  UR                  [        5       R                  5       R                  5       5        M     M     g )Nr   r   rk   zname='mock()')r   r   r   r   r  rG  r   r   r   rh   r  r   r  r4  s         r    test_attach_mock_return_value&MockTest.test_attach_mock_return_valuef  s    	#7H9_E!G'b.1ac2&otBx8  tvzz|/E/E/GH " %r#   c                    [        5       n[        R                  " [         S3SS9 nU R	                  UR                  R                  5       S5        UR                  US5        UR                  S5        [        S5        U" S5        [        R                  " S5      [        R                  " S5      [        R                  " S5      /n[        S5      [        S5      [        S5      /nU R	                  UR                  U5        U R	                  UR                  R                  U5        U R	                  [        R                  U5        U R	                  UR                  U5        U R                  S	[        UR                  R                  5      5        U R	                  UR                  R                  5       S	5        S S S 5        g ! , (       d  f       g = f)
N
.somethingTr   r[   r%  r   r   r   
mock.child)r   r   r	   r,   rh   _extract_mock_namer  r%  r[   r   r  r   r   )r   r  	mock_funcparent_callschild_callss        r    test_attach_mock_patch_autospec(MockTest.test_attach_mock_patch_autospecv  sE   ZZ8*J/$?9Y^^>>@+Ny'2LLOaLaL JJqM4::a=$**Q-HL7DGT!W5KV..=V\\44kBY11;?Y11;?MM,V\\->->(?@Y^^>>@,O @??s   FG		
Gc                    [         R                  " [         S3SS9 n[        5       nUR	                  US5        [        5       nUR                  SSSSS	9  UR                  [        R                  " [         R                  SSSSS	9/5        UR                  R                  [        [         R                  SSSSS	9/5        UR                  [        [         R                  SSSSS	9/5        S S S 5        [         R                  " [         S
3SS9 n[        5       nUR	                  US5        [        S5        UR                  [        R                  " S5      /5        [        R                  [        S5      /5        UR                  [        S5      /5        S S S 5        [         R                  " [         S3SS9 n[        5       nUR	                  US5        [        5       nUR                  SSSSS	9  UR                  [        R                  " 5       [        R                  " 5       R                  SSSSS	9/5        UR                  R                  [        SSSSS	9/5        UR                  [        5       [        5       R                  SSSSS	9/5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN!= f! , (       d  f       g = f)N.Something.methTr   attach_methr   r   r   r  r5  r>  attach_func
.Something
attach_obj)r   r	   r,   r   r  r3   r;   r  r   rH  r?  r[   rI  rK  )r   mockedr  r%  s       r    )test_attach_mock_patch_autospec_signature2MockTest.test_attach_mock_patch_autospec_signature  s8   ZZ8*O4tDfG6+CHHQ1H"$$d&6&6txxAqA&N%OPHH%%tDHHaA'C&DE##T$((Aq!q%A$BC E ZZ8*J/$?6fG6aL$$d&6&6q&9%:;&&Qy1##T!WI. @ ZZ8*J/$?6fG5+CHHQ1H"$$doo&7&*oo&7&<&<Q1&<&J&L MHH%%tAq!q'9&:;##TVTV[[AqA[-F$GH @?# ED @? @?s&   CJ BJ2<CK 
J/2
K
Kc                 @   [        5       [        5       [        5       [        5       4 Ht  nU R	                  [        US5      5        U?U R                  [        US5      5        U?U R                  [        US5      5        U R                  [        [        US5        Mv     g )NrM  r~   )r   r   r   r   rj   hasattrrM  rf   r~   r   r  r  ru   s     r    test_attribute_deletion MockTest.test_attribute_deletion  s~    VY[*>*@$&(DOOGD#./WT3/0WT3/0ngtSA(r#   c                    [        5       [        5       [        5       [        5       4 H  nSUl        U R                  [        US5      5        U R                  UR                  S5        U?U R                  [        US5      5        SUl        U R                  [        US5      5        U R                  UR                  S5        U?U R                  [        US5      5        M     g )Nr   r   r  )	r   r   r   r   r   rj   rP  rh   rf   ru   s     r    7test_mock_does_not_raise_on_repeated_attribute_deletion@MockTest.test_mock_does_not_raise_on_repeated_attribute_deletion  s    VY[*>*@$&(DDHOOGD%01TXXq)WT512DHOOGD%01TXXq)WT512(r#   c                     [        5       [        5       [        5       [        5       4 H%  nU?U R                  [        5         U?S S S 5        M'     g ! , (       d  f       M9  = fr%   )r   r   r   r   r   r   r  ru   s     r    4test_mock_raises_when_deleting_nonexistent_attribute=MockTest.test_mock_raises_when_deleting_nonexistent_attribute  sL    VY[*>*@$&(D"">2H 32( 32s   A
A 	c                     [        5       nSUl        U?UR                  " 5         U R                  [	        US5      5        g )NTr%  )r   r%  r'  rf   rP  ru   s     r    /test_reset_mock_does_not_raise_on_attr_deletion8MockTest.test_reset_mock_does_not_raise_on_attr_deletion  s6     v
Jw/0r#   c                     [        5       [        5       4 HF  nU R                  U[        5        [        Ul        U R                  U[        5        UR                    MH     g r%   )r   r   r  r]  rH  rX  r   ru   s     r    test_class_assignableMockTest.test_class_assignable  sC    FIK'D$$T3/ DN!!$,HH (r#   c                    U R                  [        R                  5        U R                  [	        [        R                  5      [
        5        U R                  [	        [        R                  " 5       R                  5      [
        5        g r%   )assertIsNotNoner   r   rh   r  r   r   s    r    test_name_attribute_of_call$MockTest.test_name_attribute_of_call  sO     	TYY'dii%0diik../7r#   c                    U R                  [        R                  5        U R                  [	        [        R                  5      [
        5        U R                  [	        [        R                  " 5       R                  5      [
        5        g r%   )r`  r   r  rh   r  r   r   s    r    test_parent_attribute_of_call&MockTest.test_parent_attribute_of_call  sP     	T[[)dkk*E2dkkm223U;r#   c                 h   S n[        5       n[        U5      Ul        UR                  " SS5        U R                  [        UR                  S5        U R                  UR                  [        R                  " SS5      /5        U R                  S[        UR                  R                  5      5        g )Nc                     g r%   r&   rG  s     r    r   BMockTest.test_parent_propagation_with_create_autospec.<locals>.foo  rL  r#   r   r   r?  )r   r   r%  r   r   rh   r  r   r   r   r   )r   r   r   s      r    ,test_parent_propagation_with_create_autospec5MockTest.test_parent_propagation_with_create_autospec  sy    v$S)


1a)TZZ34::a+;*<=lD$9:r#   c                    S n[        5       nUR                  [        USS9S5        UR                  SS5        U R	                  [
        UR                  S5        U R                  UR                  R                  [        R                  " SS5      /5        U R                  S[        UR                  R                  5      5        g )Nc                     g r%   r&   rG  s     r    r   GMockTest.test_parent_propagation_with_autospec_attach_mock.<locals>.foo  rL  r#   r   r   r%  r   r   r?  )r   r  r   r%  r   r   rh   r  r   r   r   r   )r   r   r  s      r    1test_parent_propagation_with_autospec_attach_mock:MockTest.test_parent_propagation_with_autospec_attach_mock  s    ?3U;WEQ)V\\15004::a3C2DElD):):$;<r#   c                   ^	 [         R                  R                  nU R                  S U5        [        R                  " S5         [
        R                  S	 U	4S jm	U R                  [
        R                  [
        R                  " 5       5        [
        R                  " T	5        SSK	J
nJnJnJn  X#XE[        /nU H#  nU" [        S9nU R!                  U[        5        M%     S S S 5        g ! , (       d  f       g = f)Nc                 8    [        [        R                  SU 5      $ )Nr	   )r  r  r   )r	   s    r    rs  9MockTest.test_isinstance_under_settrace.<locals>.<lambda>	  s    ghmmWe&Lr#   zsys.moduleszunittest.mockc                    > T$ r%   r&   )frameeventr  traces      r    rv  6MockTest.test_isinstance_under_settrace.<locals>.trace	  s    r#   r   )r   r   r   r   r   )r  r   r	   r[  r  rY  modulessettracegettraceunittest.mockr   r   r   r   r   r3   rX  )
r   	old_patchr   r   r   r   r   r   r%  rv  s
            @r    test_isinstance_under_settrace'MockTest.test_isinstance_under_settrace		  s     MM''	
 	L!	# ZZ&O, OOCLL#,,.9LL 
 	E 	*%%c95 % '&&s   BC--
C;c                     " S S5      nU" 5       n[         R                  R                  R                  US[        S9   S S S 5        U R	                  UR
                  R                  R                  S5        g ! , (       d  f       N?= f)Nc                       \ rS rSrS rSrg)FMockTest.test_bool_not_called_when_passing_spec_arg.<locals>.Somethingi1	  c                 J    [         R                  R                  5       U l        g r%   )r  r   r   obj_with_bool_funcr   s    r    r!   OMockTest.test_bool_not_called_when_passing_spec_arg.<locals>.Something.__init__2	  s    *2--*A*A*C'r#   )r  N)r,   r-   r.   r/   r!   r1   r&   r#   r    r3   r  1	  s    Dr#   r3   r  r   r   )r  r   r	   rO   rh   r  __bool__ri   )r   r3   r%  s      r    *test_bool_not_called_when_passing_spec_arg3MockTest.test_bool_not_called_when_passing_spec_arg0	  sf    	D 	D k]]  ''-A'OO//88CCQG POs   A99
Bc                 P
    " S S5      nU R                  [        5         [        [         S3SS9   S S S 5        S S S 5        U R                  [        5         [        R                  " USSS9   S S S 5        S S S 5        U R                  [        5         [        [         S3SS9   S S S 5        S S S 5        U R                  [        5         [        R                  " USSS9   S S S 5        S S S 5        U R                  [        5         [        [         S3SS9   S S S 5        S S S 5        U R                  [        5         [        R                  " USSS9   S S S 5        S S S 5        U R                  [        5         [        USS9nS S S 5        U R                  [        5         [        R                  " [         S	3[        SS
9    S S S 5        S S S 5        U R                  [        5         [        R                  " [         S	3[        SS9    S S S 5        S S S 5        U R                  [        5         [        R                  " [         S	3[        SS9    S S S 5        S S S 5        [        [         S3SSS9    S S S 5        [        R                  " USSSS9   S S S 5        [        [         S3SSS9    S S S 5        [        R                  " USSSS9   S S S 5        [        [         S3SSS9    S S S 5        [        R                  " USSSS9   S S S 5        [        USSS9n[        R                  " [         S3SSSS9    S S S 5        g ! , (       d  f       GN)= f! , (       d  f       GN3= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN{= f! , (       d  f       GN= f! , (       d  f       GNV= f! , (       d  f       GN`= f! , (       d  f       GN1= f! , (       d  f       GN;= f! , (       d  f       GN1= f! , (       d  f       GN#= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       g = f)Nc                       \ rS rSrSrSrg)/MockTest.test_misspelled_arguments.<locals>.Fooi;	  r  r&   Nr  r&   r#   r    r#  r  ;	  s    Cr#   r#  rG  T)rV   r  )rW   )rX   rJ  )r;   rV   )r;   rW   )r;   rX   )r|  rV   )r|  rW   )r|  rX   )rX   r|  z.Typos)rV   rX   rW   )	r   r  r	   r,   rO   r   r  multipler   r  s      r    test_misspelled_arguments"MockTest.test_misspelled_arguments:	  s   	 	 |,(?3tDD -|,c5D99 -|,(?3tDD -|,c5D99 -|,(?3dCC -|,c5488 -|,d3A -
 ~.*J'gGHLG / ~.*J'gGHLG / ~.*J'gFGKF / hZ/M N\\#uTTBBhZ/M N\\#uTTBBhZ/tL M\\#uTDAAC$t<^^j4$$PP PI ED -, :9 -, ED -, :9 -, DC -, 98 -,,,G G /.G G /.F F /. NMBBMMBBLLAAP Ps  M'MM'N/M90NN/'N(N/O$O%O
O7O%O7PP	P?P-'"Q	P?Q0"Q5Q#Q59"RRR?R+ R=;SS!7S3T
T
M$	M''
M69
N	N
N
N,	'N//
N>
O	O
O"%
O4	/O77
P	
P	P
P*-
P<?
Q		Q
Q #
Q2	-Q55
R
R	R
R(+
R:=
S
S!
S03
T
T
T%c                     [        5       nU R                  UR                  SS9  [        US9nU R                  UR                  SS9  U R	                  SUR
                  5        g )Nzbefore mock)rj  r   z
after mockrO   )rH   rq   rL   r   rh   rP   )r   r%  r   s      r    'test_property_not_called_with_spec_mock0MockTest.test_property_not_called_with_spec_mockh	  sT    o#--];~#--\:3<<0r#   c                      " S S5      n[        US9nUR                  UR                  UR                  4 H  nU R	                  U[
        5        M     g )Nc                   :    \ rS rSr\S 5       r\S 5       rS rSr	g)AMockTest.test_decorated_async_methods_with_spec_mock.<locals>.Fooip	  c                    #    g 7fr%   r&   rg  s    r    rh  NMockTest.test_decorated_async_methods_with_spec_mock.<locals>.Foo.class_methodq	          c                     #    g 7fr%   r&   r&   r#   r    rk  OMockTest.test_decorated_async_methods_with_spec_mock.<locals>.Foo.static_methodt	  r  r  c                    #    g 7fr%   r&   r   s    r    r  HMockTest.test_decorated_async_methods_with_spec_mock.<locals>.Foo.methodw	  s     r  r&   N)
r,   r-   r.   r/   rE   rh  rF   rk  r  r1   r&   r#   r    r#  r  p	  s+      r#   r#  r   )r   r  rh  rk  rX  r   )r   r#  r   rM  s       r    +test_decorated_async_methods_with_spec_mock4MockTest.test_decorated_async_methods_with_spec_mocko	  sI    	 	 ~++t00$2D2DEA!!!Y/ Fr#   r&   N)r,   r-   r.   r/   ra   rv   rz   r   r   r   r   r   r   r   r   r   r   r  r
  r  r  r"  r(  r+  r/  r7  r<  rC  rI  rN  r]  rd  rk  ru  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r&  r*  r.  r1  r5  r:  rB  rI  rN  rV  r`  rw  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r	  r  r  r$  r9  r>  rG  rN  rR  rW  r]  ra  rq  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r(  r-  r1  r8  r;  rD  rM  rQ  rT  rW  rZ  r]  ra  rd  ri  rn  r}  r  r  r  r  r1   r&   r#   r    r]   r]   =   s   ,A8F$K/
= -<26E$=!:O R*	6	4L&CR#&L>,$8@'A (3
.2#,= ?3004.(C&8 6
65
886
868B9$0393/@'('(40(
9-.
8
-3*'5pK;\=69?=?NL3
3" F8 /0%3*3
*X%P%P":>!AF
4A&$-
G(V*(! 	)"58/.1.&00j>"22BG,	1+'/
	0(
,9:D"I P(I:
B3&18<
;
=%6NH,\10r#   r]   __main__)"r^  rz  rY  r  test.supportr   r  #test.test_unittest.testmock.supportr   r   r{  r   r   r	   r
   r   r   r   r   r   r   r   r   r   rO   r   r3   rH   rT   r[   r  r]   r,   mainr&   r#   r    <module>r     s     	 
  "  ;    
6 
% %F   ~$0x   ~$0@J zMMO r#   