_~t.hvddlZddlZddlZddlZddlmZmZmZmZm Z m Z m Z m Z m Z mZddlmZddlmZGddeZGddejZGd d ejZGd d ejZGd dejZGddejZedkrejdSdS)N) call_Callcreate_autospec MagicMockMockANY _CallListpatch PropertyMock _callable)datetimepartialc"eZdZdZdZddZdS) SomeClasscdSNselfabs I/opt/alt/python311/lib64/python3.11/unittest/test/testmock/testhelpers.pyonez SomeClass.onecdSrrrs rtwoz SomeClass.tworrNcdSrrrrs rthreezSomeClass.threerrr)__name__ __module__ __qualname__rrr"rrrrrs.!!!!!!rrc2eZdZdZdZdZdZdZdZdS)AnyTestc8|ttt}|t|tt}|t|tdSNfoo) assertEqualrobjectrassert_called_withrmocks rtest_anyzAnyTest.test_anys{ fhh'''vv S  $$$vv   C(((((rc|ttd|ttddS)Nz)r,reprrstrrs r test_reprzAnyTest.test_repr"s@ cG,,, S7+++++rct}|tjtj|ttdSr))rr nowr.rr/s rtest_any_and_datetimezAnyTest.test_any_and_datetime'sKvv X\^^0000 -----rct}Gddt}tj|fD]}||||||||||||t tttt jtttt t ttg}|||j ||j |dS)NceZdZdZdZdS)9AnyTest.test_any_mock_calls_comparison_order..FoocdSrrrothers r__eq__z@AnyTest.test_any_mock_calls_comparison_order..Foo.__eq__1rrcdSrrr=s r__ne__z@AnyTest.test_any_mock_calls_comparison_order..Foo.__ne__2rrN)r#r$r%r?rArrrFoor;0s" ) ) ) ) ) ) ) )rrBr+bar)zingaalpha)a1z99) rr-r r7 reset_mockmethodrrr, mock_calls)rr0rBdexpecteds r$test_any_mock_calls_comparison_orderz,AnyTest.test_any_mock_calls_comparison_order.s=vv * * * * *& * * *& 8 8A OO    Dq ! ! ! ! KK!K , , , DFFMMQAM & & &Scs+++ Cs#666 # 66H   Xt 7 7 7   T_h 7 7 7 7 8 8rc"Gdd}t}||d|ttdg|td|tddS)NceZdZdZdS)%AnyTest.test_any_no_spec..FoocdSrrr=s rr?z,AnyTest.test_any_no_spec..Foo.__eq__FrrNr#r$r%r?rrrrBrQE ) ) ) ) )rrBrassert_has_callsrrr.assert_any_callrrBr0s rtest_any_no_speczAnyTest.test_any_no_specCs * * * * * * * *vv SSUUA tC||n--- Q''' S!$$$$$rc&Gdd}t|}||d|ttdg|td|tddS)NceZdZdZdS)*AnyTest.test_any_and_spec_set..FoocdSrrr=s rr?z1AnyTest.test_any_and_spec_set..Foo.__eq__QrrNrSrrrrBr]PrTrrB)specrUrVrYs rtest_any_and_spec_setzAnyTest.test_any_and_spec_setNs * * * * * * * *~~~ SSUUA tC||n--- Q''' S!$$$$$rN) r#r$r%r1r5r8rNrZr`rrrr'r'sn ) ) ),,, ...888* % % % % % % % %rr'ceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdS)CallTestc t}||t||td||td||tif||td||tdif||tddif||td||td||tdif||td diftd }||td ||td ||td if||tdd iftd }||td ||tdd iftd}||td||tddif||td||tddiftddif}||tddddif||tdddif||tdddif||tddifdS)N)r)rdrrdrr*rDrbazspamrU)rdrjrj)rUrk)r+rm)rdrmrm)rDrmrDrrlrr,assertNotEqual)rkalls rtest_call_with_callzCallTest.test_call_with_call\sww uww''' uU||,,, uU||,,, ubU||,,, uX/// ub"X/// ub"b\22333 uX/// u[11222 ueR[11222 ufb"%566777\"" u\22333 u_55666 ui_55666 ub)R%899:::\"" D%"8"8999 D%Y(;"<"<===()) D%"8"8999 D%Y(;"<"<=== D%(:";";<<< D% 2(>"?"?@@@sAh[!! ub"sAh%788999 ub3(^44555 ub3(^44555 usAh[1122222rcbt}||d||d||d||d||ddif||dif||ifdS)Nrr*rer+rr+)rr,rargss rtest_empty__CallzCallTest.test_empty__Callsww r""" x((( u%%% {+++ b"~... r{+++ u%%%%%rctddif}||d||d||ddif||dif||d||d||if||d||d||difdS) Nr+rr*rtre)rDrfrDrorus rtest_named_empty_callzCallTest.test_named_empty_callseR_%% x((( {+++ b"~... r{+++ D%((( D"%%% D2%((( D(+++ D+... D5"+.....rcNtdif}||d||d||ddif||dif||jd||jidS)Nrjrir+rjr+)rr,rvkwargsrus rtest_call_with_argszCallTest.test_call_with_argssi_%% |,,, 1222 y"5666  2/// I... b)))))rcPtddif}||d||ddif||jd||ji||d||difdS)Nr+rjr{ri)rr,rvr|rprus rtest_named_call_with_argsz"CallTest.test_named_call_with_argsseY+,, 1222 y"5666 I... b))) D,/// D9b/22222rc tdtddf}||tddf||dtddf||ddtddf||dtddf||jd||jtdddS)Nrrlrnrrr+)rdictr,rvr|rus rtest_call_with_kwargszCallTest.test_call_with_kwargssb$a...)** qA0111 ta1~~~6777 r4!q>>>:;;; D1NNN3444 B''' dQ!nnn55555rc  tddtddf}||dtddf||ddtddf||jd||jtdd||tddf||dtddfdS)Nr+rrlrnr)rrr,rvr|rprus rtest_named_call_with_kwargsz$CallTest.test_named_call_with_kwargsseRQ011 ta1~~~6777 r4!q>>>:;;; B''' dQ!nnn555 D4!q>>>"3444 D2ta1~~~"677777rctdif}||tddd|tddd||tddd|gdS)NrjrUrkrl)rr,rassertInrus r#test_call_with_args_call_empty_namez,CallTest.test_call_with_args_call_empty_namesyi_%% tAq!}}--- aA--- d1ammdV,,,,,rc@|tdtdd|tdtdddk|tdiftdddkdS)NrirUrkrlrUrk)rprr assertFalse assertTruers r test_call_nezCallTest.test_call_nes E,//a<<< |,,Q1 =>>> vrl++tAq!}}<=====rctd}dd|tfD]1}||||||k2dS)NrirU)rintrpr)rrqvalues rtest_call_non_tupleszCallTest.test_call_non_tuplessb\""dC' , ,E   e , , ,   TU] + + + + , ,rc |ttd|ttdd|ttdddifd|ttddddifd |ttd |t td |ttd|ttd d |ttd d|ttjd|ttd jdjd|ttd ddd|ttd|ttd dd|ttj d ddS)Nzcall()r*z call.foo()rjrrzcall(1, 2, 3, a='b')rDzcall.bar(1, 2, 3, a='b')rrUzcall(1)thing)zzzcall(zz='thing')z call().foorlrzcall().foo.bar().bingrkzcall().foo(1, 2, a=3)zcall()()z call()(2)zcall()().bar().baz.beep(1)) r,r3rrr4r+rDbingrgbeeprs rr5zCallTest.test_reprs egg111 eHoo.. === eYc $;<<==/ 1 1 1 eUISz$BCCDD3 5 5 5 dV,,, TF+++ dffx000 d1gg 222 dg...//1CDDD dffj))<888 d1ggkooo227880 2 2 2  AqA&& ' ' #    fdffhh444 gd1ggajj));777  #((++ , , (     rcp|tddif|tdddddddddft}|d d d|dd ||jtd d dtdd gdS) Nrdrr+rDrlrn)rrrCrUrkr)r,rrcall_args_listr/s r test_callzCallTest.test_calls "b"... eUq999na.B.BC E E Evv Q1  qA ,q!Q--Q8 : : : : :rc|tjdddif|tjdddddift }|dd d |jd d ||jtjdd d tjd d gdS) NrUr+)rUeggs)fishzbar.bazrrrkrlrr)r,rr+rDrgr method_callsr/s rtest_attribute_callzCallTest.test_attribute_call s !udB&7888 622#R&&)9: < < <vv Aq  qA  *(1a++TX\\A\-C-CD F F F F Frc 2tdddd}||ddt dft }|dddd||jtdddd||jtddd||jtddddg||j tddddgt }|dj d tjdj d }||j d |||j | dS) NrUrkrlrnrz ().foo().barrlrr) rr+rDr,rr call_argsrprrKrgr call_list)rresultr0 last_calls rtest_extended_callzCallTest.test_extended_callsaQ##A#++ .$q !BCCC{{ QQ! aa1)=)=)=>>> DNDAqMM::: ,tAqA/C/C/C.DEEE 41Q+?+?+?*@AAA{{ $$q$)))%DHQKKOO%%''+001055  ,i888 )*=*=*?*?@@@@@rctdj}tdj}|||||||||dSNrUxrk)rr+r,rprs rtest_extended_not_equalz CallTest.test_extended_not_equal*sh 1IIIM 1IIIM A A Aq!!!!!rc&tdj}tdj}|||||||||dSr)rr+rDr,rprs rtest_nested_calls_not_equalz$CallTest.test_nested_calls_not_equal2sz 1IIIMMOO  1IIIMMOO  A A Aq!!!!!rct}|d|td|jt}|dd|tdd|jt}|ddd|tddd|jt}t |dddjj ddtdddjj dd }|||jdS)NrUrkrlrn) rr,rrrKrJrr+rDrg__int__)rr0rqs rtest_call_listzCallTest.test_call_list:s{{ Q a**,,do>>>{{ Qq a**4466 * * *{{Qq! *a**1--7799 * * *{{ / DDGGNN1  a $ ( , ,Q / / 2 23332 tAww~~a  ##'+//22155==?? ))4?;;;;;rc|ttt}t |||jtg|tg|jdSr)r,rrrrrKrms r test_call_anyzCallTest.test_call_anyOsf s### KK A u--- # -----rc<tdddifd}|t|d||dd||ddditdddif}|||dS) NrrrlT)rrkrrU)rr,len)rrv other_argss rtest_two_args_callzCallTest.test_two_args_callXsfsAh'T222 TA&&& a&))) a3(+++FS!H-..  z*****rc|tdddd|tddd|tdddifdddS) Nrr+r)rDbarzrdrhelloworld)r,rrs rtest_call_with_namezCallTest.test_call_with_nameas~ r5))!,e444 133A6;;; '71CDFFqI2NNNNNrc t}|d||jt t t dt gt}d|d<||jt t t ddgt}t|||jt t t gdS)NrDrU) rr+r,rKr __getitem__ __setitem__iter__iter__rs rtest_dunder_callzCallTest.test_dunder_callfs KK %  L VVTVVZZ\\466::<<#;#;E#B#BD^DFFJJLLD\D\D^D^D`D` a    KK %  L VVTVVZZ\\466::<<#;#;E1#E#E F    KK QQSSWWYY  L VVTVVZZ\\466::<<#8#8#:#: ;     rN)r#r$r%rrrwryr}rrrrrrr5rrrrrrrrrrrrrrbrbZsY"3"3"3J & & & / / / *** 3 3 3666 8 8 8--->>> ,,,   > : : : F F FAAA(""""""<<<*...+++OOO      rrbceZdZdZdZdZdZdZdZdZ 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)S)*SpecSignatureTestc|tt|d|dd|jdd|t |jjdd|t |jd||j|t |jjd|t |jd||j|t |jjd|t |jdd|d|jd|d|jddS)Nr+rUrkrlrnr) assertRaisesAttributeErrorgetattrrr.AssertionError TypeErrorrr"r/s r_check_someclass_mockz'SpecSignatureTest._check_someclass_mock}s .'4??? A ##Aq))) .(5q! = = = )TXq111   ##%%% .(5q : : : )TXq111  %%''' .*7 < < < )TZA666 1  %%a((( Q  %%%*****rctt}||tt}||dSr)rrrr/s r test_basiczSpecSignatureTest.test_basicsNy)) ""4(((y{{++ ""4(((((rcd}t|d}||dGddt}t|d}||ddS)NcdSrrrrrfz>SpecSignatureTest.test_create_autospec_return_value..frrr+ return_valueceZdZdS)@SpecSignatureTest.test_create_autospec_return_value..FooNr#r$r%rrrrBr DrrB)rr,r-)rrr0rBs r!test_create_autospec_return_valuez3SpecSignatureTest.test_create_autospec_return_values qu555 '''     &   s777 '''''rctt}t||||jjddS)Nr)rrrIr,r call_countrs rtest_autospec_reset_mockz*SpecSignatureTest.test_autospec_reset_mocksH C  A  -q11111rcGddt}tj|d}|}|d|ddS)NceZdZdZdS);SpecSignatureTest.test_mocking_unbound_methods..FoocdSrr)rr+s rr+z?SpecSignatureTest.test_mocking_unbound_methods..Foo.foorrNr#r$r%r+rrrrBr $ $ $ $ $rrBr+rU)r-r startr+r.)rrBpmock_foos rtest_mocking_unbound_methodsz.SpecSignatureTest.test_mocking_unbound_methodssy % % % % %& % % % Le $ $7799  ! ##A&&&&&rcGddt}t|d}||jddS)NceZdZdZdS)ESpecSignatureTest.test_create_autospec_keyword_arguments..FoorlNr#r$r%rrrrrBrAAArrB3r)r-rr,r)rrBrs r&test_create_autospec_keyword_argumentsz8SpecSignatureTest.test_create_autospec_keyword_argumentss\     &    C3 ' ' ' c"""""rcddd}t|}|d|d|t|dd|dd|dddS)NrcdSrrrs rr+zJSpecSignatureTest.test_create_autospec_keyword_only_arguments..foorrrUrkrl)rr.rr)rr+rs r+test_create_autospec_keyword_only_argumentsz=SpecSignatureTest.test_create_autospec_keyword_only_argumentss##### C  ! Q )Q1--- !q  Q!$$$$$rct}d}||_t|}|d|jddS)NcdSrrrs rrz@SpecSignatureTest.test_function_as_instance_attribute..frrr)rrrr.)robjrr0s r#test_function_as_instance_attributez5SpecSignatureTest.test_function_as_instance_attributesQkks## v !!&)))))rctg}|d|jd|tt |dGddt }t|}|jd|jjd|tt |jddS)Nr+ceZdZgZdS)0SpecSignatureTest.test_spec_as_list..FooNrrrrrBrsCCCrrBrl)rappendr.rrrr-r+)rr0rBs rtest_spec_as_listz#SpecSignatureTest.test_spec_as_listsr"" E &&u--- .'4???     &   s##  **1--- .'48UCCCCCrcGddt}t|}||jfD]}||dS)Nc"eZdZeZdS).SpecSignatureTest.test_attributes..SubNr#r$r%rattrrrrSubr9;;DDDrr)rrrr)rrsub_mockr0s rtest_attributesz!SpecSignatureTest.test_attributessr     )   #3''x}- - -D  & &t , , , , - -rcGddtGfddt}t|}|d|t5|dddn #1swxYwY|t5|ddddddS#1swxYwYdS)NceZdZdZdS)VSpecSignatureTest.test_spec_has_descriptor_returning_function..CrazyDescriptorc|dSdS)NcdSrrrs rzpSpecSignatureTest.test_spec_has_descriptor_returning_function..CrazyDescriptor.__get__..sTrr)rrtype_s r__get__z^SpecSignatureTest.test_spec_has_descriptor_returning_function..CrazyDescriptor.__get__s;)>);rNr#r$r%rrrrCrazyDescriptorr s# * * * * *rrc$eZdZZdS)NSpecSignatureTest.test_spec_has_descriptor_returning_function..MyClassN)r#r$r% some_attr)rsrMyClassrs'))IIIrrrUrk)r-rrrr)rrr0rs @r+test_spec_has_descriptor_returning_functionz=SpecSignatureTest.test_spec_has_descriptor_returning_functions * * * * *f * * *  * * * * * * *f * * *w'' q   y ) )   NN                     y ) ) ! ! NN1a  ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s$(B  B B .CCCcpGfddt}|t5|jdddn #1swxYwY||ddt |}|d|t5|dddn #1swxYwY|t5|ddddddS#1swxYwYdS)Nc(eZdZfdZdZxZS)ISpecSignatureTest.test_spec_has_function_not_in_bases..CrazyClasscPt|dgzS)Ncrazy)super__dir__)r CrazyClass __class__s rrzQSpecSignatureTest.test_spec_has_function_not_in_bases..CrazyClass.__dir__ s&Z..6688'BBrc2|dkrdSt|)Nrc|Srrrs rr zgSpecSignatureTest.test_spec_has_function_not_in_bases..CrazyClass.__getattr__..sQrr)ritems r __getattr__zUSpecSignatureTest.test_spec_has_function_not_in_bases..CrazyClass.__getattr__s!7??&;&$T***r)r#r$r%rr# __classcell__)rrs@rrr sS C C C C C C + + + + + + +rr*rUrk)r-rrr>r,rrr)rinstr0rs @r#test_spec_has_function_not_in_basesz5SpecSignatureTest.test_spec_has_function_not_in_bases s + + + + + + + + + +z||   ~ . .   JJ                B,,,t$$ 2   y ) )   JJLLL                  y ) )   JJq!                     s5AAAC""C&)C&D++D/2D/cZGddt}t|}|d|jd|t t |jd|d|jd|t|jdd|t t |jd| ddg|j ddg|t t |j d|j d|j j d|t t |j ddS)NceZdZdZeZiZdS)GSpecSignatureTest.test_builtin_functions_types..BuiltinSubclasscdSrr)rargs rrDzKSpecSignatureTest.test_builtin_functions_types..BuiltinSubclass.bar'rrN)r#r$r%rDsortedrrrrBuiltinSubclassr*&s! $ $ $FDDDrr.rlr+rDrUrk) listrrr.rrrrDrr-rpoprr.r0s rtest_builtin_functions_typesz.SpecSignatureTest.test_builtin_functions_types"ss     d    // A &&q))) .'4;FFF  ##E*** )TXue<<< .'48UCCC QF &&1v... .'4;FFF a ((+++ .'49eDDDDDrc$Gddt}t|}|dd||dt jddt jt jdg}||j||jdd|j|jd| t jddt jt jdg||j|dS)Nc"eZdZeZdS)0SpecSignatureTest.test_method_calls..SubNrrrrrr5?rrrrUrkrl) rrrrr"rr,rrextend)rrr0rMs rtest_method_callsz#SpecSignatureTest.test_method_calls>sG     )   s## A   1 HQNNDHJJ 1 > *H555 a   Y]]1a $)--//49??13E3E F    *H55555rcGddt}t|}|t|g|tt ||tt |j|t|g||dt||jdtdS)NceZdZiZdS)=SpecSignatureTest.test_magic_methods..BuiltinSubclassN)r#r$r%rrrrr.r:UsDDDrr.r+) r/rr,rrrrassertIsInstancerr1s rtest_magic_methodsz$SpecSignatureTest.test_magic_methodsTs     d   // dR((( )S$/// )S$)444 dR((( d5k9555 di. :::::rc,Gddt}||fD]s}t|d}|||tt |dd|tt |jddtdS)Nc"eZdZeZdS),SpecSignatureTest.test_spec_set..SubNrrrrrr?crrrT)spec_setr+rD)rrrrrsetattrr)rrr_r0s r test_spec_setzSpecSignatureTest.test_spec_setbs     )   ##%%L P PD"4$777D  & &t , , ,   ngtUE J J J   ngty% O O O O  P PrcGddt}Gdd|}Gddt|}||||||fD]s}t|}|dd|jdd|d d |jd d tdS) Nc:eZdZedZedZdS)/SpecSignatureTest.test_descriptors..FoocdSrr)clsrrs rrz1SpecSignatureTest.test_descriptors..Foo.fp"drcdSrrrs rgz1SpecSignatureTest.test_descriptors..Foo.grsrN)r#r$r% classmethodr staticmethodrJrrrrBrEos6  " "[ "   \   rrBceZdZdS)/SpecSignatureTest.test_descriptors..BarNrrrrBarrNurrOceZdZdS)/SpecSignatureTest.test_descriptors..BazNrrrrBazrRwrPrrSrUrkrlrn)r-rrrassert_called_once_withrJ)rrBrOrSr_r0s rtest_descriptorsz"SpecSignatureTest.test_descriptorsns     &    #''''')S'''##%%cceeS##%%8 1 1D"4((D FF1aLLL F * *1a 0 0 0 FF1aLLL F * *1a 0 0 0 0  1 1rcGddt}||_t|}|||jj||j||jtjtjg| |j |j | |j |j |j |t|j j jdS)NceZdZdZdZeZdS)+SpecSignatureTest.test_recursive..AcdSrrrs rrz-SpecSignatureTest.test_recursive..A.arrz foo bar bazN)r#r$r%rr+rDrrrArXs!   CCCCrrZ)r-Brrcalledrr,rrassertIsr+rD assertIsNotlowerrrr.)rrZr0s rtest_recursivez SpecSignatureTest.test_recursives         q!!  '''    *TVXXtvxxzz,BCCC aeQU### 48,,,  .$(.*KLLLLLrcGddt}t|}|||||fD]}|d|jd|jd|t |jdd|tt|dt|}|d|jd|jd|t |jdd|tt|d|t ||j d|j j d|j j d |tt|j d | d| j d| j d |tt| d dS) Nc0eZdZdZGddeZdS)@SpecSignatureTest.test_spec_inheritance_for_classes..FoocdSrr)rrs rrzBSpecSignatureTest.test_spec_inheritance_for_classes..Foo.arrceZdZdZdS)DSpecSignatureTest.test_spec_inheritance_for_classes..Foo.BarcdSrr)rys rrzFSpecSignatureTest.test_spec_inheritance_for_classes..Foo.Bar.frrNr#r$r%rrrrrOrfs$$$$$rrON)r#r$r%rr-rOrrrrBrcsG  % % % % %f % % % % %rrBrrr+rDrr)rhrJ) r-rr^rr.rrrrrOr)rrB class_mock this_mock instance_mocks r!test_spec_inheritance_for_classesz3SpecSignatureTest.test_spec_inheritance_for_classess % % % % %& % % % %S))  ZZ\\222#ZZ\\1 G GI KK!K    K * *Q * / / / K * *1 - - -   ieU C C C   ngy# F F F F'.. **1---**Q*/// )]_eUCCC .'=#FFF )]333A..q111...333 .'=3DcJJJa   003330010555 .'=3D3D3F3FLLLLLrc0Gddt}||_t|}|}|tt |d|}|tt |dt|}|tt |d|t ||}|tt |ddS)NceZdZdZdS)+SpecSignatureTest.test_inherit..FoorlNrrrrrBrprrrBr)r-rBrrrrr)rrBr0instance attr_instance call_results r test_inheritzSpecSignatureTest.test_inherits     &   s##466 .'8SAAA  .'=#FFFssuu%% .'4=== )T***hhjj  .';DDDDDrcDtdtttdtttitttgtttt tt tdtt tdtttdtddS)NrUr+g?y?FT)rrr4rr/setfloatcomplexrs r test_builtinszSpecSignatureTest.test_builtinss   rcd}t|}|t||dd|dd|dd|dd||_t|}|t|j|dd|jdd|jdddS)NcdSrrrs rrz*SpecSignatureTest.test_function..frrrUrkrrrlrn)rrrr.rrrr0s r test_functionzSpecSignatureTest.test_functionsq!! )T*** Q  1%%% Q''' !q)))q!! )TV,,, q!  !!!Q''' !!A!+++++rcGddtGfddt}||dddt||t fd|ddjj|tfd j}|j |j fdS) NceZdZddZdS);SpecSignatureTest.test_skip_attributeerrors..RaiserNc(|tddS)Nz$Can only be accessed via an instancer!)rrtypes rrzCSpecSignatureTest.test_skip_attributeerrors..Raiser.__get__s;()OPPP;rrrrrrRaiserrs. Q Q Q Q Q Qrrc:eZdZZedZdS)@SpecSignatureTest.test_skip_attributeerrors..RaiserClassc ||zSrrrs rexistingzISpecSignatureTest.test_skip_attributeerrors..RaiserClass.existings 1u rN)r#r$r%raiserrLr)rsr RaiserClassrs9VXXF   \   rrrUrkrlc2dddS)NrUrkrl)r)rss rr z=SpecSignatureTest.test_skip_attributeerrors.. sqzz!Q/B/BrcjSr) nonexisting)rsrr z=SpecSignatureTest.test_skip_attributeerrors..s !-r) r-r,rrrrrrrr+rD)rrrrrs @@rtest_skip_attributeerrorsz+SpecSignatureTest.test_skip_attributeerrorss& Q Q Q Q QV Q Q Q        &    --a33Q777 K ( ( )%B%B%B%BCCC Aq))1:+BCCC .*?*?*?*?@@@h rcGddt}t|}|t||d|d|d|t |jd|dd|dd|dd|t |jdddS) NceZdZddZdS)3SpecSignatureTest.test_signature_class..FoorlcdSrrrs r__init__z.Foo.__init__rrNrr#r$r%rrrrrBrs , , , , , ,rrBrUrrkrnrr)r-rrrrTrr.rYs rtest_signature_classz&SpecSignatureTest.test_signature_classs - - - - -& - - -s## )T*** Q $$Q''' $$q$))) .$*FJJJ Q  1%%% !q))) .$*AQ!LLLLLrcJGddt}t|dS)NceZdZdS)6SpecSignatureTest.test_class_with_no_init..FooNrrrrrBr*rrrB)r-r)rrBs rtest_class_with_no_initz)SpecSignatureTest.test_class_with_no_init's@     &   rcGddt}t|}|dd|dd|dd|t|d|dd}|t||d|d|d|d|d|dt|dd}|d|d|t||d|ddS)NceZdZdZdZdS);SpecSignatureTest.test_signature_callable..CallablecdSrr)rrrhs rrzDSpecSignatureTest.test_signature_callable..Callable.__init__1rrcdSrrr!s r__call__zDSpecSignatureTest.test_signature_callable..Callable.__call__2rrN)r#r$r%rrrrrCallabler0s" * * * ' ' ' ' 'rrrUrkrrhrr)r-rrTrrr.)rrr0rqs rtest_signature_callablez)SpecSignatureTest.test_signature_callable/s ( ( ( ( (v ( ( (x(( Q  $$Q*** $$qA$... )T3///41:: )X...3((---((3(/// ##C(((##c#***xx1~~.. s  $$s$+++ )T*** S  $$$$$rcGddt}t|}|}||t|d|t||t|dt|}|t||t|ddS)NceZdZdZdS)ASpecSignatureTest.test_signature_noncallable..NonCallablecdSrrrs rrzJSpecSignatureTest.test_signature_noncallable..NonCallable.__init__MsrNrrrr NonCallablerLs#     rrr)r-rrTrr)rrr0rqs rtest_signature_noncallablez,SpecSignatureTest.test_signature_noncallableKs     &   {++466 $$&&& )T3/// )X... )Xs333{{}}-- )T*** )T3/////rcGddt}t|}|j}||t d||jdS)NceZdZdZdS)8SpecSignatureTest.test_create_autospec_none..FooN)r#r$r%rDrrrrBr]sCCCrrB)r-rrDassertNotIsInstancerr+rT)rrBr0nones rtest_create_autospec_nonez+SpecSignatureTest.test_create_autospec_none\s     &   s##x   tDzz222   ((*****rctGddt}t|}|d|jd|jd|d|jd|jddS)NceZdZdZdS)MSpecSignatureTest.test_autospec_functions_with_self_in_odd_place..FoocdSrr)rrs rrzOSpecSignatureTest.test_autospec_functions_with_self_in_odd_place..Foo.fjrrNrirrrrBris rrB r)r-rrr.)rrBrs r.test_autospec_functions_with_self_in_odd_placez@SpecSignatureTest.test_autospec_functions_with_self_in_odd_placehs ! ! ! ! !& ! ! ! C  B r""" B'''   r""" B'''''rc,GddtGddtGfddt}t|}fd}||j||j||j||jdS)Nc"eZdZdZddZdZdS)CSpecSignatureTest.test_autospec_data_descriptor..Descriptorc||_dSr)r)rrs rrzLSpecSignatureTest.test_autospec_data_descriptor..Descriptor.__init__ws " rNc|Srr)rrrGs rrzKSpecSignatureTest.test_autospec_data_descriptor..Descriptor.__get__zs rcdSrr)rrrs r__set__zKSpecSignatureTest.test_autospec_data_descriptor..Descriptor.__set__}rrr)r#r$r%rrrrrr Descriptorrvs> # # #     0 / / / /rrceZdZdS)CSpecSignatureTest.test_autospec_data_descriptor..MyPropertyNrrrr MyPropertyrrrrcXeZdZdgZedZdZdZdS).FooslotcdSrrrs rpropzASpecSignatureTest.test_autospec_data_descriptor..Foo.props DrcdSrrrs rsubpropzDSpecSignatureTest.test_autospec_data_descriptor..Foo.subprops#trr%N)r#r$r% __slots__propertyrrdesc)rrsrrBrsII  X  # #Z #:b>>DDDrrBc|t|ddd|ddd|ddd|jddddS)NrUrkrlrnrr)r;rabcrT) mock_attrrs rcheck_data_descriptorzNSpecSignatureTest.test_autospec_data_descriptor..check_data_descriptors{  ! !)Y 7 7 7 IaA    MM!Q " " "  - -aA 6 6 6 M 1 1!Q : : : : :r)r-rrrrrr)rrBr+rrrs` @@rtest_autospec_data_descriptorz/SpecSignatureTest.test_autospec_data_descriptorus 0 0 0 0 0 0 0 0         " " " " " " " "& " " "c"" ; ; ; ; ; ch'''ck***ch'''ch'''''rcvtjtjtj}||t t |}||||ddd|ddddS)Nrnrr) types MethodTypetimectimer;r4rrTrI)rmethmockeds r'test_autospec_on_bound_builtin_functionz9SpecSignatureTest.test_autospec_on_bound_builtin_functions DIKK88 ddffc*** && &&(((q!Q&&q!Q/////rcGdd}|}t|}|t|ddS)NceZdZdZdS)ESpecSignatureTest.test_autospec_getattr_partial_function..Fooc$td|S)Nc|Srr)names rr zcSpecSignatureTest.test_autospec_getattr_partial_function..Foo.__getattr__..sDrr)r attributes rr#zQSpecSignatureTest.test_autospec_getattr_partial_function..Foo.__getattr__s00)<<.FoorcdSrrrrcs r static_methodzQSpecSignatureTest.test_autospec_signature_staticmethod..Foo.static_methods.2drNr)r#r$r%rLrrrrrBrs&  2 2 2\ 2 2 2rrBr)r__dict__r,inspect signaturerrYs r$test_autospec_signature_staticmethodz6SpecSignatureTest.test_autospec_signature_staticmethodsv 3 3 3 3 3 3 3 3s|O<== *3+<==w?PQU?V?VWWWWWrcGdd}t|jd}|tj|jtj|dS)Nc&eZdZeddZdS)BSpecSignatureTest.test_autospec_signature_classmethod..FoorcdSrr)rGrrrs r class_methodzOSpecSignatureTest.test_autospec_signature_classmethod..Foo.class_methods26$rNr)r#r$r%rKrrrrrBrs&  6 6 6[ 6 6 6rrBr)rrr,rrrrYs r#test_autospec_signature_classmethodz5SpecSignatureTest.test_autospec_signature_classmethodsv 7 7 7 7 7 7 7 7s|N;<< *3+;<OPT>U>UVVVVVrc|d}t|}|dd|dd|tj|tj|||jt ddt ddg|t|ddS)NcdSrrrs rmyfuncz=SpecSignatureTest.test_spec_inspect_signature..myfuncrrrUrkr)rr,rrrKrrr)rrr0s rtest_spec_inspect_signaturez-SpecSignatureTest.test_spec_inspect_signaturesv&& Q  qA *400'2CF2K2KLLL 41::ta1~~~*FGGG )T1-----rc Dd dtdtdtdtfd}||ddd d t|}|ddd |dd |tj|tj|||jt ddd t dd g|t|d|t|ddd d dS)Nrrrrreturnc||z|zSrrrs rr+zFSpecSignatureTest.test_spec_inspect_signature_annotations..foosq519 rrUrkrl)rrrnr) rr,rrrrKrrr)rr+r0s r'test_spec_inspect_signature_annotationsz9SpecSignatureTest.test_spec_inspect_signature_annotationss,  3 3       Qa!,,,s## QQ Q!  *400'2CC2H2HIII 41???DaLLL*IJJJ )T1--- )T1aa88888rc`d}t|}||jddS)NcdS)Nnoperrrrr z>SpecSignatureTest.test_spec_function_no_name..svrfuncopy)rr,r#)rfuncr0s rtest_spec_function_no_namez,SpecSignatureTest.test_spec_function_no_names4~t$$  22222rc2d}t|}|d|tdg|t5|tdgddddS#1swxYwYdS)NcdSrrrs rrz@SpecSignatureTest.test_spec_function_assert_has_calls..frrrUrk)rrWrrrr|s r#test_spec_function_assert_has_callsz5SpecSignatureTest.test_spec_function_assert_has_callssq!! Q tAwwi(((   ~ . . - -  ! !477) , , , - - - - - - - - - - - - - - - - - -s$B  BBcd}t|}|d|d|t5|dddddS#1swxYwYdS)NcdSrrrs rrz?SpecSignatureTest.test_spec_function_assert_any_call..frrrUrk)rrXrrr|s r"test_spec_function_assert_any_callz4SpecSignatureTest.test_spec_function_assert_any_callsq!! Q Q   ~ . . $ $   # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s A00A47A4cd}t}t||}|dd||jt dg||jt dg|||jg||jgdS)NcdSrrrs rrz:SpecSignatureTest.test_spec_function_reset_mock..frrrrUrk)rrr,rKrrI)rrrvr0s rtest_spec_function_reset_mockz/SpecSignatureTest.test_spec_function_reset_mocks VVqr222Q  477)444 a 222  "--- +++++rN)+r#r$r%rrrrrrrrrrrr'r2r7r<rBrUr`rmrtryr}rrrrrrrrrrrrrrrrrr rrrrr{s+++6))) ( ( (222'''### % % %***DDD$---!!!(2EEE8666, ; ; ; P P P111(MMM,#M#M#MLEEE0*,,,$0MMM$%%%8000" + + + ( ( ()()()(X 0 0 0 8 8 8XXXWWW . . . 9 9 9 333 ---$$$ , , , , ,rrc2eZdZdZdZdZdZdZdZdS) TestCallListct}||jt|dd|d|dd|dt ddt dt ddt dfD]}|||jt dt ddg}|||jt ddt dg}|||jt ddt dg}|||jt ddg}|||j|t d|j|t dg|jdS) NrUrkrlrrnrrr)rr;rr rr assertNotIn)rr0rqcallss r!test_args_list_contains_call_listz.TestCallList.test_args_list_contains_call_listsvv d19=== Q  q  Q  q AJJq 41::tayyy@ 5 5D MM$ 3 4 4 4 4DAJJ' eT0111aTAYYY' eT0111aTAYYY' eT0111a  eT0111 ft':;;; $v,,)<=====rct}|dd|d|jddd}|t |j|dS) NrUrkrlrrdog)catzU[call(1, 2), call.foo(a=3), call.foo.bar(), call.foo.bar().baz('fish', cat='dog')])rr+rDrgr,r4rK)rr0rMs rtest_call_list_strzTestCallList.test_call_list_str)svv Q  1   6u--- 6  T_--x88888rcVtdtzt}|} tj|t }|j|||j ttgd|_||j tttdg| dS#| wxYw)Nz%s.SomeClass.one) new_callablerl) r r#r rrrrTr.r,rKrstop)rrr0rs rtest_propertymockzTestCallList.test_propertymock8s $x/l K K Kwwyy  MM  ( ( * * * A EE  # # % % %   T_tvvtvv.> ? ? ?AE   T_tvvtvvtAww.G H H H FFHHHHHAFFHHHHs CDD(ct}t}|t|_|j}|||t||tdSr)rr rr+rTr;rrrrreturneds rtest_propertymock_barez#TestCallList.test_propertymock_bareJsl KK NNQ 5 !!### h 222   <88888rct}td}|t|_|j}|||d||tdS)Nr%r)rr rr+rTr,rrs rtest_propertymock_returnvaluez*TestCallList.test_propertymock_returnvalueUss KK b ) ) )Q 5 !!### 2&&&   <88888rct}tt}|t|_|t5|jdddn #1swxYwY|dS)N) side_effect)rr ValueErrorrr+rrT)rrrs rtest_propertymock_side_effectz*TestCallList.test_propertymock_side_effect`s KK Z 0 0 0Q   z * *   EE                !!#####sA&&A*-A*N) r#r$r%rrrrrr#rrrr r sn>>>2 9 9 9$999999$$$$$rr c2eZdZdZdZdZdZdZdZdS)TestCallablePredicatectttttt fD]$}|t|%dSr)r4bytesrr/tuplerrr )rrs r test_typezTestCallablePredicate.test_typelsCT5)< , ,C OOIcNN + + + + , ,rcxGdd}|}|t|dS)NceZdZdZdS)>TestCallablePredicate.test_call_magic_method..CallablecdSrrrs rrzGTestCallablePredicate.test_call_magic_method..Callable.__call__rrrN)r#r$r%rrrrrr,qrrr)rr )rrrqs rtest_call_magic_methodz,TestCallablePredicate.test_call_magic_methodpsU % % % % % % % %8::  (++,,,,,rcnGdd}|t|jdS)Nc$eZdZedZdS)ATestCallablePredicate.test_staticmethod..WithStaticMethodcdSrrrrr staticfunczLTestCallablePredicate.test_staticmethod..WithStaticMethod.staticfuncxrHrN)r#r$r%rLr3rrrWithStaticMethodr1ws#  " "\ " " "rr4)rr r3)rr4s rtest_staticmethodz'TestCallablePredicate.test_staticmethodvsP # # # # # # # #  "2"=>>?????rcnGdd}|t|jdS)Nc$eZdZedZdS)MTestCallablePredicate.test_non_callable_staticmethod..BadStaticMethodN)r#r$r%rL not_callablerrrBadStaticMethodr8}s'<--LLLrr:rr r9)rr:s rtest_non_callable_staticmethodz4TestCallablePredicate.test_non_callable_staticmethod|sO . . . . . . . . ?#?@@AAAAArcnGdd}|t|jdS)Nc$eZdZedZdS)?TestCallablePredicate.test_classmethod..WithClassMethodcdSrr)rGs r classfunczITestCallablePredicate.test_classmethod..WithClassMethod.classfuncs $rN)r#r$r%rKrArrrWithClassMethodr?s#  $ $[ $ $ $rrB)rr rA)rrBs rtest_classmethodz&TestCallablePredicate.test_classmethodsO % % % % % % % %  /";<<=====rcnGdd}|t|jdS)Nc$eZdZedZdS)KTestCallablePredicate.test_non_callable_classmethod..BadClassMethodN)r#r$r%rKr9rrrBadClassMethodrFs&;t,,LLLrrGr;)rrGs rtest_non_callable_classmethodz3TestCallablePredicate.test_non_callable_classmethodsO - - - - - - - - >#>??@@@@@rN) r#r$r%r)r.r5r<rCrHrrrr%r%jsy,,,--- @@@ BBB >>> AAAAArr%__main__)rrrunittest unittest.mockrrrrrrr r r r r functoolsrr-rTestCaser'rbrr r%r#mainrrrrOs%  """"""""C%C%C%C%C%hC%C%C%J^ ^ ^ ^ ^ x ^ ^ ^ B P ,P ,P ,P ,P ,)P ,P ,P ,fY$Y$Y$Y$Y$8$Y$Y$Y$x A A A A AH- A A AF zHMOOOOOr