
    4hh=E                         S SK r S SKrS SKrS SKJr  S SKJrJrJrJ	r	   " S S\R                  5      r\S:X  a  \R                  " 5         gg)    N)iscoroutinefunction)	AsyncMockMock	MagicMock_magicsc                       \ 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)g())TestMockingMagicMethods	   c                     [        5       nU R                  [        US5      5        [        5       Ul        U R	                  [        US5      5        U?U R                  [        US5      5        g )N__getitem__)r   assertFalsehasattrr   
assertTrueselfmocks     U/opt/python-3.13.8/usr/lib/python3.13/test/test_unittest/testmock/testmagicmethods.pytest_deleting_magic_methods3TestMockingMagicMethods.test_deleting_magic_methods   sV    v}566m45}56    c                    ^ [        5       mT?U R                  [        U4S j5        [        5       mTS     T?U R                  [        U4S j5        g )Nc                     > T S   $ Nfoo r   s   r   <lambda><TestMockingMagicMethods.test_magicmock_del.<locals>.<lambda>   	    T%[r   r   c                     > T S   $ r   r   r   s   r   r   r       r   r   )r   r   assertRaises	TypeErrorr   s    @r   test_magicmock_del*TestMockingMagicMethods.test_magicmock_del   sF    {)%89{U)%89r   c                    [        5       nS nX!l        U R                  UR                  U5        U R                  US   US45        U R                  UR                  S5      US45        Xl        U R	                  UR                  U5        g )Nc                 
    U S4$ )Nfishr   r   names     r   f=TestMockingMagicMethods.test_magic_method_wrapping.<locals>.f%   s    <r   r   r'   )r   r   assertIsNotassertEqualassertIs)r   r   r*   s      r   test_magic_method_wrapping2TestMockingMagicMethods.test_magic_method_wrapping#   s}    v	  ))1-etVn5))%04.Ad&&-r   c                    ^ [        5       n[        5       m[        [        / 5      S9Ul        U R                  [	        U5      / 5        U R                  [        U4S j5        g )Nreturn_valuec                     > [        T 5      $ N)list)mock2s   r   r   STestMockingMagicMethods.test_magic_methods_isolated_between_mocks.<locals>.<lambda>7   s	    T%[r   )r   iter__iter__r-   r6   r!   r"   )r   mock1r7   s     @r   )test_magic_methods_isolated_between_mocksATestMockingMagicMethods.test_magic_methods_isolated_between_mocks1   sF    484eb))%89r   c                     [        5       nU R                  [        U5      S[        U5      -  5        S Ul        U R                  [        U5      S5        g )Nz<Mock id='%s'>c                     gr   r   ss    r   r   3TestMockingMagicMethods.test_repr.<locals>.<lambda>=   s    %r   r   )r   r-   reprid__repr__r   s     r   	test_repr!TestMockingMagicMethods.test_repr:   sB    vd%54%@A'dU+r   c                     [        5       nU R                  [        U5      [        R	                  U5      5        S Ul        U R                  [        U5      S5        g )Nc                     gr   r   r@   s    r   r   2TestMockingMagicMethods.test_str.<locals>.<lambda>D   s    r   r   )r   r-   strobject__str__r   s     r   test_str TestMockingMagicMethods.test_strA   sA    vTFNN4$89&TE*r   c                   ^^ [        5       mU R                  [        U4S j5        U4S jnU4S jnU R                  [        U5        U R                  [        U5        0 mU4S jnU4S jnU4S jnUTl        UTl        UTl        U R                  [        U4S j5        STS	'   U R                  TS	S05        U R                  TS	   S5        TS		 U R                  T0 5        g )
Nc                     > T S   $ r   r   r   s   r   r   ;TestMockingMagicMethods.test_dict_methods.<locals>.<lambda>K   r   r   c                     > T S	 g r   r   r   s   r   _del7TestMockingMagicMethods.test_dict_methods.<locals>._delL   s
    Ur   c                     > ST S'   g )N   r   r   r   s   r   _set7TestMockingMagicMethods.test_dict_methods.<locals>._setN   s    DKr   c                    > TU   $ r5   r   rA   r)   _dicts     r   getitem:TestMockingMagicMethods.test_dict_methods.<locals>.getitemT   s    ;r   c                    > UTU'   g r5   r   )rA   r)   valuer\   s      r   setitem:TestMockingMagicMethods.test_dict_methods.<locals>.setitemV   s    E$Kr   c                    > TU	 g r5   r   r[   s     r   delitem:TestMockingMagicMethods.test_dict_methods.<locals>.delitemX   s
    dr   c                     > T S   $ r   r   r   s   r   r   rR   _   s	    DKr   barr   )r   r!   r"   __setitem__r   __delitem__KeyErrorr-   )r   rT   rX   r]   ra   rd   r\   r   s         @@r   test_dict_methods)TestMockingMagicMethods.test_dict_methodsH   s    v)%89		)T*)T*		 	 #""($78U/ee,K#r   c                 ,  ^ [        5       =nmSTl        U R                  [        U4S j5        U4S jnUTl        U R                  TS-   T5        U R                  TR                  S5        T?S nU R                  [        UT5        UTl        TS-  mU R                  TU5        U R                  TR                  S5        U R                  [        U4S j5        UTl        U R                  S	T-   T5        U R                  TR                  S
5        g )Nr   c                     > T S-   $ NrW   r   r   s   r   r   6TestMockingMagicMethods.test_numeric.<locals>.<lambda>k   	    TAXr   c                 2   > T=R                   U-  sl         U $ r5   r`   r   otherr   s     r   add1TestMockingMagicMethods.test_numeric.<locals>.addm       JJ%JKr   rW   c                     U S-  n g ro   r   r   s    r   iadd2TestMockingMagicMethods.test_numeric.<locals>.iaddu       AIDr      r
   c                     > ST -   $ ro   r   r   s   r   r   rp   }   	    QXr         )r   r`   r!   r"   __add__r-   __iadd____radd__)r   originalrv   rz   r   s       @r   test_numeric$TestMockingMagicMethods.test_numericg   s    & 4
)%56	 4(Q'L	)T40	x(Q')%56T4(R(r   c                 ,  ^ [        5       =nmSTl        U R                  [        U4S j5        U4S jnUTl        U R                  TS-  T5        U R                  TR                  S5        T?S nU R                  [        UT5        UTl        TS-  mU R                  TU5        U R                  TR                  S5        U R                  [        U4S j5        UTl        U R                  S	T-  T5        U R                  TR                  S
5        g )N    c                     > T S-  $ )N   r   r   s   r   r   7TestMockingMagicMethods.test_division.<locals>.<lambda>   rq   r   c                 2   > T=R                   U-  sl         U $ r5   rs   rt   s     r   truediv6TestMockingMagicMethods.test_division.<locals>.truediv   rx   r   r   r   c                     U S-  n g )N   r   r   s    r   itruediv7TestMockingMagicMethods.test_division.<locals>.itruediv   r|   r      c                     > ST -  $ )Nr   r   r   s   r   r   r      r   r   g      ?r   )r   r`   r!   r"   __truediv__r-   __itruediv____rtruediv__)r   r   r   r   r   s       @r   test_division%TestMockingMagicMethods.test_division   s    & 4
)%56	 #4(R(	)Xt4#	x(Q')%56#tT*Q'r   c                     [        5       nU R                  [        U5      [         R                  " U5      5        S nX!l        U R                  [        U5      S5        g )Nc                     gro   r   r@   s    r   _hash0TestMockingMagicMethods.test_hash.<locals>._hash   s    r   rW   )r   r-   hash__hash__)r   r   r   s      r   	test_hash!TestMockingMagicMethods.test_hash   sD    vdT]]4%89	dQ'r   c                     [        5       nU R                  [        U5      5        S Ul        U R	                  [        U5      5        g )Nc                     g)NFr   r@   s    r   r   6TestMockingMagicMethods.test_nonzero.<locals>.<lambda>   s    ur   )r   r   bool__bool__r   r   ms     r   test_nonzero$TestMockingMagicMethods.test_nonzero   s2    FQ $
a!r   c                    [        5       nS nU=Ul        =Ul        =Ul        Ul        U R                  US:  5        U R                  US:  5        U R                  US:*  5        U R                  US:  5        U R                  [        S 5        U R                  [        S 5        U R                  [        S 5        U R                  [        S 5        U R                  [        S 5        U R                  [        S 5        U R                  [        S	 5        U R                  [        S
 5        U R                  [        S 5        U R                  [        S 5        U R                  [        S 5        U R                  [        S 5        g )Nc                     g)NTr   rA   os     r   comp5TestMockingMagicMethods.test_comparison.<locals>.comp   s    r   rW   c                  ,    [        5       [        5       :  $ r5   r   rL   r   r   r   r   9TestMockingMagicMethods.test_comparison.<locals>.<lambda>       Y[68-Cr   c                  ,    [        5       [        5       :  $ r5   rL   r   r   r   r   r   r          VX	-Cr   c                  ,    [        5       [        5       :  $ r5   r   r   r   r   r   r          Y[9;-Fr   c                  ,    [        5       [        5       :  $ r5   r   r   r   r   r   r      r   r   c                  ,    [        5       [        5       :  $ r5   r   r   r   r   r   r      r   r   c                  ,    [        5       [        5       :  $ r5   r   r   r   r   r   r      r   r   c                  ,    [        5       [        5       :*  $ r5   r   r   r   r   r   r          Y[FH-Dr   c                  ,    [        5       [        5       :*  $ r5   r   r   r   r   r   r          VX-Dr   c                  ,    [        5       [        5       :*  $ r5   r   r   r   r   r   r          Y[IK-Gr   c                  ,    [        5       [        5       :  $ r5   r   r   r   r   r   r      r   r   c                  ,    [        5       [        5       :  $ r5   r   r   r   r   r   r      r   r   c                  ,    [        5       [        5       :  $ r5   r   r   r   r   r   r      r   r   )r   __lt____gt____le____ge__r   r!   r"   )r   r   r   s      r   test_comparison'TestMockingMagicMethods.test_comparison   s>   v	@DDDdkDDK$+""##)%CD)%CD)%FG)%CD)%CD)%FG)%DE)%DE)%GH)%DE)%DE)%GHr   c                 2   [        5       [        5       4 H  nU R                  X:H  S5        U R                  X:H  [        5        U R                  X:g  S5        U R                  X:g  [        5        U R                  U[        5       :H  S5        U R                  U[        5       :g  S5        S nX!l        U R                  US:H  5        U R                  US:H  5        S nX1l	        U R                  US:g  5        U R                  US:g  5        M     [        5       nSUR                  l
        U R                  US:H  [        5        U R                  US:H  S5        SUR                  l
        U R                  US:g  [        5        U R                  US:g  S5        g )NTFc                     US:H  $ ro   r   r   ru   s     r   eq1TestMockingMagicMethods.test_equality.<locals>.eq       z!r   rW   r   c                     US:H  $ ro   r   r   s     r   ne1TestMockingMagicMethods.test_equality.<locals>.ne   r   r   )r   r   r-   assertIsInstancer   rL   __eq__r   r   __ne__r3   )r   r   r   r   s       r   test_equality%TestMockingMagicMethods.test_equality   sT   FIK'DT\40!!$,5T\51!!$,5TVX-u5TVX-t4"KOODAI&TQY'"KOODAI&TQY'% (( {#' dai.D)#( dai.E*r   c                   ^ [        5       mU R                  [        [        T5        U R                  [        [        T5        U R                  [        U4S j5        S Tl        U R                  [        T5      S5        S Tl        U R                  ST5        U R                  ST5        S Tl
        U R                  [        T5      [        S5      5        g )Nc                     > ST ;   $ r   r   r   s   r   r   @TestMockingMagicMethods.test_len_contains_iter.<locals>.<lambda>   s	    Ud]r   c                     g)Nr}   r   r@   s    r   r   r      s    r   r}   c                     US:H  $ ro   r   r   s     r   r   r      s    ar   rW   c                     [        S5      $ )N	foobarbaz)r9   r@   s    r   r   r      s	    ${"3r   r   )r   r!   r"   lenr9   __len__r-   __contains__assertInassertNotInr:   r6   r   s    @r   test_len_contains_iter.TestMockingMagicMethods.test_len_contains_iter   s    v)S$/)T40)%:;"TA&/aD!3dT+%67r   c                    [        5       n[        / SQ5      UR                  l        U R	                  [        U5      / SQ5        S[        US5      l        U R                  [        US5      5        U R                  [        U5      5        [         H  nU R                  [        X5      5        M     U R                  [        US5      5        g )N   r   rW   Fr   __nonzero____imaginary__)r   r9   r:   r3   r-   r6   getattrr   r   r   r   r   )r   r   entrys      r   test_magicmock&TestMockingMagicMethods.test_magicmock   s    {%))_"dY/16j!.}56d$EOOGD01 78r   c                 `   [        5       nU R                  U[        5       :H  [        5        U R                  U[        5       :g  [        5        U R	                  U[        5       :H  S5        U R	                  U[        5       :g  S5        U R	                  X:H  S5        U R	                  X:g  S5        g )NFT)r   r   rL   r   r-   r   s     r   test_magic_mock_equality0TestMockingMagicMethods.test_magic_mock_equality  s    {dfh.5dfh.5)51)40t,u-r   c                 L   [        5       nU R                  [        U5      S5        U R                  [        U5      S5        U R                  [	        U5      S5        U R                  [        5       U5        U R                  [        U5      S5        U R                  [        U5      / 5        U R                  [        U5      [        R                  U5      5        U R                  [        U5      [        R                  U5      5        U R                  [        U5      5        U R                  [        U5      UR!                  5       5        U R                  ["        R$                  " U5      UR'                  5       5        U R                  ["        R(                  " U5      UR+                  5       5        U R                  ["        R,                  " U5      UR/                  5       5        U R                  [1        UR2                  5      5        U R                  [1        UR4                  5      5        U R7                  UR4                  [         5        U R7                  UR2                  [         5        U R                  [9        U5      S5        U R                  [;        U5      S5        g Nr   y              ?g      ?r   0o10x1)r   r-   intcomplexfloatr   rL   r   r6   r   r   rK   rM   r   r   round	__round__mathtrunc	__trunc__floor	__floor__ceil__ceil__r   	__aexit__
__aenter__r   octhexr   s     r   test_asyncmock_defaults/TestMockingMagicMethods.test_asyncmock_defaults     {TA&+tc*4(TA&dR(dV__T%:;TFNN4$89T
#tdnn&67D)4>>+;<D)4>>+;<4$--/:+DNN;<+DOO<=dooy9dnni8 	TE*TE*r   c                 L   [        5       nU R                  [        U5      S5        U R                  [        U5      S5        U R                  [	        U5      S5        U R                  [        5       U5        U R                  [        U5      S5        U R                  [        U5      / 5        U R                  [        U5      [        R                  U5      5        U R                  [        U5      [        R                  U5      5        U R                  [        U5      5        U R                  [        U5      UR!                  5       5        U R                  ["        R$                  " U5      UR'                  5       5        U R                  ["        R(                  " U5      UR+                  5       5        U R                  ["        R,                  " U5      UR/                  5       5        U R                  [1        UR2                  5      5        U R                  [1        UR4                  5      5        U R7                  UR4                  [8        5        U R7                  UR2                  [8        5        U R                  [;        U5      S5        U R                  [=        U5      S5        g r   )r   r-   r   r   r   r   rL   r   r6   r   r   rK   rM   r   r   r   r   r   r   r  r  r  r  r  r   r  r  r   r   r  r	  r   s     r   test_magicmock_defaults/TestMockingMagicMethods.test_magicmock_defaults+  r  r   c                     [        5       nUR                  5       nUR                  5         U R                  [        R
                  " U5      U5        UR                  R                  5         g r5   )r   
__fspath__
reset_mockr-   osfspathassert_called_once)r   r   expected_paths      r   test_magic_methods_fspath1TestMockingMagicMethods.test_magic_methods_fspathF  sG    {)4-8**,r   c           	         S GHc  nU R                  US9   [        5       nU R                  [        UR	                  5       5      [
        5        UR                  R                  5         U R                  [        UR                  5       5      [        5        UR                  R                  5         [        S5       H  nUR                  US9  U R                  [        UR	                  5       5      [
        5        UR                  R                  5         U R                  [        UR                  5       5      [        5        UR                  R                  5         M     S S S 5        GMf     g ! , (       d  f       GMy  = f)N)TF)resetrW   r2   )subTestr   r.   typerM   rK   r  r   r   ranger  )r   r  mm_s       r   ,test_magic_mock_does_not_reset_magic_returnsDTestMockingMagicMethods.test_magic_mock_does_not_reset_magic_returnsN  s    "EE*[d2::<0#6

--/d2;;=137..0qAMMuM5MM$rzz|"4c:JJ113MM$r{{}"5s;KK224 " +* #**s   EE,,
E<	c                    [        5       n[        [        S/5      S9Ul        [        SS9Ul        U R	                  [        [        U5      5      S/5        U R	                  UR                  5       S5        UR                  SS9  U R	                  [        [        U5      5      / 5        U R                  UR                  5       [         5        g )Nr   r2   r   T)r   r9   r:   customr-   r6   r  r   r   r  s     r   #test_magic_mock_resets_manual_mocks;TestMockingMagicMethods.test_magic_mock_resets_manual_mocksc  s    [T1#Y71-	d2h!-a(
4(d2h,biik95r   c                     [        5       n/ UR                  l        U R                  [	        [        U5      5      / 5        UR                  SS9  U R                  [	        [        U5      5      / 5        g )NTr2   )r   r:   r3   r-   r6   r9   r  r$  s     r   .test_magic_mock_resets_manual_mocks_empty_iterFTestMockingMagicMethods.test_magic_mock_resets_manual_mocks_empty_itern  sS    [#% d2h,
4(d2h,r   c                   ^  " S S[         5      n[        US9mU R                  [        U4S j5        [        [	        / 5      S9Tl        U R                  [        T5      / 5         " S S[         5      n[        US9mU R                  [        U4S j5        U4S	 jnU R                  [        U5        [        US9mU R                  [        T5      / 5        U R                  [        U5        g )
Nc                       \ rS rSrS rSrg)ETestMockingMagicMethods.test_magic_methods_and_spec.<locals>.Iterableiw  c                     g r5   r   r   s    r   r:   NTestMockingMagicMethods.test_magic_methods_and_spec.<locals>.Iterable.__iter__x      r   r   N__name__
__module____qualname____firstlineno__r:   __static_attributes__r   r   r   Iterabler,  w      $r   r7  )specc                     > T R                   $ r5   r:   r   s   r   r   ETestMockingMagicMethods.test_magic_methods_and_spec.<locals>.<lambda>{  	    $--r   r2   c                       \ rS rSrSrg)HTestMockingMagicMethods.test_magic_methods_and_spec.<locals>.NonIterablei  r   Nr2  r3  r4  r5  r6  r   r   r   NonIterabler?        r   rA  c                     > T R                   $ r5   r;  r   s   r   r   r<    r=  r   c                  4   > [        [        / 5      S9T l        g Nr2   r   r9   __int__r   s   r   set_intDTestMockingMagicMethods.test_magic_methods_and_spec.<locals>.set_int      T"X6DLr   	rL   r   r!   AttributeErrorr9   r:   r-   r6   r   r   r7  rA  rH  r   s       @r   test_magic_methods_and_spec3TestMockingMagicMethods.test_magic_methods_and_specv  s    	%v 	% ".*?@$r(3dR(	& 	%.*?@	7.'2h'dR(.'2r   c                   ^  " S S[         5      n[        US9mU R                  [        U4S j5        [        [	        / 5      S9Tl        U R                  [        T5      / 5         " S S[         5      n[        US9mU R                  [        U4S j5        U4S	 jnU R                  [        U5        [        US9mU R                  [        T5      / 5        U R                  [        U5        g )
Nc                       \ rS rSrS rSrg)ITestMockingMagicMethods.test_magic_methods_and_spec_set.<locals>.Iterablei  c                     g r5   r   r.  s    r   r:   RTestMockingMagicMethods.test_magic_methods_and_spec_set.<locals>.Iterable.__iter__  r0  r   r   Nr1  r   r   r   r7  rR    r8  r   r7  )spec_setc                     > T R                   $ r5   r;  r   s   r   r   ITestMockingMagicMethods.test_magic_methods_and_spec_set.<locals>.<lambda>  r=  r   r2   c                       \ rS rSrSrg)LTestMockingMagicMethods.test_magic_methods_and_spec_set.<locals>.NonIterablei  r   Nr@  r   r   r   rA  rY    rB  r   rA  c                     > T R                   $ r5   r;  r   s   r   r   rW    r=  r   c                  4   > [        [        / 5      S9T l        g rE  rF  r   s   r   rH  HTestMockingMagicMethods.test_magic_methods_and_spec_set.<locals>.set_int  rJ  r   rK  rM  s       @r   test_magic_methods_and_spec_set7TestMockingMagicMethods.test_magic_methods_and_spec_set  s    	%v 	% X&.*?@$r(3dR(	& 	[).*?@	7.'2(+dR(.'2r   c                 T   ^ [        5       mU4S jnU R                  [        SU5        g )Nc                     > S T l         g )Nc                     g r5   r   r(   s     r   r   dTestMockingMagicMethods.test_setting_unsupported_magic_method.<locals>.set_setattr.<locals>.<lambda>  s    $r   )__setattr__r   s   r   set_setattrRTestMockingMagicMethods.test_setting_unsupported_magic_method.<locals>.set_setattr  s    6Dr   z9Attempting to set unsupported magic method '__setattr__'.)r   assertRaisesRegexrL  )r   rd  r   s     @r   %test_setting_unsupported_magic_method=TestMockingMagicMethods.test_setting_unsupported_magic_method  s%    {	7~G	
r   c                     [        5       nUR                  nS nU R                  U" U5      [         5        U" 5       nU R                  U" U5      [         5        g )Nc                 2    [        U 5      R                  S   $ )Nr   )r  __mro__)objs    r   	_get_typeKTestMockingMagicMethods.test_attributes_and_return_value.<locals>._get_type  s     9$$Q''r   )r   r   r-   )r   r   attrrm  returneds        r    test_attributes_and_return_value8TestMockingMagicMethods.test_attributes_and_return_value  sI    {xx	( 	4)468,i8r   c                     [        5       nU R                  UR                  [         5        SUS   S   R                  l        U R	                  US   S   S   S5        g )NrW   r   r   )r   r   r   r3   r-   r   s     r   "test_magic_methods_are_magic_mocks:TestMockingMagicMethods.test_magic_methods_are_magic_mocks  sQ    {d..	:./Q
+aA*r   c                     [        5       n[        U5        U R                  UR                  R                  5        UR                  5         U R                  UR                  R                  5        g r5   )r   rK   r   rM   calledr  r   r   s     r   test_magic_method_reset_mock4TestMockingMagicMethods.test_magic_method_reset_mock  sH    {D	++,,,-r   c                     [        5       [        5       4 H(  nS nX!l        U R                  [	        U5      S/5        M*     g )Nc                     S/$ r   r   r.  s    r   _dir.TestMockingMagicMethods.test_dir.<locals>._dir  s	    wr   r   )r   r   __dir__r-   dir)r   r   r|  s      r   test_dir TestMockingMagicMethods.test_dir  s5    FIK'DLSY0	 (r   c                 r    [        5       nS/R                  Ul        U R                  [        [        U5        g ro   )r   r:   r!   r"   r9   r   s     r   test_bound_methods*TestMockingMagicMethods.test_bound_methods  s*    F S\\
)T1-r   c                 h     " S S[         5      nU" 5       nU R                  UR                  U5        g )Nc                       \ rS rSrSrg);TestMockingMagicMethods.test_magic_method_type.<locals>.Fooi  r   Nr@  r   r   r   Foor    rB  r   r  )r   r   rG  )r   r  r   s      r   test_magic_method_type.TestMockingMagicMethods.test_magic_method_type  s+    	) 	 eckk3/r   c                     [        5       nS[        U5      R                  l        U R	                  [        U5      S5        g r   )r   r  rM   r3   r-   rK   r   s     r   test_descriptor_from_class2TestMockingMagicMethods.test_descriptor_from_class  s-    K',Q$Q'r   c                 Z   [        5       n/ SQUR                  l        U R                  [	        U5      / SQ5        U R                  [	        U5      / SQ5        [        / SQ5      UR                  l        U R                  [	        U5      / SQ5        U R                  [	        U5      / 5        g )Nr   )r      r}   )r   r:   r3   r-   r6   r9   r   s     r   "test_iterable_as_iter_return_value:TestMockingMagicMethods.test_iterable_as_iter_return_value  su    K"+

a),a),"&y/

a),a"%r   c                 2   [        5       nU R                  US-  [         5        SUR                  l        SUR                  l        SUR
                  l        U R                  US-  S5        U R                  SU-  S5        US-  nU R                  US5        g )Nr   *   i     )r   r   
__matmul__r3   __rmatmul____imatmul__r-   r   s     r   test_matmul#TestMockingMagicMethods.test_matmul  s    Ka!eY/$&!%("%'"Q#Q$	RBr   c                    [        5       nU R                  [        SU5      [         5        SUR                  l        U R                  [        US5      S5        [        5       n[        SU5      nU R                  U[         5        UR                  S5      nU R                  U[         5        [        US5      nU R                  U[         5        UR                  S5      nU R                  U[         5        g )Nr  )r   r   r   )r   r   divmod
__divmod__r3   r-   __rdivmod__)r   r   r   
foo_directrg   
bar_directs         r   test_divmod_and_rdivmod/TestMockingMagicMethods.test_divmod_and_rdivmod  s    KfQlI6$*!1v.KQlc9-\\!_
j)4Qlc9-]]1%
j)4r   c                 T    [        S0 SS0D6nU R                  [        U5      S5        g )N__str__.return_value12r   )r   r-   rK   r   s     r   test_magic_in_initialization4TestMockingMagicMethods.test_magic_in_initialization  s)    7/67Q&r   c                     [        S0 SS0D6nSUR                  l        U R                  [	        U5      S5        [        S0 SS0D6nUR
                  " S0 SS0D6  U R                  [	        U5      S5        g )Nr  r  1314r   )r   rM   r3   r-   rK   configure_mockr   s     r   )test_changing_magic_set_in_initializationATestMockingMagicMethods.test_changing_magic_set_in_initialization  ss    7/67!%		Q&7/67	:2D9:Q&r   r   N)*r2  r3  r4  r5  r   r#   r/   r<   rF   rN   rk   r   r   r   r   r   r   r   r   r   r
  r  r  r   r%  r(  rN  r]  rg  rq  rt  rx  r  r  r  r  r  r  r  r  r  r6  r   r   r   r	   r	   	   s    7
:.:,+$>)6(4("I0+>8$9.+4+6-5*	6-3030

9+.1.0(&	 5"''r   r	   __main__)r   unittestr  asyncior   unittest.mockr   r   r   r   TestCaser	   r2  mainr   r   r   <module>r     sD      	 ' = =W'h// W't zMMO r   