&d:ddlZddlZddlZddlZddlmZddlZddlmZddlm Z ddl m Z m Z m Z mZmZmZmZmZmZmZmZmZmZGddeZGdd eZGd d Zd ZGd dejZedkrej dSdS)N) ALWAYS_EQ) is_instancemock) callDEFAULTpatchsentinel MagicMockMockNonCallableMockNonCallableMagicMock AsyncMock_Call _CallListcreate_autospecInvalidSpecErrorc$eZdZdZdZdZeZdS)Iterc2tgd|_dS)Nthisisaniter)rthingselfs F/opt/alt/python311/lib64/python3.11/unittest/test/testmock/testmock.py__init__z Iter.__init__s66677 c|SNrs r__iter__z Iter.__iter__s r!c*t|jSr#)nextrrs rr'z Iter.nextsDJr!N)__name__ __module__ __qualname__r r%r'__next__r$r!rrrsB888   HHHr!rcFeZdZddZeddZeddZdS) SomethingNcdSr#r$rabcds rmethzSomething.meth r!cdSr#r$)clsr0r1r2r3s rcmethzSomething.cmeth"s%)Tr!cdSr#r$r0r1r2r3s rsmethzSomething.smeth%s $r!r#)r(r)r*r4 classmethodr8 staticmethodr;r$r!rr-r-sH)))))))[)$$$\$$$r!r-ceZdZdZdZdZdS)TyposN)r(r)r* autospect auto_specset_specr$r!rr?r?)sIIHHHr!r?cdSr#r$r0s r somethingrE/r5r!c\eZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Zd=Z?d>Z@d?ZAd@ZBdAZCdBZDdCZEdDZFdEZGdFZHdGZIdHZJdIZKdJZLdKZMdLZNdMZOdNZPdOZQdPZRdQZSdRZTdSZUdTZVdUZWdVZXdWZYdXZZdYZ[dZZ\d[Z]d\Z^d]Z_d^Z`d_Zad`ZbdaZcdbZddcZeddZfdeZgdfZhdgZidhZjdiZkdjZldkZmdlZndmZodnZpdoZqdpZrdqZsdrZtdsZudtZvduZwdvZxdwZydxZzdyZ{dzZ|d{Z}d|Z~d}Zd~ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdS)MockTestc$tddS)Nzfrom unittest.mock import *)execrs rtest_allzMockTest.test_all4s *+++++r!cpt}||jd||jdd|t |jtd||jdd||j gd||j gd| d|j d | |jd | |jd ||jid dS) Nz called not initialised correctlyrz$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 assertFalsecalled assertEqual call_count assertTruer return_value call_argscall_args_list method_calls assertNotIn__dict__ assertIsNone _mock_parent _mock_methods_mock_childrenrrs rtest_constructorzMockTest.test_constructor;s|vv &HIII !? A A A  D$5t<<@ B B B > @ @ @ ,bC E E E *BB D D D 4=J L L L $+< > > > $,= ? ? ? ,b? A A A A Ar!c\td}||jddS)NrSz(return value in constructor not honoured)r rYrSr]s r test_return_value_in_constructorz)MockTest.test_return_value_in_constructorWsA&&& $+D F F F F Fr!c~d}t|}d|j_||ddS)NcdSr#r$r$r!rfz9MockTest.test_change_return_value_via_delegate..f^r5r!)rrrSrPrrdrs r%test_change_return_value_via_delegatez.MockTest.test_change_return_value_via_delegate]sB q!!!"  #####r!cd}t|}t|j_|t5|ddddS#1swxYwYdS)NcdSr#r$r$r!rrdz8MockTest.test_change_side_effect_via_delegate..fer5r!)r TypeErrorr side_effect assertRaisesrfs r$test_change_side_effect_via_delegatez-MockTest.test_change_side_effect_via_delegateds q!! )     y ) )   DFFF                  s AA!$A!c td}|dt||dt|zt|tdftddfg}|D]W\}}|d|zt|j|d|zt|j|d|zt|jj|d |zt||d |zt||d |zt|jjjYdS) Nfoonamez'%s'rbarz%s.barz%s.foo()z %s.foo().bingz%s()z%s()()z%s()().foo.bar.baz().bing)r assertInrepridrrrobingbaz)rrmocksrqs r test_reprzMockTest.test_reprls eT$ZZ((( fr$xx'd444&&&!De$4$4$4e#<= = =JD$ MM(T/4>> : : : MM*t+T($(**-=-= > > > MM/D0$xtxzz2G2G H H H MM&4-ddff 6 6 6 MM(T/4>> : : : MM5<vttvvxx|/3355:;; = = = =  = =r!cGddt}t|}|dt|t|}|dt|t|}|dt|t|}|dt|t|d}|dt||d t|td }|d t|t}|d t|tdg}|d t|dS) NceZdZdS)'MockTest.test_repr_with_spec..XNr(r)r*r$r!rXr|} Dr!r~specz spec='X' spec_setz spec_set='X' ro)rrqz name='foo' rpr)objectr rsrtrWrr~rs rtest_repr_with_speczMockTest.test_repr_with_spec|s        ||| lDJJ///~~~ lDJJ///Q &T 333QQSS!!! &T 333''' lDJJ/// nd4jj111 d,,,vv d,,,%!!! d,,,,,r!c0t}d}||_|t|ddd|jdddgdfd}||_||||ggdd tt j }||jt jd d }t|t j }||t jdS)Nc td)Nkablooie) SystemError)argskwargss reffectz)MockTest.test_side_effect..effectsj)) )r!refishrerrc,Sr#popresultssrrz)MockTest.test_side_effect..effect;;== r!rrrezside effect not used correctlyrkz#side effect in constructor not usedctSr#rr$r!rrkz.MockTest.test_side_effect..side_effectsNr!)rkrS) r rkrlrassert_called_withrPr SideEffectRETURN)rrrrkrs @rtest_side_effectzMockTest.test_side_effectsHvv * * *" +tQ:::11----)) ! ! ! ! !! $$&&$$&&$$&&1999: < < < 3444 )8+>? A A A    (/JJJ 11111r!cTgdfd}d}t|}gd|_||||ggddgdt|}||_||||ggdddS)Nrc,Sr#rrsrrz2MockTest.test_autospec_side_effect..effectrr!cdSr#r$r$r!rrdz-MockTest.test_autospec_side_effect..fr5r!z1side effect not used correctly in create_autospecrz'callable side effect not used correctly)rrkrP)rrrdrrs @rtest_autospec_side_effectz"MockTest.test_autospec_side_effects)) ! ! ! ! ! q!!$99 $$&&$$&&$$&&1999M O O O))q!!! $$&&$$&&$$&&1999C E E E E Er!cd}t|}td|_|td|dS)NcdSr#r$r$r!rrdz7MockTest.test_autospec_side_effect_exception..fr5r!zBazinga!)r ValueErrorrkassertRaisesRegexrfs r#test_autospec_side_effect_exceptionz,MockTest.test_autospec_side_effect_exceptionsD q!!%j11 z:t<<<<.AceZdZdZdS)(MockTest.test_autospec_mock..A.BN)r(r)r*Cr$r!rBrsr!rN)r(r)r*rrr$r!rArs>     F     r!rrz8Cannot autospec attr 'B' from target >@@@ A A A A A A A A A A A A A A A''(8(WYY C C !!!#sT!::@@BBB C C C C C C C C C C C C C C C''(8(KMM < < !!!Sqs!3399;;; < < < < < < < < < < < < < < <''(8(OQQ @ @ !!!S13!77==??? @ @ @ @ @ @ @ @ @ @ @ @ @ @ @''(8(OQQ @ @ !!!S13!77==??? @ @ @ @ @ @ @ @ @ @ @ @ @ @ @''(8:VWW   !#               OT^-=-=>> ! !    ! ! ! ! ! ! ! ! ! ! ! ! ! ! !+ ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s1L=A1% L=1A5 5L=8A5 9L=5C L=C L=C L=>:E8 L=E L= E L=*:F0$ L=0F4 4L=7F4 8L=:H L=H L=#H $L=:J< L=J L=J L=.K L=K L=K )L=L% L=%L) )L=,L) -L==MMcdGfdd}t||}tj|_||||jj|jdS)zWAutospec a class with wraps & test if the call is passed to the wrapped object. real resultceZdZfdZdS)9MockTest.test_create_autospec_wraps_class..ResultcSr#r$rresults r get_resultzDMockTest.test_create_autospec_wraps_class..Result.get_result r!Nr(r)r*rrsrResultr.       r!rrwrapsN)rrrrSrPr _mock_wraps)rr class_mockrs @r test_create_autospec_wraps_classz)MockTest.test_create_autospec_wraps_classs          %&??? #',  0022F;;; .:F.ResultcS)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$rsrrzMMockTest.test_create_autospec_instance_wraps_class..Result.get_results  r!N)r(r)r*r=rrsrrrs8     \   r!rT)rinstancerN)rrrrrSrPr)rr instance_mockrs @r)test_create_autospec_instance_wraps_classz2MockTest.test_create_autospec_instance_wraps_classs          (Vd&QQQ 15  - 1133V<<< 1=v?PQQQQQr!cdGfdd}t|j|j}|||dS)zfAutospec a function or a method with wraps & test if the call is passed to the wrapped object.rceZdZfdZdS)AMockTest.test_create_autospec_wraps_function_type..ResultcSr#r$rs rrzLMockTest.test_create_autospec_wraps_function_type..Result.get_resultrr!Nrrsrrrrr!rrN)rrrP)rr func_mockrs @r(test_create_autospec_wraps_function_typez1MockTest.test_create_autospec_wraps_function_types          $):&BSTTT  6688,,f55555r!c|d}t||}d}||_|||dS)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. cdSr#r$r$r!rmy_funczNMockTest.test_explicit_return_value_even_if_mock_wraps_object..my_func!s4r!rzexplicit return valueN)rrSrP)rrrrSs r4test_explicit_return_value_even_if_mock_wraps_objectz=MockTest.test_explicit_return_value_even_if_mock_wraps_objectsR   #@@@ . !-  l33333r!ct}dg}td||}|tjtj|j}|jtj|_|j}||j| |j dd| |j |d| |j |d| |jd| |jd d | |jdd | |jgd | |jgd |jdg| |jg| |jtjd| |j|d| |jd| |jd|id| |j|d| |jjddS)NrEchild)rqparentrrEzname incorrectly resetzparent incorrectly resetzmethods incorrectly resetzcalled not resetrzcall_count not resetzcall_args not resetzcall_args_list not resetz(method_calls not initialised correctly: z != zside_effect incorrectly resetzreturn_value incorrectly resetzreturn value mock not resetzchildren reset incorrectlyzchildren incorrectly clearedzchild not reset)r r r- SomethingElserErrkrS reset_mockrP _mock_namerZr[rNrOrQrTrUrV mock_callsr\)rrrrrErSs rtest_reset_mockzMockTest.test_reset_mock(ss}d;;; X 8+ABBBBN #.(   '1 3 3 3 *F3 5 5 5 +T4 6 6 6 &8999 !-CDDD /DEEE ,b2LMMM *BB***BB0 1 1 1 "--- )8+>9 ; ; ; *L: < < < ,.KLLL ,{I.F6 8 8 8 8 : : : .0ABBBBBr!cNt}||_|jdSr#)r rSrr]s rtest_reset_mock_recursionz"MockTest.test_reset_mock_recursionQs+vv  r!cTtj}|dSr#)rrrrr0s r(test_reset_mock_on_mock_open_issue_18622z1MockTest.test_reset_mock_on_mock_open_issue_18622Xs N   r!ct}|t|jtd|}|||d|j|t j}||jd||j dd||j t jfifd||j j t jfd||j j id||j t jfifgdt j|_|t jt j}||t jd ||j d d||j t jfd t jifd||j t jfift jfd t jifgd dS) Nz%Default return_value should be a Mockz'different result from consecutive callszcalled not setrezcall_count incorrectzcall_args not setrL)keyzincorrect return valuerrzcall_args_list not set)r rRrrSrPrr ArgrOrQrTrrrU ReturnValueKeyArg)rrrret_vals r test_callzMockTest.test_call\sMvv  D$5t<<? A A A B D D D$x|$$  %5666 !-CDDD 8, . . . ,x|o, . . . ., . . . ,/D.EC E E E%0$x|999 ("61 3 3 3 !-CDDD #vv  X\  X\hn---- , l_ HN # %l_tX^4 5 /    #>> .x~0FGGG +<<=====r!ctj}|||k|||k||tjk||tjk||tjk||tjk|tj|k|tj|k||t k||t ktjtj}tjtj}|||k|||k|||k|||k||t k||t k||dk||dkdS)Nre)rr rRrNANYrr)rmmcall1call2s rtest_calls_equal_with_anyz"MockTest.test_calls_equal_with_anys^   b!!! r""" t~///000 dn.../// dh''' tx((( B''' R((( i((( y))) $.**++ $(## ''' %((( ''' %((( *+++ )+,,, !$$$  #####r!c>t}||j|t|jd|j|t|j|ddddd|jddddddS)Nrerrrnothingr0r1)r rrlAssertionErrorrr]s rtest_assert_called_withz MockTest.test_assert_called_withsvv  !!! .$*A1EEE .$*ABBB Q1),,,,1a6Y??????r!ct}|t|tjdSr#)r rrrrms rtest_assert_called_with_anyz$MockTest.test_assert_called_with_anys8 KK )++ TX&&&&&r!cd d}t|}|ddd|jddd|jddd|t|jddd|t5}|jd dddn #1swxYwY||jjtdS) NcdSr#r$r:s rrdz9MockTest.test_assert_called_with_function_spec..fr5r!rrerrr1r2r0r1r2er#)r rrlrassertIsInstance exception __cause__rjrrdrcms r%test_assert_called_with_function_specz.MockTest.test_assert_called_with_function_specs-$$$$||| Q!q1a(((!qA.... .$*AqA  ' ' '  ~ . . )" #D #a ( ( ( ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) bl4i@@@@@B$$B(+B(cfd}ttj}||ttj}||ttj}||ttj}||ttj}||dS)Nc|ddd|jddd|jdddt|jddddS)Nrerrrr)rrlrrrs r_checkz._checks Da1     #D #Aq! , , , #D #a1 2 2 2 2   nd.E1  + + + + +r!r)r r-r4r8r;)rrrs` r#test_assert_called_with_method_specz,MockTest.test_assert_called_with_method_specs + + + + +)***t )))t *+++t )))t *+++t r!cd}|t|d5tdddn #1swxYwY|t|d5tdddddS#1swxYwYdS)Nz"Expected '{0}' to have been calledr test_namerp)rrformatr assert_called)rmsgs r$test_assert_called_exception_messagez-MockTest.test_assert_called_exception_messages72  # #NCJJv4F4F G G # # FF " " " # # # # # # # # # # # # # # #  # #NCJJ{4K4K L L 3 3 k " " " 0 0 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s#!AA"%A"#CC C ctj|tjj|tjdddjdddjddd|tfddS)Nrorrrrwc*jdddS)Nbobrrrrassert_called_once_withrsrz7MockTest.test_assert_called_once_with.. s0D01EEEr!)r r rlrrr]s @rtest_assert_called_once_withz%MockTest.test_assert_called_once_withsvv  %$&&&  .$*FGGG .$*FGGG UEq!!!!$$UEq9999 UEq!!!!   E E E E     r!ctdd|ttjdfddS)NrerzCalls: [call(1), call(2)]c.dS)Nrr)rsrr!zAMockTest.test_assert_called_once_with_call_list..sA--a00r!)r rrreescapers @r&test_assert_called_once_with_call_listz/MockTest.test_assert_called_once_with_call_list sd FF ! ! ~ I1 2 2 0 0 0 0 2 2 2 2 2r!cRd d}t|}|ddd|jddd|jddd|t|jddd|t5}|jd dddn #1swxYwY||jjt|d d d |t|jddd|t|jd d d dS)NcdSr#r$r:s rrdz>MockTest.test_assert_called_once_with_function_spec..fr5r!rrerrrrrrr#)r r rlrr r r rjr s r*test_assert_called_once_with_function_specz3MockTest.test_assert_called_once_with_function_specs$$$$||| Q!q$$Q1---$$qA3333 .$*FqA  ' ' '  ~ . . ." (D (1 - - - - . . . . . . . . . . . . . . . bl4i@@@ Q1  .$*FQ # # # .$*FQ # # # # #rcvt}|j}|t|td||j|dt}d|j_||jdd||jjddS)Nzattribute isn't a mockz+different attributes returned for same namerzmethod returned wrong valuez!method didn't record being called)r rErRrrPrSrOrrrEs r#test_attribute_access_returns_mocksz,MockTest.test_attribute_access_returns_mocks+svvN   It446NOOO F H H Hvv&'# ))1.KLLL -; = = = = =r!ct}|j}||jdd||j|ddS)NrEz attribute name not set correctlyz"attribute parent not set correctly)r rErPrrZr/s r(test_attributes_have_name_and_parent_setz1MockTest.test_attributes_have_name_and_parent_set;s`vvN  -{; = = = /= ? ? ? ? ?r!cXt}|jdd|jdtj||jjdddtjifgd||jdd d difd ddtjifgddS) Nrrr,)cakerE)r,r4z#method calls not recorded correctly)rrzsomething_else.something)r rEsomething_elser CakerPrVr]s rtest_method_calls_recordedz#MockTest.test_method_calls_recordedEsvvqt$$$$ %%ahm%<<< ,9' /FGH? A A A * $ / ' /F G-  2  3 3 3 3 3r!ct}|j||jdg||jddifgt}|jd||jdg||jddifgt}|jd||jdd difg||jddd difgt}|jdd ||jddd d ifgdS) NrrEr$ different)rEr9r:rexr<more)somer>)r rErPrVr]s r test_method_calls_compare_easilyz)MockTest.test_method_calls_compare_easilyTsvv *^,<=== *k2r-B,CDDDvv{### *-J,KLLL *&;< > > >vv *kC8-D,EFFF *k2Qx-H,IJJJvv{0000 * .66*: ;-      r!c dgdfD]?}dD]:}tdi||i}|j|tdt|d;@dS)NrEr)rrz-Mock object has no attribute 'something_else'r5r$)r rErAttributeErrorgetattr)rrargrs rtest_only_allowed_methods_existz(MockTest.test_only_allowed_methods_existls M>1  D)  **sDk**&&"CT#3   r!cGddt}fd}|t||t|dS)NceZdZdZdZdZdS)*MockTest.test_from_spec..SomethingrNcdSr#r$rs ryz,MockTest.test_from_spec..Something.y~r5r!)r(r)r*r< __something__rIr$r!rr-rG{s#A M     r!r-c|j|j|jtdt |dtdt |ddS)Nz Mock object has no attribute 'z'zz)Mock object has no attribute '__foobar__' __foobar__)r<rIrJrrArBrs rtest_attributesz0MockTest.test_from_spec..test_attributessp FF FF     " "2s     " ";|     r!r)rr )rr-rNs` rtest_from_speczMockTest.test_from_speczs               ),,,---))++.../////r!ct}t|}||jt||jt|||||ddd|ddddS)Nrrerrr)r rPrSrassertNotEqualrrrrealrs rtest_wraps_callszMockTest.test_wraps_callssvv$ *G444 D-w777 (((  Q 11-----r!cGddt}|}t||tfddS)NceZdZdS)FMockTest.test_wraps_prevents_automatic_creation_of_mocks..RealNr}r$r!rRealrXrr!rYrQc"jSr#)new_attrrsrr!zJMockTest.test_wraps_prevents_automatic_creation_of_mocks..s-$-//r!)rr rlrArrYrTrs @r/test_wraps_prevents_automatic_creation_of_mocksz8MockTest.test_wraps_prevents_automatic_creation_of_mockssp     6   tvv$ .*A*A*A*ABBBBBr!ct}t|}d|_||d||jdS)NrQr)r rSrPrNrOrSs r,test_wraps_call_with_nondefault_return_valuez5MockTest.test_wraps_call_with_nondefault_return_values[vv$ ### %%%%%r!c Gddt}|}t||j||t fd|j|jjddd}|jjddd|||jdS) Nc"eZdZeZdS),MockTest.test_wraps_attributes..RealN)r(r)r*r attributer$r!rrYrbsIIIr!rYrQcjSr#rrsrr!z0MockTest.test_wraps_attributes..s $)r!rerrr) rr rPrcrlrArRfrogr)rrYrTrrs @rtest_wraps_attributeszMockTest.test_wraps_attributess     6   tvv$ ))4>>+;+;<<< .*;*;*;*;<<< DNDN;;;$$Q$22 ..q!!.<<< !4!4!6!677777r!cGddt}|}t|}tjtg|j_||jtj||jtj| t|jdS)NceZdZdZdS)[MockTest.test_customize_wrapped_object_with_side_effect_iterable_with_default..RealctjSr#)r ORIGINAL_VALUErs rmethodzbMockTest.test_customize_wrapped_object_with_side_effect_iterable_with_default..Real.methods ..r!Nr(r)r*rlr$r!rrYris# / / / / /r!rYrQ) rr r VALUE1rrlrkrPrkrl StopIterationr\s rDtest_customize_wrapped_object_with_side_effect_iterable_with_defaultzMMockTest.test_customize_wrapped_object_with_side_effect_iterable_with_defaults / / / / /6 / / /tvv$#+?G"<  888 (?@@@ -55555r!cGddt}|}t|}tjtjg|j_||jtj||jtj|t|jdS)NceZdZdZdS)NMockTest.test_customize_wrapped_object_with_side_effect_iterable..RealcdSr#r$rs rrlzUMockTest.test_customize_wrapped_object_with_side_effect_iterable..Real.methodr5r!Nrmr$r!rrYrs " " " " "r!rYrQ) rr r rnVALUE2rlrkrPrlror\s r7test_customize_wrapped_object_with_side_effect_iterablez@MockTest.test_customize_wrapped_object_with_side_effect_iterables # # # # #6 # # #tvv$#+?HO"D  888 888 -55555r!cGddt}|}t|}t|j_|t|jdS)NceZdZdZdS)OMockTest.test_customize_wrapped_object_with_side_effect_exception..RealcdSr#r$rs rrlzVMockTest.test_customize_wrapped_object_with_side_effect_exception..Real.methodr5r!Nrmr$r!rrYrzrur!rYrQ)rr RuntimeErrorrlrkrlr\s r8test_customize_wrapped_object_with_side_effect_exceptionzAMockTest.test_customize_wrapped_object_with_side_effect_exceptionsq # # # # #6 # # #tvv$".  , 44444r!cGddt}d}|}t|}||j_||jt jdS)NceZdZdZdS)NMockTest.test_customize_wrapped_object_with_side_effect_function..RealcdSr#r$rs rrlzUMockTest.test_customize_wrapped_object_with_side_effect_function..Real.methodr5r!Nrmr$r!rrYrrur!rYctjSr#)r VALUEr$r!rrkzUMockTest.test_customize_wrapped_object_with_side_effect_function..side_effects > !r!rQ)rr rlrkrPr r)rrYrkrTrs r7test_customize_wrapped_object_with_side_effect_functionz@MockTest.test_customize_wrapped_object_with_side_effect_functions # # # # #6 # # # " " "tvv$"-  77777r!cGddt}|}t|}tj|j_||jtjdS)NceZdZdZdS)FMockTest.test_customize_wrapped_object_with_return_value..RealcdSr#r$rs rrlzMMockTest.test_customize_wrapped_object_with_return_value..Real.methodr5r!Nrmr$r!rrYrrur!rYrQ)rr r rrlrSrPr\s r/test_customize_wrapped_object_with_return_valuez8MockTest.test_customize_wrapped_object_with_return_values{ # # # # #6 # # #tvv$#+>   77777r!cGddt}|}t|}tjtjg|j_tj|j_| |jtj| |jtj| t|jdS)NceZdZdZdS)VMockTest.test_customize_wrapped_object_with_return_value_and_side_effect..RealcdSr#r$rs rrlz]MockTest.test_customize_wrapped_object_with_return_value_and_side_effect..Real.method r5r!Nrmr$r!rrYr rur!rYrQ) rr r rnrvrlrk WRONG_VALUErSrPrlror\s r?test_customize_wrapped_object_with_return_value_and_side_effectzHMockTest.test_customize_wrapped_object_with_return_value_and_side_effect s # # # # #6 # # #tvv$#+?HO"D #+#7   888 888 -55555r!cGddt}|}t|}d|j_tj|j_||jtjdS)NceZdZdZdS)WMockTest.test_customize_wrapped_object_with_return_value_and_side_effect2..RealcdSr#r$rs rrlz^MockTest.test_customize_wrapped_object_with_return_value_and_side_effect2..Real.methodr5r!Nrmr$r!rrYrrur!rYrQctSr#rr$r!rr!z[MockTest.test_customize_wrapped_object_with_return_value_and_side_effect2.. s'r!)rr rlrkr rrSrPr\s r@test_customize_wrapped_object_with_return_value_and_side_effect2zIMockTest.test_customize_wrapped_object_with_return_value_and_side_effect2s # # # # #6 # # #tvv$"1/ #+>   77777r!cGddt}|}t|}tjtg|j_tj|j_| |jtj| |jtj| t|jdS)NceZdZdZdS)^MockTest.test_customize_wrapped_object_with_return_value_and_side_effect_default..RealcdSr#r$rs rrlzeMockTest.test_customize_wrapped_object_with_return_value_and_side_effect_default..Real.method(r5r!Nrmr$r!rrYr'rur!rYrQ) rr r rnrrlrkrrSrPrlror\s rGtest_customize_wrapped_object_with_return_value_and_side_effect_defaultzPMockTest.test_customize_wrapped_object_with_return_value_and_side_effect_default&s # # # # #6 # # #tvv$#+?G"< #+?   888 888 -55555r!cddi}t|}||dd||dt|d|vd|j_||ddt j|j_||dd||dd||dt|d|vd|d<||dd||dt|d|v|d=||dddS)NrorrrQrSrwspam)r rPgetr rNrSr r)rdata wrapped_dicts rtest_magic_method_wraps_dictz%MockTest.test_magic_method_wraps_dict4su~ t,,,  ))%00%888 l519=== ,.///)7 % ))%00.AAA)1(8 % ))%00%888 ))%00$777 l519=== ,.///U  ))%00&999 l519=== ,./// K ))%00$77777r!c.Gdd}t|}|}||dd||dd||ddS)NceZdZdZdZdS)3MockTest.test_magic_method_wraps_class..Fooc|Sr#r$)rindexs r __getitem__z?MockTest.test_magic_method_wraps_class..Foo.__getitem__Ys r!cdSNror$rs r__custom_method__zEMockTest.test_magic_method_wraps_class..Foo.__custom_method__\sur!N)r(r)r*rrr$r!rFoorWs2        r!rrQrro)r rPrr)rrklassobjs rtest_magic_method_wraps_classz&MockTest.test_magic_method_wraps_classUs        $$$egg ++Q/// Q### ..00%88888r!ctt}|t|ttd}|t|dSNrro)r rArlr]s rtest_exceptional_side_effectz%MockTest.test_exceptional_side_effectgs\/// .$///u 5 5666 .$/////r!ctt}|t|ttd}|t|dSr)r KeyboardInterruptrlr]s r test_baseexceptional_side_effectz)MockTest.test_baseexceptional_side_effectos` 1222 +T222 1% 8 8999 +T22222r!cdt}|td|jdS)Nz not called)r rrrr]s rtest_assert_called_with_messagez(MockTest.test_assert_called_with_messagews7vv ~| $ 7 9 9 9 9 9r!chtd}|td|jdS)Ngeoffreyrpz'Expected 'geoffrey' to be called once\.)r rrr r]s r$test_assert_called_once_with_messagez-MockTest.test_assert_called_once_with_message}s?$$$ ~?1 3 3 3 3 3r!ct|tfdd_|jddS)NcjSr#)r(rsrr!z'MockTest.test__name__..s $-r!ro)r rlrAr(rPr]s @r test__name__zMockTest.test__name__sQvv .*?*?*?*?@@@  .....r!cGddt}t|dg}|jd|jd|t t |ddS)NceZdZdS)-MockTest.test_spec_list_subclass..SubNr}r$r!rSubrrr!rrorr)listr appendrrlrArB)rrrs rtest_spec_list_subclassz MockTest.test_spec_list_subclasss     $   eW&&& A &&q))) .'4?????r!c Gddt}t|}|||t|}|||||j||tjjdt|}|||t|}|||dS)NceZdZdS)#MockTest.test_spec_class..XNr}r$r!rr~rrr!r~rr r)rr r assertIs __class__rPr(rs rtest_spec_classzMockTest.test_spec_classs        ||| dA&&&~~~ dA&&& dna((( )2F;;;Q dA&&&QQSS!!! dA&&&&&r!cGdd}t|}|||t|}|||||j||tjjdt|}|||t|}|||dS)NceZdZdS)2MockTest.test_spec_class_no_object_base..XNr}r$r!rr~rrr!r~rr r)r r rrrPr(rs rtest_spec_class_no_object_basez'MockTest.test_spec_class_no_object_bases        ||| dA&&&~~~ dA&&& dna((( )2F;;;Q dA&&&QQSS!!! dA&&&&&r!cGddt}t|d_t|fd}d_|t |dS)NceZdZdZdS)8MockTest.test_setting_attribute_with_spec_set..XrN)r(r)r*rIr$r!rr~rsAAAr!r~rrorcd_dSrr;rsrset_attrz?MockTest.test_setting_attribute_with_spec_set..set_attrsDFFFr!)rr r<rIrlrA)rr~rrs @r$test_setting_attribute_with_spec_setz-MockTest.test_setting_attribute_with_spec_sets        |||Q      .(33333r!ctj}|tj|tjt dt jt dS)NgeA)sysgetrecursionlimit addCleanupsetrecursionlimitintcopyr )rcurrents r test_copyzMockTest.test_copysZ')) -w777 c$ii((( $&&r!cGddt}|||jdfd}|t|fd}|t |dS)Nc2eZdZdZdZeeeZdS)8MockTest.test_subclass_with_properties..SubClasscdSNrr$rs r_getz=MockTest.test_subclass_with_properties..SubClass._getsqr!c td)Nz strange error) NameError)rvalues r_setz=MockTest.test_subclass_with_properties..SubClass._sets000r!N)r(r)r*rrpropertysome_attributer$r!rSubClassrs=    1 1 1%XdD11NNNr!rrrcd_dSr)rssrtestz4MockTest.test_subclass_with_properties..tests A   r!cd_dS)Nrrrorsrrz4MockTest.test_subclass_with_properties..testsAEEEr!)r rPrrlrrA)rrrrs @rtest_subclass_with_propertiesz&MockTest.test_subclass_with_propertiess 2 2 2 2 2t 2 2 2 Hh ' ' ' )1--- ! ! ! ! ! )T***      .$/////r!ct}d}|t|_|d|jd|t |dddS)NcV||||Sr#)_increment_mock_call _mock_callrs r__call__z,MockTest.test_setting_call..__call__s(  % %a ( ( (??1%% %r!onetwo)r typerrrlrj)rrrs rtest_setting_callzMockTest.test_setting_callsjvv & & &'T  U &&& )T5%88888r!ct}tt|}tdttD}|t||z |j|jf|dt||dt|dx|_|_|dt||dt|d|_ |dt|dS)Nc<g|]}|d|S)_) startswith).0rs r z%MockTest.test_dir..s)HHHall36G6GH!HHHr!r0r1r2r3c tgSr#)rrs rr!z#MockTest.test_dir.. s $r((r!r%) r setdirrPr0r1rsr2r3r%)rrattrs type_attrss rtest_dirzMockTest.test_dirsvvCIIHHSYYHHHII   U 2333  c3t99%%% c3t99%%% c3t99%%% c3t99%%%+*  j#d)),,,,,r!cttj}tt tj}tt |}|t||z d|_|t |dddS)Nrrversionre)r unittestTestCaserrrPrcount)rrtestcase_attrsrs rtest_dir_from_speczMockTest.test_dir_from_specs*+++S!23344CII  6777  T33Q77777r!ctjtdd}| t t t }t t t }|t ||z |dS#|wxYw)N FILTER_DIRF) r rrrrrr rPstop)rpatcherrrs rtest_filter_dirzMockTest.test_filter_dirs,t\599  DFF $$ESYYJ   SUUJ$6 7 7 7 LLNNNNNGLLNNNNs A.B55C ct}d|j_|dt ||`|dt |dS)Nrer)r rrSrsrrWr]s r,test_dir_does_not_include_deleted_attributesz5MockTest.test_dir_does_not_include_deleted_attributes)sVvv"#  gs4yy))) J #d)),,,,,r!ctd}||jdtd}||jdtdtd}tdi|}|t|||jd||jtt}|jdi||t|||jd||jtdS)Nrrr!)rkzfoo.bar.return_valueror$) r rPror KeyErrorrlrrr configure_mock)rrrs rtest_configure_mockzMockTest.test_configure_mock2s: 5)))U### 5)))!)2"&&~~f~~ (D))) ,,, dh 222vv%%f%%% (D))) ,,, dh 22222r!c||5}||i|dddn #1swxYwYt|j}|||dSr#)rlstrr rP)rr messagefuncrrcontextrs rassertRaisesWithMsgzMockTest.assertRaisesWithMsgGs   y ) ) "W D$ !& ! ! ! " " " " " " " " " " " " " " "'#$$ g&&&&&s +//c Pt}d}d}d}|t|||fz|jdddd|jdddd |jj|jjg}|D].}d }d }d}|t|||fz|dddd/|D]+}d }d }d}|t|||fz|d,|D],}d }d }d}|t|||fz|ddd-|D])}d }d}d}|t|||fz|*dS)Nz not called.zmock(1, '2', 3, bar='foo')z2expected call not found. Expected: %s Actual: %sre2rro)rrrzfoo(1, '2', 3, foo='foo')zfoo(1, '2', 3, bar='foo')zfoo(bar='foo')z foo(1, 2, 3)rzfoo())r rrrror )rractualexpectedr assertersr4s r'test_assert_called_with_failure_messagez0MockTest.test_assert_called_with_failure_messageOs  /H   Gx&88  #QQE !   C&&&& H ')I   D0F2HLG  $ $8V*< <aaU %       D0F'HLG  $ $8V*< <% %       D0F%HLG  $ $8V*< <aA       D0FHLG  $ $8V*<  (333  ### (333 ,B|n==={{  1aa1 %%% RL8YqA?  (333 *.9y$a...9: < < < *5 )TA^^^<= ? ? ?{{   RL<R0 R (  (333 *++--7799 ; ; ;ffd....$ ;$ ;F&&v&&D MMM&B/0H   T_h 7 7 7&&v&&D FDFHHJJJb" r27H   T_h 7 7 7   VTVXX0466( ; ; ;&&v&&D GDDGGAJJqMMM   T_jgd1ggajjmm.E.E.G.G H H H   TTVV.Q 0D0D0F0F G G G   VTTVVXX0$q''2C2C2E2E F F F&&v&&D GDDGGAJJqMMO    " " "   T_'WT!WWQZZ]]_.0033==?? A A A   TTVV.$T!WWQZZ\^--a00::<< > > >   VTTVVXX0!!WWY[]]1--7799 ; ; ;&&v&&D    $$&& ' ' '5r2>I   T_R0) < < <   TTVV.!X\\^^//1199;;EEGG I I I   TTVVZ^^--8!XZZ//11;;== ? ? ?   TTVVZ^^--1<!VV^^--7799 ; ; ; ;G$ ;$ ;r!cFt}|}|||jt t g||jt jgdSr#)r wibblerPrr)rrrs rtest_child_mock_call_equalz#MockTest.test_child_mock_call_equalsw FF   '@AAA *T[]]O<<<<>> ALOTXZZ88888r!ct}|d||jdt jddS)Nrer;r)r rorrrPrrrs r2test_mock_call_not_equal_non_leaf_params_differentz;MockTest.test_mock_call_not_equal_non_leaf_params_differents_ FF   a$(Q---*;*;*=*=>>>>>r!ct}|j||jdt jdSNrr3rs r&test_mock_call_not_equal_non_leaf_attrz/MockTest.test_mock_call_not_equal_non_leaf_attrsF FF   ALOTX\\^^<<<<>>>>r!ct}|j|t |jdd|t |jdd|t |jdddS)Nrz call.foo()rezcall.foo().bar()rzcall.foo().bar().baz.bob())r rorrrwrrPrtrrs rtest_mock_call_reprzMockTest.test_mock_call_reprs FF   al1o.. === al1o..0BCCC al1o..0LMMMMMr!ct}||_t||t|ddS)Nz)r rort assertRegexrs rtest_mock_call_repr_loopz!MockTest.test_mock_call_repr_loopsP FF QUUWW  aeegg(JKKKKKr!ctt}|tg|jvdSr#)r rNrrrs rtest_mock_calls_containsz!MockTest.test_mock_calls_containss2 FF $&&Q\122222r!c^Gddt}|}||j||||Gddt}|}||j||||dS)NceZdZdS)+MockTest.test_subclassing..SubclassNr}r$r!rSubclassrErr!rFceZdZdZdS)rEctdi|S)Nr$)r )rrs r_get_child_mockz;MockTest.test_subclassing..Subclass._get_child_mocks~~f~~%r!N)r(r)r*rIr$r!rrFz+MockTest.test_subclassing..Subclasss# & & & & &r!)r r roassertNotIsInstance)rrFrs rtest_subclassingzMockTest.test_subclassings     t   xzz dh111 ddffh/// & & & & &t & & &xzz   8444   22222r!c(ttttg}fd}|D]}||t |r<||dd|d|j|||j|jdd|jdd|j||dS)Ncd}|D]^}t||}|t|t|g_dS)N)rUrVr)rBr rrrP)rnamesrqattrrs r assert_attrsz-MockTest.test_arg_lists..assert_attrs-suBE + +tT**%%dI666%%dD111  r****  + +r!rerrrD) r r r rcallablerrorrrw)rrxrPrs` rtest_arg_listszMockTest.test_arg_lists%s5 FF KK    " "   + + + + +  D L   ~~ #Q q !!! T""" DHJJJ HLLaL DHQKKOO   ! !! $ $ $ DO    L    !  r!ct}|dd|dd|t|jd||jjd||jjt ddt dfdt dfg}t||jD]l\}}|t|d||d |d ||d|dmdS) NrerrDrr*r1)rrer) r rPlenrTrrr'ziprU)rr expected_listr!rTs rtest_call_args_two_tuplez!MockTest.test_call_args_two_tupleHs5vv Q!  Q!  T^,,a000 ,d333 .q :::q *T4!999,=> #&}d6I#J#J 8 8 Hi   S^^Q / / /   Xa[)A, 7 7 7   Xa[)A, 7 7 7 7 8 8r!cttgd}||||ggd|t|t gd}||||ggd|t|td}||||ggd|t|Gddt }t |}|||tt}|||||ggd|t|dS) Nrrrghi)ghiceZdZdS)/MockTest.test_side_effect_iterator..FooNr}r$r!rrr`err!rr) r rrPrlror rr r)rrrs rtest_side_effect_iteratorz"MockTest.test_side_effect_iteratorXsYYY000 $$&&$$&&$$&&1999=== -...___555 $$&&$$&&$$&&1???CCC -...&&& $$&&$$&&$$&&1???CCC -...     &   S))) ddffc***''' $$&&$$&&$$&&$$&&9555 7 7 7 -.....r!cDttfD]}tdtdf}||}|t|||d|t|||ddS)Nrr,r)r r rrrlrP)rKlassiterablers r$test_side_effect_iterator_exceptionsz-MockTest.test_side_effect_iterator_exceptionsps9_ % %E"Ax3H(+++A   j! , , ,   QQSS! $ $ $   h * * *   QQSS! $ $ $ $  % %r!ct}tgd|_||||ggd|t ||j}||ttggd|_||||ggd|t ||j}||ttgt}||_|||||ggd|t || |j|dS)Nrrr) r rrkrPrlror rrr)rrrk this_iters r!test_side_effect_setting_iteratorz*MockTest.test_side_effect_setting_iteratorzsvv ?? $$&&$$&&$$&&1999=== -...&  k4R>>:::*?? $$&&$$&&$$&&1???CCC -...&  k4R>>:::FF $ $$&&$$&&$$&&$$&&9555 7 7 7 -... d& 22222r!ctd}tdtg|_|||gddgdS)Nrr`re)r rrrkrPr]s r!test_side_effect_iterator_defaultz*MockTest.test_side_effect_iterator_defaultsW###G -- $$&&$$&&)Aq622222r!c t}|dd|d|dd|d|dtddddifd d ddifd d ddifd d ifd d ddifg}|D]}|j|gdtddtdtdddfD]&}|t|j|gd'tddtdgtddtddgtdtdgg}|D]}|j|dtdtdtdgtddtddgtddtddtddgtdtddtdtddtdgg}|D]%}|t|j|d&dS)NrerrrDr*r,rTr0)rr*r$)r%rerr%rmT any_orderrror+)r rassert_has_callsrlr)rrkallskall kall_lists kall_lists rtest_assert_has_calls_any_orderz(MockTest.test_assert_has_calls_any_ordersvv Q  q  Q  q  q  AJJ#q S!H~ 2Qx.  r2Qx0    : :D !D !4&D 9 9 9 9 9CLL$)))TVVQeC  D    5$      !QZZ # !QZZa $ AYYYq " $ = =I !D !)t < < < < <AYYYq 4!999 - !QZZa $ !QZZaT!QZZ 0 AYYYQ D1IIItAqzz4!999 E  $  I    5T       r!c Btddddifdtddd d difg}tjtjdg}|tjd |tjti  dgg}ttfD]V}|dd|d |dd |d|dd| ||fWt}|j|jd|jd |jti  dg| ||f|D]\}}tt|D]r}dD]m}||||z}|j|t|dkr;|t"|jt%t'|nsdS)Nrerr0rrlr,rTr%rUr1rDrr*r)rrorrextendrrwr(bamrrr r rrangerVrqrlrrreversed) rkalls1kalls2rxrrrr^steptheses rtest_assert_has_callszMockTest.test_assert_has_callssQ c1XK4!999TC8$  (**dhqkk* dikkooo**4466777 dhsuu"---22A377AACCDDDFFIKK' ) )D DAJJJ D1IIII DAJJJ D1IIII DaLLLL LL$ ( ( ( (vv   !B$$aS))) dF^$$$  KD%3u::&&  #  D!!AdF(OE)D)%0005zzA~~))* 1 %11    r!c Gdd}t|}||fD]r}|dddd|tjddddg|tjddddgs|||fD]}|t |jtjg|ddd|tjdtjdddg|jtdtddg|tjdtj dtj dtjddddg}|D]$}|t |j|g%dS)Nc6eZdZdZddZGddZdS)=MockTest.test_assert_has_calls_nested_spec..SomethingcdSr#r$rs rr zFMockTest.test_assert_has_calls_nested_spec..Something.__init__r5r!NcdSr#r$r/s rr4zBMockTest.test_assert_has_calls_nested_spec..Something.methr5r!ceZdZdZdZdS)AMockTest.test_assert_has_calls_nested_spec..Something.FoocdSr#r$rs rr zJMockTest.test_assert_has_calls_nested_spec..Something.Foo.__init__r5r!cdSr#r$)rr0r1s rmeth1zGMockTest.test_assert_has_calls_nested_spec..Something.Foo.meth1r5r!N)r(r)r*r rr$r!rrrs"++++++++r!rr#)r(r)r*r r4rr$r!rr-rsQ $ $ $ 1 1 1 1 , , , , , , , , , ,r!r-rerrr3r*) rr4rqrrrlrrr non_existent)rr- mock_classr invalid_callsrss r!test_assert_has_calls_nested_specz*MockTest.test_assert_has_calls_nested_specsH , , , , , , , ,%Y// jjll+ 8 8A FF1aaF   !QQ 7 7 78 9 9 9   !Q1 5 56 7 7 7 7jjll+ B BA   na.@48::, O O O EE!HHNN1a   TXa[[->->q!-D-DE F F F E " "DGGTVV\\!Q-?-?#@ A A A A1*1--0033Aq!446 "  D   n(9#f      r!ct}||tj}| |dSr#) r rorrrwrrthreerr(rq)rrcallss r)test_assert_has_calls_nested_without_specz2MockTest.test_assert_has_calls_nested_without_specs KK       &&((2244 5!!!!!r!cdd}t|}|ddd|ddd d |d d dddifdddd ifdifg}|j||j|d|j|dd|j|ddd|j|dd|j|dddtt|}|t 5|j|dddn #1swxYwY|j|d|t 5|j|dddddn #1swxYwY|j|ddd|t 5|j|dddddn #1swxYwY|j|ddddS)NcdSr#r$r:s rrdz.fr5r!rrerrrr*r+r,rpr2r3 )r2r%r)r*r+r,r3)rrrTrnr&r#)r rqrr{rlr)rrdrrs r(test_assert_has_calls_with_function_specz1MockTest.test_assert_has_calls_with_function_specs!$$$$||| Q!q QQ! Rr B  S!H % 2  e$$$et4444eABBi(((eABBi48888eCRCj)))eCRCjD9999Xe__%%   ~ . . ) ) !D !% ( ( ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) )et4444   ~ . . - - !D !%) , , , - - - - - - - - - - - - - - -eABBi48888   ~ . . . . !D !%* - - - . . . . . . . . . . . . . . .eCRCjD999999s6 D((D,/D,FF FG((G,/G,cdd}t|}|d|tdt jd5}|jtgdddn #1swxYwY||j j |tdt jd5}|jttddgdddn #1swxYwY| |j j tdS) NcdSr#r$r;s rrdzAMockTest.test_assert_has_calls_not_matching_spec_error..f8r5r!rrez^{}$z7Calls not found. Expected: [call()] Actual: [call(1)]zError processing expected calls. Errors: [None, TypeError('too many positional arguments')] Expected: [call(), call(1, 2)] Actual: [call(1)]rr#) r rrrr%r&rqrrYr r r rjr s r-test_assert_has_calls_not_matching_spec_errorz6MockTest.test_assert_has_calls_not_matching_spec_error7s||| Q  # # I4556677 , ;= !D !466( + + +  , , , , , , , , , , , , , , , ",0111 # # I.//0011 857 !D !46641::"6 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 bl4i@@@@@s$ B  BB4-D--D14D1ct}|dd|d|dd|jdd|jd|jdd|t|j|t|jdd|t|jddS)NrerrrDr,rTr*)r assert_any_callrlrr]s rtest_assert_any_callzMockTest.test_assert_any_callRsvv Q  q  Q! Q"""q!!!!Q!$$$$           q            r!cdd}t|}|ddd|ddd d |jddd|jddd |jddd d |jddd d |t|jddd|t5}|jddddn #1swxYwY||jjtdS)NcdSr#r$r:s rrdz;MockTest.test_assert_any_call_with_function_spec..fmr5r!rrerrrr*r+r,rprrr:rrr#)r rrlrr r r rjr s r'test_assert_any_call_with_function_specz0MockTest.test_assert_any_call_with_function_specls{$$$$||| Q!q QQ!Q1%%%qA++++Q1a(((qAa0000 .$*>qA  ' ' '  ~ . . &" D 1 % % % % & & & & & & & & & & & & & & & bl4i@@@@@s<CC!Cc (d}t}||_t|t|jg}|D]S}|dd|dd||jt ddt ddgTdS)NcdSr#r$rs rrdz3MockTest.test_mock_calls_create_autospec..fr5r!rerrr*)rrdrrPrr)rrdrfuncsrs rtest_mock_calls_create_autospecz(MockTest.test_mock_calls_create_autospecsff A   C "   D DAJJJ DAJJJ   $q!**d1ajj!9       r!ctjtd}|dt |dS)N sweet_funcrp)rrrrsrtrs rtest_create_autospec_with_namez'MockTest.test_create_autospec_with_names;   = = = lDGG,,,,,r!c>Gdd}dD]}||5tjt||}|||t |ddddn #1swxYwYdS)Nc:eZdZedZedZdS)MMockTest.test_create_autospec_classmethod_and_staticmethod..TestClasscdSr#r$)r7s r class_methodzZMockTest.test_create_autospec_classmethod_and_staticmethod..TestClass.class_methods#'4r!cdSr#r$r$r!r static_methodz[MockTest.test_create_autospec_classmethod_and_staticmethod..TestClass.static_methods!%r!N)r(r)r*r<rr=rr$r!r TestClassrs6  ' '[ '  % %\ % % %r!r)rr)rl extra_arg)subTestrrrBr rlrj)rrrl mock_methods r1test_create_autospec_classmethod_and_staticmethodz:MockTest.test_create_autospec_classmethod_and_staticmethods & & & & & & & & 8 G GFV,, G G"279f3M3MNN  33555!!)[+FFF  G G G G G G G G G G G G G G G G GsABB B ct}d}|t|5|dddn #1swxYwY|t|5|dddn #1swxYwY|t|5|dddn #1swxYwY|t|5|dddn #1swxYwY|t|5|dddn #1swxYwYtd}|||||dS)Nz1is not a valid assertion. Use a spec for the mockT)unsafe)r rrAassert_foo_callassret_foo_callasert_foo_callaseert_foo_callassrt_foo_call)rrrs rtest_mock_unsafezMockTest.test_mock_unsafes FFA  # #NC 8 8                      # #NC 8 8                      # #NC 8 8                        # #NC 8 8                      # #NC 8 8                               sYA  AA3BBB:CC"CD""D&)D&E))E-0E-cGddt}t|}|||j|jdS)NceZdZdZdZdS).MockTest.test_mock_safe_with_spec..FoocdSr#r$rs r assert_barz9MockTest.test_mock_safe_with_spec..Foo.assert_barr!cdSr#r$rs r assertSomez9MockTest.test_mock_safe_with_spec..Foo.assertSomerr!N)r(r)r*rrr$r!rrrs2        r!rr)rr rrassert_called_oncerrrs rtest_mock_safe_with_specz!MockTest.test_mock_safe_with_specs     &    cNNN   ''))) '')))))r!ct}|j||t5|jddddS#1swxYwYdSr#)r helloassert_not_calledrlrrs rtest_assert_not_calledzMockTest.test_assert_not_calleds FF !!###    ~ . . ( ( G % % ' ' ' ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (sA==BBct}|dd|ttjd|jdS)NrerzCalls: [call(1, 2)])r rrr%r&rrs rtest_assert_not_called_messagez'MockTest.test_assert_not_called_messagesR FF !Q ~ I+ , ,  ! ! ! ! !r!clt}|t5|jdddn #1swxYwY||j||jdSr#)r rlrrrrs rtest_assert_calledzMockTest.test_assert_calleds FF   ~ . . $ $ G ! ! # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $      sAAAct}|t5|jdddn #1swxYwY||j||t5|jddddS#1swxYwYdSr#)r rlrrrrs rtest_assert_called_oncez MockTest.test_assert_called_oncesB FF   ~ . . ) ) G & & ( ( ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) )   ""$$$    ~ . . ) ) G & & ( ( ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s#AAA5CC #C ct}|dd|d|ttjd|jdS)NrerrzCalls: [call(1, 2), call(3)])r rrr%r&rrs rtest_assert_called_once_messagez(MockTest.test_assert_called_once_messages_ FF !Q ! ~ I4 5 5  " " " " "r!ct}|t5}|dddn #1swxYwY|dt |jdS)NzCalls:)r rlrrrWrr )rrrs r*test_assert_called_once_message_not_calledz3MockTest.test_assert_called_once_message_not_calleds FF   ~ . . #! " " " # # # # # # # # # # # # # # # 3q{#3#344444sA  AAct}|ddd}|t|jj|dS)Nrhero)rqdaddyz call(name='hello', daddy='hero'))r rrPrtrT)rrtexts rtest_ordered_call_signaturez$MockTest.test_ordered_call_signaturesO FF WF+++1 ag/00$77777r!cJtj}tjdd}t}||dd||jd|||jd|dS)Nrrre)rr rr rPrV)rr2r^rs rtest_override_tuple_methodsz$MockTest.test_override_tuple_methodss JLL Js7 # # FF   G *A... *A.....r!ctdddg}|dd||jt||jddS)NrrrrSrkT)r rr rSrPrkrs rtest_reset_return_sideeffectz%MockTest.test_reset_return_sideeffect sd bqe 4 4 4 $D 999 and333 -----r!ctdddg}|d||jt||jddS)NrrrrTr`)r rr rSrRrkrs rtest_reset_returnzMockTest.test_reset_returnsb bqe 4 4 4 $ ''' and333 AM400000r!ctdddg}|d||jd||jddS)NrrrrTr)r rrPrSrkrs rtest_reset_sideeffectzMockTest.test_reset_sideeffectsb bq!f 5 5 5  &&& ,,, -----r!cttd}||d|d||ddS)Nrer`rdT)r rPrdrrRrs rtest_reset_return_with_childrenz(MockTest.test_reset_return_with_childrenss  q111 2 2 2 """ $ ''' ACCEE1%%%%%r!cttddg}||jjd|d||jjddS)NrrrrT)r rRrdrkrrPrs r+test_reset_return_with_children_side_effectz4MockTest.test_reset_return_with_children_side_effect$so  q!f555 6 6 6 ACOT222  &&& $/////r!c 4 Gddt}Gddt}Gddt ttttg}t |D]6}||f fd ||f fd 7|D]y}ttd fD]V}|}|j|j |j f||fd gd gffD])\}}ttd fD]}|j |fi||j| tt|d | tt|d d|vr#| tt|d d|j |fi|| tt|d |j | tt|d d|vr#| tt|d d+X{dS)NceZdZdZdS))MockTest.test_mock_add_spec.._OnereNr(r)r*rr$r!r_Oner+CCCr!rceZdZdZdS))MockTest.test_mock_add_spec.._TworN)r(r)r*rr$r!r_Twor-rr!rceZdZdxZxZZdS)-MockTest.test_mock_add_spec..AnythingfourN)r(r)r*rrrr$r!rAnythingr/s & &C &#r!rc|S)Nrr$Krs rr!z-MockTest.test_mock_add_spec..6s11(+;+;+;r!c|S)Nrr$rs rr!z-MockTest.test_mock_add_spec..7s11h+?+?+?r!Trrrrr)rr r r rrrr'rrr mock_add_specrlrArBsetattr) rrrklassesrcrrOneTwors @rtest_mock_add_speczMockTest.test_mock_add_spec*s     6        6    ' ' ' ' 'v ' ' ' )_.B ']] A AE NNE;;;;; < < < NNE????? @ @ @ @! ! E&&$"5"5"55  uww$(DJ.."&%/A BHC"&&&$*=*=*="=**399&999))*GT5))*GT7&// -- .w+*399&999))*GT5))*GT7&// -- .w1 ! ! r!cttfD]}|tjt|t t|ddj_jt| td|t fddS)Nror*cdSrr$rsrr!z;MockTest.test_mock_add_spec_magic_methods..ms er!) r rrrrrlrjr)rSrPrrcrs @r test_mock_add_spec_magic_methodsz)MockTest.test_mock_add_spec_magic_methods_s 44 > >E577D III D v & & &   id 3 3 3577D KK'(DL % D s # # #   SYY * * *   i)<)<)<)< = = = = > >r!ctttttfD]W}|}t|_|j||jtjg||j tjg|}td|_ |j ||jg||j g|}t|_ |j ||jg||j gYdS)Nrqrp) r r r rrrorPrVrrrrrwrs rtest_adding_child_mockzMockTest.test_adding_child_mockpsH%tY8L! 2 2E577DvvDH DHJJJ   T. = = =   T_txzzl ; ; ;577D(((DH DHJJJ   T. 3 3 3   T_b 1 1 1577D"y{{}}DH DHJJJ   T. 3 3 3   T_b 1 1 1 1+ 2 2r!cttfD]n}|}t|_|||jt t godSr#)r r rSrPrrrs rtest_adding_return_value_mockz&MockTest.test_adding_return_value_mocksy9_ B BE577D ) D  DDFFHHH   T_tvvvtvvxx.@ A A A A  B Br!czGddt}t}tj|d}tj|d}|}||j|}||j||d||d||| |j tjtjgdS)NceZdZdZdZdS)'MockTest.test_manager_mock..FoorrN)r(r)r*rrr$r!rrr sCCCCr!rrr) rr r rrr attach_mockrrrPrr)rrmanagerp1p2mock_onemock_twos rtest_manager_mockzMockTest.test_manager_mocks     &   && \#u % % \#u % %88::    88::    He,,,He,,,     +dhjj$(**-EFFFFFr!cttfD]}|}td|_td|_t |t |||jtjtjg||j gdS)Nrr`g@) r r r) __float__rfloatrPrrrV)rrcrs rtest_magic_methods_mock_callsz&MockTest.test_magic_methods_mock_callss9_ 1 1EA!,,,AI#555AK FFF !HHH   Q\DLNNDN.%%%$%%%r!rz Remarkable rezNorwegian Blue)rrrPr)rrrliness r test_mock_open_dunder_iter_issuez)MockTest.test_mock_open_dunder_iter_issuesn/KLLL [ " "%%"%%% q>222 q#3444 b2&&&&&r!ctjd}|d}t|}|}d|D}||d||d||dd|t |g|t5t|ddddS#1swxYwYdS) Nz1st line 2nd line 3rd linerrcg|]}|Sr$r$r&s rrz6MockTest.test_mock_open_using_next..r(r!z 1st line z 2nd line rz3rd line)rrr'r+rPrrlro)rrrline1line2r)s rtest_mock_open_using_nextz"MockTest.test_mock_open_using_nexts4n/MNNN [ " "R %%"%%%  ---  --- q:... b2&&&   } - -   HHH                  sC22C69C6ctjd}d|jj_|dt |dS)Nfoo barnrabc)rrrSreadlinerPr')rmopens r3test_mock_open_next_with_readline_with_return_valuez.attempts%+--33E:::::r!) rrr r rSr<OSErrorrkrl)rmock_namedtempmock_filehandle mock_writer=s rtest_mock_open_writezMockTest.test_mock_open_writesE(B(B(BCC Z5~ F F 0 0,9O(.J%,^%<%.sur!r2)rrrSr3rkrP)rr4firstseconds rtest_mock_open_alter_readlinez&MockTest.test_mock_open_alter_readlines5552D2D#/  ""!!## &&& '''''r!cNtjd}|d}||d||d||d||d||g||g|dS)Nrorrrr%)rrrrPr3 readlines)r_openr]s rtest_mock_open_after_eofz!MockTest.test_mock_open_after_eofs/// E%LL  QVVXX&&& QVVXX&&& QZZ\\*** QZZ\\*** Q[[]]+++ Q[[]]+++++r!cDttfD]}|}t|}||_||||t|||||||t|||}|j|_| dt|j| dt|j|| dt|j| dt|j|}t|}||_||j_|t|||t||dS)Nz name='mock.a') r r rtrSrrPrr0r1rs)rrcr original_reprs rtest_mock_parentszMockTest.test_mock_parentss9_ 9 9EA GGMAN MM!!##q ! ! !   T!WWm 4 4 4 LLNNN MM!!##q ! ! !   T!WWm 4 4 4A#AC MM/499 5 5 5 MM/499 5 5 5 LLNNN MM/499 5 5 5 MM/499 5 5 5A GGM!##AC AC    T!WWm 4 4 4   T!##%%[[- 8 8 8 83 9 9r!c:ttttf}|D]}|D]}|}|d}||d||j||dt||j d| |j tj dg| |j tj dgdS)Nrorprrzname='mock.bar're)r r rr rrrrrsrtrwrPrrrVrclassesrcKlass2rm2s rtest_attach_mockzMockTest.test_attach_mocks  #7H D DE! D DEGGV''' b%((( aeR((( /b::: !    Q/@AAA  $(,,q//1BCCCC D D Dr!cttttf}ttfD]}|D]}|}|d}||d||||dt||| |j t όdS)NrorprSz name='mock()') r r rr rrrsrtrorPrrr(rPs rtest_attach_mock_return_valuez&MockTest.test_attach_mock_return_value$s #7H9_ I IE! I IEGGV''' b.111 aacc2&&& otBxx888  tvvzz||/E/E/G/GHHHH I I Ir!ct}tjtdd5}||jd||d|dtd|dtjdtjdtjdg}tdtdtdg}||j |||jj ||tj |||j || d t|jj||jd ddddS#1swxYwYdS) N .somethingTrrErrerr mock.child) r rr r(rP_extract_mock_namerrrErrrsrt)rr mock_func parent_calls child_callss rtest_attach_mock_patch_autospecz(MockTest.test_attach_mock_patch_autospec4s Z8///$ ? ? ? P9   Y^>>@@+ N N N   y' 2 2 2 LLOOO aLLL IaLLL JqMM4:a==$*Q--HL77DGGT!WW5K   V. = = =   V\4k B B B   Y1; ? ? ?   Y1; ? ? ? MM,V\->(?(? @ @ @   Y^>>@@, O O O P P P P P P P P P P P P P P P P P PsF*G$$G(+G(c tjtdd5}t}||dt }|dddd |tj tj dddd g|jttj dddd g|ttj dddd gdddn #1swxYwYtjtd d5}t}||d td|tj dgttdg|tdgdddn #1swxYwYtjtd d5}t}||d t }|dddd |tj tj dddd g|jtdddd g|ttdddd gddddS#1swxYwYdS)N.Something.methTr attach_methrerrr*rrX attach_func .Something attach_obj)rr r(r rr-r4rqrrarrErbrd)rmockedrrs r)test_attach_mock_patch_autospec_signaturez2MockTest.test_attach_mock_patch_autospec_signatureHs Z8444t D D D DffG    6 6 6++C HHQ1H " " "  $ $d&6txAqA&N&N&N%O P P P H % %tDHaA'C'C'C&D E E E  # #T$(Aq!q%A%A%A$B C C C D D D D D D D D D D D D D D DZ8///$ ? ? ? /6ffG    6 6 6 aLLL  $ $d&6q&9&9%: ; ; ;  & &Qy 1 1 1  # #T!WWI . . .  / / / / / / / / / / / / / / /Z8///$ ? ? ? I6ffG    5 5 5++C HHQ1H " " "  $ $do&7&7&*o&7&7&<&L;cttttfD]}|t |d|`|t |d|`|t |d| tt|ddS)Nrrd) r r rr rRhasattrrrNrdrlrArBr]s rtest_attribute_deletionz MockTest.test_attribute_deletionesVVY[[*>*@*@$&&( B BD OOGD#.. / / /   WT3// 0 0 0   WT3// 0 0 0   ngtS A A A A B Br!c ttttfD]}d|_|t |d||jd|`|t |dd|_|t |d||jd|`|t |ddS)Nrror*) r r rr rorRrhrPrNr]s r7test_mock_does_not_raise_on_repeated_attribute_deletionz@MockTest.test_mock_does_not_raise_on_repeated_attribute_deletionrsVVY[[*>*@*@$&&( 3 3DDH OOGD%00 1 1 1   TXq ) ) )   WT511 2 2 2DH OOGD%00 1 1 1   TXq ) ) )   WT511 2 2 2 2 3 3r!cttttfD]8}|`|t 5|`dddn #1swxYwY9dSr#)r r rr rorlrAr]s r4test_mock_raises_when_deleting_nonexistent_attributez=MockTest.test_mock_raises_when_deleting_nonexistent_attributesVVY[[*>*@*@$&&(  D"">22  H                 sA$$A( +A( ct}d|_|`|j|t |ddS)NTr)r rrrNrhr]s r/test_reset_mock_does_not_raise_on_attr_deletionz8MockTest.test_reset_mock_does_not_raise_on_attr_deletionsMvv J w//00000r!cttfD]K}||tt|_||t|jLdSr#)r r rJrrr ror]s rtest_class_assignablezMockTest.test_class_assignablesdFFIKK'  D  $ $T3 / / / DN  ! !$ , , , HHH   r!c$|tj|t tjt |t tjjt dSr#)assertIsNotNonerrqrPrrrs rtest_name_attribute_of_callz$MockTest.test_name_attribute_of_callse TY''' di%000 dikk.//77777r!c$|tj|t tjt |t tjjt dSr#)rsrrrPrrrs rtest_parent_attribute_of_callz&MockTest.test_parent_attribute_of_callsg T[))) dk**E222 dkmm233U;;;;;r!cld}t}t||_|jdd|t|jd||jtjddg|dt|jj dS)NcdSr#r$rs rrozBMockTest.test_parent_propagation_with_create_autospec..foor5r!rerrY) r rrrlrjrPrrrsrtr)rrors r,test_parent_propagation_with_create_autospecz5MockTest.test_parent_propagation_with_create_autospecsvv$S))  1a )TZ333 4:a+;+;*<=== lD$9$9:::::r!cd}t}|t|dd|dd|t |jd||jjtjddg| dt|jj dS)NcdSr#r$rs rrozGMockTest.test_parent_propagation_with_autospec_attach_mock..foor5r!rrrprrerrY) r rrrrlrjrPrrrsrtr)rrors r1test_parent_propagation_with_autospec_attach_mockz:MockTest.test_parent_propagation_with_autospec_attach_mocks?3U;;;WEEE Q )V\1555 04:a3C3C2DEEE lD):$;$;<<<<.sghmWe&L&Lr!z sys.modulesz unittest.mockcSr#r$)frameeventrCtraces rrz6MockTest.test_isinstance_under_settrace..traces r!r)r r r rr)rrr rr'rmodulessettracegettrace unittest.mockr r r rrr-r ) r old_patchr r r rrxrrrs @rtest_isinstance_under_settracez'MockTest.test_isinstance_under_settracesM' LL! # # #Z & & 6 6 O,      OOCL#,.. 9 9 9 L                i2F E 6 6d ***%%c95555 6% 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6sB!C--C14C1cGdd}|}tjj|dt5dddn #1swxYwY||jjjddS)NceZdZdZdS)FMockTest.test_bool_not_called_when_passing_spec_arg..SomethingcLtj|_dSr#)rrr obj_with_bool_funcrs rr zOMockTest.test_bool_not_called_when_passing_spec_arg..Something.__init__s*2-*A*A*C*C'''r!N)r(r)r*r r$r!rr-rs( D D D D Dr!r-rrr)rrr rrPr__bool__rQ)rr-rs r*test_bool_not_called_when_passing_spec_argz3MockTest.test_bool_not_called_when_passing_spec_args D D D D D D D Dikk ] ' '-A ' O OUUUUUUUUUUUUUUUUU /8CQGGGGGsAAAc Gdd}|t5ttdd5dddn #1swxYwYdddn #1swxYwY|t5tj|dd5dddn #1swxYwYdddn #1swxYwY|t5ttdd5dddn #1swxYwYdddn #1swxYwY|t5tj|dd5dddn #1swxYwYdddn #1swxYwY|t5ttdd5dddn #1swxYwYdddn #1swxYwY|t5tj|dd5dddn #1swxYwYdddn #1swxYwY|t5t |d}dddn #1swxYwY|t 5tjtd td 5 dddn #1swxYwYdddn #1swxYwY|t 5tjtd td 5 dddn #1swxYwYdddn #1swxYwY|t 5tjtd td 5 dddn #1swxYwYdddn #1swxYwYttddd 5 dddn #1swxYwYtj|ddd 5dddn #1swxYwYttddd5 dddn #1swxYwYtj|ddd5dddn #1swxYwYttddd5 dddn #1swxYwYtj|ddd5dddn #1swxYwYt |dd}tjtdddd5 ddddS#1swxYwYdS)NceZdZdZdS)/MockTest.test_misspelled_arguments..FoorNrr$r!rrrsCCCr!rr`T)r@r)rA)rBrc)r4r@)r4rA)r4rB)rr@)rrA)rrB)rBrz.Typos)r@rBrA) rlr|r r(rrrAmultiplerrs rtest_misspelled_argumentsz"MockTest.test_misspelled_argumentssY           | , , K K(333tDDD J J J J J J J J J J J J J J J J J K K K K K K K K K K K K K K K   | , , @ @c5D999 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @ @ @ @ @ @ @ @ @ @ @ @ @ @ @   | , , K K(333tDDD J J J J J J J J J J J J J J J J J K K K K K K K K K K K K K K K   | , , @ @c5D999 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @ @ @ @ @ @ @ @ @ @ @ @ @ @ @   | , , J J(333dCCC I I I I I I I I I I I I I I I I I J J J J J J J J J J J J J J J   | , , ? ?c54888 > > > > > > > > > > > > > > > > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?   | , , 4 4d333A 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4   ~ . . M M'''gGGG M MHL M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M  ~ . . M M'''gGGG M MHL M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M  ~ . . L L'''gFFF L LGK L L L L L L L L L L L L L L L L L L L L L L L L L L L L L Lh/// M M M                   \#uTT B B BHHHHHHHHHHHHHHHHH h/// M M M                   \#uTT B B BHHHHHHHHHHHHHHHHH h///t L L L                   \#uTD A A AGGGGGGGGGGGGGGGGG C$t < < < ^   4$$PPP                     suA&A A&A A&A A&&A*-A* C#B0$ C0B4 4C7B4 8CC C ,D*D D*D D*D D**D.1D.F 'E4( F 4E8 8F ;E8 <F  FF0G. G G.G G.G G..G25G2I+H8, I8H< <I?H< III4JJJ7%LK* L*K. .L1K. 2LLL&%M0 M M0M M0 M !M00M47M4%O:O< OO OO OO#&O#PPP5QQ Q'Q55Q9<Q9R%%R),R) SSS;TT T UUUN)r(r)r*rJr^rargrmryrrrrrrrrrrrrrrrrrrrrr"r'r-r0r2r7r?rDrOrUr]r_rfrprwr}rrrrrrrrrrrrrrrrrrrrr rrrrr#r+r.r1r4r6r9r;r=r@rBrKrRrYrarerhrjrvrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrr#r*r/r5rBrGrKrNrTrVr^rfrirkrmrorqrtrvryr|rrrr$r!rrGrG2s,,,AAA8FFF $$$ = = = ---<2226EEE$===!!!:OOO RRR* 6 6 6 4 4 4&C&C&CR#&#&#&L>>>,$$$8 @ @ @''' A A A (333   .222###, = = = ??? 3 3 3   0   0004...(CCC&&& 8 8 8 6 6 6 6 6 6555 8 8 8888 6 6 6 8 8 8 6 6 6888B999$000333999 333///@@@'''('''( 4 4 4000( 9 9 9---. 8 8 8   ---333*'''555pK;K;K;\===666999???=== ??? NNNLLL333 333"   F 8 8 8 ///0%%%333*333 ***X%%%P%%%P""":::>AAA6   4AAA&$--- G G G* * * * (((!!!    ) ) )"""555888///... 111 ... &&& 000 000j>>>"2222BBBGGG, 1 1 1+++'''   /// 0 0 0((( , , ,999:DDD" I I I PPP(III: B B B333&111888<<< ; ; ; = = =%6%6%6NHHH,,,,,r!rG__main__)!rr%rr: test.supportrrunittest.test.testmock.supportrrrrrr r r r r rrrrrrrrr-r?rErrGr(mainr$r!rrs """"""666666     6   %%%%%%%% r#r#r#r#r#x r#r#r#jG zHMOOOOOr!