oiPddlZddlmZddlZddlZddlZddlZddlZddl m Z ddl m Z dZ GddZdZdZd Zdd Zd Zd Zd ZdZdZdZdZedkre jdSdS)N)Callable)wrap)utilcLeZdZgdZdZdZdZdZdZdZ dZ d Z d Z d S) TestObject) CallbackVoidOneByRefCallbackResultOneByRefCallbackVoidTwoByRefCallbackString#CallbackResultOneByRefButReturnNone!CallbackVoidOneByRefButReturnNoneCallbackArrayResult CallbackArrayResultOneArrayByRefCallbackArrayResultWrongSizec |dzSNselfintVals DC:\PYTHON\Scheduler\python\Lib\site-packages\win32com/test/testvb.pyrzTestObject.CallbackVoidOneByRef&s zc||dzfSrrrs rr z!TestObject.CallbackResultOneByRef)svz!!rc||z||z fSNr)rint1int2s rr zTestObject.CallbackVoidTwoByRef,sd{D4K''rcd|dzfS)Nrz has visited Pythonr)rstrVals rr zTestObject.CallbackString/s&0000rcDg}|D]}||dz|Sr)appendrarrayValretis rrzTestObject.CallbackArrayResult2s6  A JJq1u     rc0t|ddS)N)list)rr$s rrz'TestObject.CallbackArrayResultWrongSize;sHSbSM"""rcbg}|D]}||dzt||fSr)r"r)r#s rrz+TestObject.CallbackArrayResultOneArrayByRef>s@  A JJq1u    H~~s""rcdSrrrs rr z.TestObject.CallbackResultOneByRefButReturnNoneErcdSrrrs rr z,TestObject.CallbackVoidOneByRefButReturnNoneHr,rN) __name__ __module__ __qualname___public_methods_rr r r rrrr r rrrrrs   """(((111######rrcHd|_|jdks Jdd|_|jdks Jdd|_|jdks Jdtd|_|jtdks Jdd|_|jdks Jd d|_|jdks Jd d |_|jd ksJd |jd t ||t |t||||ksJ|r | |}|d|kr |d|ksJ||_ |j j |j ks Jd| ddks Jd| ddks Jd| d| ddks Jdttt }|||d}|dks Jd|t'||r(|d}|dksJd|dSdS)Nr(z*Could not set the long property correctly. z-Could not set the integer property correctly.z5Could not set the variant integer property correctly.srawdataz4Could not set the variant buffer property correctly.Hello from Pythonz,Could not set the string property correctly.z4Could not set the variant string property correctly.g?@g@zFCould not set the variant property to an array of floats correctly - 'z'.rrz3Could not set the VariantPutref property correctly.zCould not pass an integer byrefz%Could not pass an int VARIANT byref: g?g@z$Could not pass a float VARIANT byref useDispatcherz"Could not increment the integer - rr7) LongProperty IntPropertyVariantProperty memoryviewStringProperty TestArrays TestStructsTestCollectionsTakeByValObjectTakeByRefObject VariantPutref_oleobj_IncrementIntegerParamIncrementVariantParamrrr9DoSomeCallbacks PassIntByValTestVBInterface PassIntByRef)vbtest bUseGeneratedob callback_obr%s rTestVBrQLs>F  " $ $ $&R $ $ $F   # # #%T # # #F  !R ' ' '? ( ' '( 55F  !Z %=%= = = => > = =0F  $7 7 7 76 8 7 71F  !%8 8 8 8> 9 8 8-F  !_ 4 4 4kQWQgkkk 5 4 4v}%%%F  ! !& ) )V 3 3 3 3',  # #F + +!u2a5F???2 &#,??? A@?? ++A..!3335V333++A..!333 UF4P4PQR4S4S U U433++C00C777 2877 :<<}EEE {+++   a C !888?#??888FI!!!$$f}}}H3HH}}} II}rc d}t||}g}|D]}|||t|ksJd|d|d|dg}|D]}|||t|ksJd|d|d|dtt||}g}|D]}|||t|ksJd|d|d|dg}|D]}|||gks Jd t||}t |||ks*Jd|d t |d ||dt||}g}t ||D]}||||t|ksJd|d|d|dt||}g} |}|sn||d 3|t|ksJd|d|d|ddS)Ncdt|d}t|tr |S|S)NCount)getattr isinstancer)rOrs r _getcountz$_DoTestCollection.._getcounts3 B  a " " 133Jrz Collection z didn't have z (had )zCollection 2nd time around zCollection iterator z 2nd time around (had zK2nd time around Collection iterator {col_name} wasn't empty (had {check!r})z __len__(z) wasn't==Count(rr)rUr"r)iterlenrange_NewEnumNext) rMcol_nameexpectedrXccheckitemr&ns r_DoTestCollectionres@ !!A E T DNN " " "IhIIXIIuIII # " " E T DNN " " "YhYYXYYuYYY # " " WVX & &''A E T DNN " " "bxbbhbbX]bbb # " " E T B;;;U ;; !!A q66YYq\\ ! ! !ThTTQTT99Q<<TTT " ! ! !!A E 99Q<<  QqT DNN " " "IhIIXIIuIII # " " !!**,,A E FFHH   QqT  DNN " " "IhIIXIIuIII # " " " "rcFt|dgd|jddks Jdt|dg|jd|jd|jdt|dgddS) NCollectionProperty)rTwo3rrz;The CollectionProperty[0] element was not the default valueEnumerableCollectionPropertyrhri)rergrjAdd)rMs rrBrBsf2OOODDD  $Q '1 , , ,E - , ,f & FF+ff-=>I###&#s+,,,!S&)***JI$67776"$yl3I$6777JI$6777z||=AAAK EFFF **;7777     }Q#EEEE 93 9 9 9FEEEEEEE , #((**!'!5!5h!?!? J4 +++++ N* N N,++4 +++++ N* N N,++#??!'!>>>KKK 1B B;;;; 7777BJ 7777     B 7777  z622A 9>>>C>>>AI     ! ! )R / / /0 0 / /(G ??K??? ""1%%%(G w<<1     3w<< @@qz!Q&&&&qz!)Q....qz!+A.6!;;;;qz!+A.6!a%????qz!+A.6!a%?????  8999       A !  aDI   aDH   aDI      & 7888 &&&C   #        & LRR I I H I    !WWF  ))) '''=>>> &'''''sbAA  A6L LLL11 L>=L>+U U UV)) W3WWc|d}|dks Jd|d|dks JddS)Nr7zInitial value wrongrvzNew value wrong)GetInterfaceTestergetnsetn)rOts rrKrKs` a  A 6688q===/===FF1III 6688q===+=====rcX||jksJ||jkrJ|j|ksJ|j|krJ|j|jtjksJ|j|jtjkrJ|jJd|jksJ|Jd|ksJ |dkt d#t $rYnwxYw d|kt d#t $rYnwxYw|jtj|jksJ|jtj|jkrJ|j|jtjksJ|j|jtjkrJ|jtj|jksJ|jtj|jkrJtddS)NrzObject semantic tests passed)rFQueryInterfacer IID_IUnknownrr IID_IDispatchr)rOs rTestObjectSemanticsrsH     R[   ;"    {b    ;"+44Y5KLL L L L L{bk889OPPPPP P ; " " " 2;     >>> 2::::  T 2333        r 2333       ; % %i&< = = L L L L{)))*@AAR[PPP P ;"+44Y5LMM M M M M{bk889PQQQQQ Q ; % %i&= > >"+ M M M M{)))*ABBbkQQQ Q ()))))s$6C CCC11 C>=C>ctjd}t|t |dtjjd}t|t |ddS)NPyCOMVBTest.Testerrr)rrDispatchrrQdynamic DumbDispatch)os r DoTestAllrsk  !566A 1aLLL,,-ABBA 1aLLLLLrctjjd t t ddS#t dtjxYw)NrFz/This must be run in debug mode - we use assert!z All tests appear to have worked!zTestAll() failed!!) rrgencacheEnsureDispatch RuntimeErrorrr traceback print_excrrrTestAllr&sq O++,@AAAN  011111 "### s A%A+cddl}tjtd}|}|||S)NrzVB tests) description)unittestrCapturingFunctionTestCaser TestSuiteaddTest)rtestsuites rrr8sHOOO  )'z J J JD    E MM$ Lr__main__r)rcollections.abcrrwin32com.clientrwin32com.client.dynamicwin32com.client.gencacherwin32com.server.utilr win32com.testrr9rrQrerBrrr@rArKrrrrr.testmainrrrrs $$$$$$%%%%%% 00000000fTITITIx>>>B O O O    [ [ [ |J(J(J(Z,,,$*$*$*N$ zDMOOOOOr