ó o®¸Qc@sùddlZddlTddlZeejƒZy eZWnek rTe ZnXde fd„ƒYZ dej fd„ƒYZ defd„ƒYZd e fd „ƒYZd efd „ƒYZd e fd„ƒYZedkrõejƒndS(iÿÿÿÿN(t*tPOINTcBs eZdefdefgZRS(txty(t__name__t __module__tc_intt_fields_(((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyR stBasicWrapTestCasecBskeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z RS( cCs|S(N((tselftparam((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pytwrapscCs¼ytWntk rdSXtj}ttttttg|_ ||j dƒ|j dƒ|j dƒ|j dƒ|j dƒ|j dƒƒ}|j |dƒ|j t |ƒtƒdS(Niuxiig@g@i‹(tc_wchart NameErrortdllt_testfunc_i_bhilfdtc_byteRtc_longtc_floattc_doubletargtypesR t assertEqualt assertTruettypetint(R tftresult((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyttest_wchar_parms  QcCstj}ttƒ|_ttƒg|_tdƒ}|jt|ƒjj dƒ||j t|ƒƒƒ}|jt |ƒttƒƒ|j|jj dƒ||j t|ƒƒƒ}|j|jj |j ƒttdƒƒ}||j |ƒƒ}|j|jj dƒdS(Ni*ic( Rt _testfunc_p_ptPOINTERRtrestypeRRtpointertcontentstvalueR R(R RtvRtp((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyt test_pointerss  cs«tj}g‰ddddddddd d d d d ddddddg}‡fd†}tttƒ}||ƒ}||jdƒ|j|ƒƒ|jˆ|ƒdS(Niiii€i@i iiiiii€i@i iiiiicsˆj|ƒ|S(N(tappend(R"(targs(s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pytcallback>s ii(Rt_testfunc_callback_i_ift CFUNCTYPERR R(R RtexpectedR'tCallBacktcb((R&s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyt test_shorts7s ' cCs=tj}t|_d|_tttƒ}d„}||ƒ}||jdƒ|j|ƒƒ}|j|dƒt|g|_||ƒ}||jdƒ|j|ƒƒ}|j|dƒ||jdƒ|j|ƒƒ}|j|dƒt tttttƒ}||ƒ}|j t ||jdƒ|j|ƒƒdS(NcSs|S(N((R!((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyR'Qsiöÿÿÿiîÿÿÿ( RR(RRtNoneRR)R RtCALLBACK_FUNCTYPEt assertRaisest ArgumentError(R Rt MyCallbackR'R,RtAnotherCallback((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyttest_callbacksJs"     ! !! cs€tj}t|_tttƒ}t|g|_‡fd†}||ƒ}|ˆjdƒˆj|ƒƒ}ˆj|dƒdS(Ncsˆjt|ƒtƒ|S(N(RRR(R!(R (s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyR'vsiöÿÿÿiîÿÿÿ(RR(RRR)RR R(R RR2R'R,R((R s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyttest_callbacks_2ks   !cs€tj}t|_tttƒ}t|g|_‡fd†}||ƒ}ˆjdt|ˆjdƒˆj|ƒƒƒƒdS(Ncs$ˆjt|ttfƒƒ|d@S(Niÿÿÿ(Rt isinstanceRtlong(R!(R (s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyR'ˆsló”R lJ)£( Rt_testfunc_callback_q_qft c_longlongRR)RRRR (R RR2R'R,((R s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyttest_longlong_callbackss   cCsçtddƒ}tƒ}tj|t|ƒƒ}||j|jf}d}|j||ƒtddƒ}tƒ}tttƒftj_t tj_ tj|j |ƒt|ƒƒ}||j|jf}d}|j||ƒdS( NiiiieifiË(iii(iËieif( RRt_testfunc_byvaltbyrefRRRRRRRR (R tptintptoutRtgotR*((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyt test_byvals   !cCs~dtfd„ƒY}|tj_|gtj_|ddƒ}tj|j|ƒƒ}|j|j|jfddfƒdS( NtS2HcBs eZdefdefgZRS(RR(RRtc_shortR(((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyRA¥s iciXiiiÆi( t StructureRt ret_2h_funcRRR RRR(R RAtinpts2h((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyttest_struct_return_2H¤s  c CsÆdtfd„ƒY}|tj_|gtj_|ddddddd d ƒ}tj|j|ƒƒ}|j|j|j|j |j |j |j |j |jfd d d dddddfƒdS(NtS8Ic BsVeZdefdefdefdefdefdefdefdefgZRS(tatbtctdteRtgth(RRRR(((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyRH¯s       i iiiiiiiiiiiiiii(RCRt ret_8i_funcRRR RRIRJRKRLRMRRNRO(R RHREts8i((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyttest_struct_return_8H®s !9cCs_ddlm}dtfd„ƒY}|ƒ}||_|jtƒ|j|ƒWdQXdS(Niÿÿÿÿ(RtAcBseZRS((RR(((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyRSÂs(tctypesRtobjectt_as_parameter_R0t RuntimeErrort from_param(R RRSRI((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyttest_recursive_as_param¿s   ( RRR RR$R-R4R5R:R@RGRRRY(((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyRs    !    tAsParamWrappercBseZd„ZRS(cCs ||_dS(N(RV(R R ((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyt__init__Îs(RRR[(((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyRZÍstAsParamWrapperTestCasecBseZeZRS((RRRZR (((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyR\ÑstAsParamPropertyWrappercBs&eZd„Zd„ZeeƒZRS(cCs ||_dS(N(t_param(R R ((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyR[×scCs|jS(N(R^(R ((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyt getParameterÚs(RRR[R_tpropertyRV(((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyR]Ös  tAsParamPropertyWrapperTestCasecBseZeZRS((RRR]R (((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyRaÞst__main__(tunittestRTt _ctypes_testtCDLLt__file__Rt WINFUNCTYPER/R R)RCRtTestCaseRRURZR\R]RaRtmain(((s3/sys/lib/python2.7/ctypes/test/test_as_parameter.pyts      ½