
    	h                         S SK r S SKrS SKrS SKrS SKrS SKr " S S5      rS rS r	 " S S\R                  R                  R                  5      r\S:X  a  \ R                  " 5         gg)	    Nc                   N    \ rS rSrS/rSSS.rS rS rS rS	 r	S
 r
S rS rSrg)PythonSemanticClass   InAddRemove)
   r   c                     / U l         g Nlistselfs    pC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\win32com/test/policySemantics.py__init__PythonSemanticClass.__init__   s	    	    c                 h    [         R                  R                  R                  U R                  5      $ r   )win32comserverutilNewEnumr   r   s    r   _NewEnumPythonSemanticClass._NewEnum   s!    ##++DII66r   c                     U R                   $ r   r   r   s    r   _value_PythonSemanticClass._value_   s    yyr   c                 ,    [        U R                  5      $ r   )sumr   r   s    r   	_EvaluatePythonSemanticClass._Evaluate   s    499~r   c                     XR                   ;   $ r   r   r   values     r   r   PythonSemanticClass.In   s    		!!r   c                 :    U R                   R                  U5        g r   )r   appendr#   s     r   r   PythonSemanticClass.Add        		r   c                 :    U R                   R                  U5        g r   )r   remover#   s     r   r   PythonSemanticClass.Remove#   r)   r   r   N)__name__
__module____qualname____firstlineno___public_methods__dispid_to_func_r   r   r   r    r   r   r   __static_attributes__ r   r   r   r      s8    v!x07"  r   r   c                 x    U R                  SS5      S:X  d   S5       eU R                  SS5      S:X  d   S5       eU R                  SS5      S:X  d   S	5       eU R                  S
S5      [        R                  :X  d   S5       e/ nSn  U R	                  SU5      nUR                  U5        M&  ! [        R                   a4  nUR                  u  pEpgU[        R                  :X  d   S5       e S nAOS nAff = fUR                  5         U[        R                  [        R                  SSS/:X  d
   SU 35       eg )Nr   r   r	   z Policy did not honour the dispidr   r   r   i  z!Allocated dispid unexpected valuer   z _NewEnum() got unexpected DISPIDzBad result at end of enumzGot back the wrong dispids: )print	GetDispID	pythoncomDISPID_NEWENUMGetNextDispIDr'   	com_errorargswinerrorS_FALSEsortDISPID_EVALUATE)obdispidsdispidxxx_todo_changemehrdescexcargs           r   
DispExTestrJ   '   sW   <<q!R'K)KK' <<!$*N,NN*<<a D(M*MM(<<
A&)*B*BB *B GF
	%%a0FNN6"  "" 	#4#9#9 Rs)))F+FF)	 LLN!!  

  0 
&gY/0 s   
#B/ /C7*C22C7c                 Z   U R                  S5        U R                  S5        U R                  S5        U " 5       S:X  d   SU " 5       < 35       eU R                  nUR                  [        R                  S[        R
                  [        R                  -  S5      nUS:X  d
   SU 35       eg )	N         )rL   rM   rN   zBad result - got r      zEvaluate returned )r   _oleobj_Invoker9   rA   DISPATCH_METHODDISPATCH_PROPERTYGET)rB   dispobrcs      r   SemanticTestrV   F   s    FF1IFF1IFF1I49: 1"$::[[F	!!	!!I$B$BB		
B 7-(--7r   c                   ,    \ rS rSrS rS rS rS rSrg)TesterY   c                     SnSS K nU(       a!  UR                  R                  R                  nOS nUR                  R                  R                  [        5       US9nUR                  R                  U5      U l	        g )Nr   )useDispatcher)
win32com.server.dispatcherr   
dispatcherDefaultDebugDispatcherr   wrapr   clientDispatchrB   )r   debugr   r]   disps        r   setUpTester.setUpZ   sf    )!33JJJJ##((! ) 
 //**40r   c                     S U l         g r   rB   r   s    r   tearDownTester.tearDowng   s	    r   c                 .    [        U R                  5        g r   )rV   rB   r   s    r   testSemanticsTester.testSemanticsj   s    TWWr   c                     U R                   R                  R                  [        R                  5      n[        U5        g r   )rB   rP   QueryInterfacer9   IID_IDispatchExrJ   )r   dispexobs     r   testIDispatchExTester.testIDispatchExm   s*    77##2293L3LM8r   rg   N)	r-   r.   r/   r0   rd   rh   rk   rq   r3   r4   r   r   rX   rX   Y   s    1r   rX   __main__)unittestr9   win32com.clientr   win32com.server.utilwin32com.test.utilr>   r   rJ   rV   testr   TestCaserX   r-   mainr4   r   r   <module>r{      s_            80>.&X]](( 2 zMMO r   