
    %
i                         d dl Z d dlZd dlZd dlZd dlZd dlZ G d d          Zd Zd Z	 G d dej
        j        j                  Zedk    r e j                     dS dS )	    Nc                   H    e Zd ZdgZdddZd Zd Zd Zd Zd	 Z	d
 Z
d ZdS )PythonSemanticClassInAddRemove)
      c                     g | _         d S Nlistselfs    C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\win32com/test/policySemantics.py__init__zPythonSemanticClass.__init__   s    			    c                 T    t           j        j                            | j                  S r   )win32comserverutilNewEnumr   r   s    r   _NewEnumzPythonSemanticClass._NewEnum   s    #++DI666r   c                     | j         S r   r   r   s    r   _value_zPythonSemanticClass._value_   s
    yr   c                 *    t          | j                  S r   )sumr   r   s    r   	_EvaluatezPythonSemanticClass._Evaluate   s    49~~r   c                     || j         v S r   r   r   values     r   r   zPythonSemanticClass.In   s    	!!r   c                 :    | j                             |           d S r   )r   appendr   s     r   r   zPythonSemanticClass.Add        	r   c                 :    | j                             |           d S r   )r   remover   s     r   r   zPythonSemanticClass.Remove#   r#   r   N)__name__
__module____qualname___public_methods__dispid_to_func_r   r   r   r   r   r   r    r   r   r   r      s        v!x00  7 7 7    " " "              r   r   c                    	 |                     dd          dk    s
J d            |                     dd          dk    s
J d            |                     d	d          d
k    s
J d            |                     dd          t          j        k    s
J d            g }d}	 	 |                     d|          }|                    |           nB# t          j        $ r0}|j        \  }}}}|t          j	        k    s
J d            Y d }~n	d }~ww xY wp|
                                 |t          j        t          j        ddd
gk    sJ d|             d S )NFz:WARNING: Tests dressed up as assertions are being skipped!r   r   r   z Policy did not honour the dispidr   r	   r   i  z!Allocated dispid unexpected valuer   z _NewEnum() got unexpected DISPID   z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   
DispExTestrB   '   s   L<<q!!R''')K''' <<!$$***,N***<<a  D(((*M(((<<
A&&)*BBBB* CBB GF	%%a00FNN6""""" 	 	 	#4#9 RsC))))+F)))EEEE		 LLNNN! 

    0g//    s   "+C D&DDc                 p   |                      d           |                      d           |                      d            |             dk    sJ d |                         | j        }|                    t          j        dt          j        t          j        z  d          }|dk    sJ d|             d S )	Nr.         )r.   rD   rE   zBad result - got r      zEvaluate returned )r   _oleobj_Invoker1   r9   DISPATCH_METHODDISPATCH_PROPERTYGET)r:   dispobrcs      r   SemanticTestrM   F   s    FF1IIIFF1IIIFF1III2449:""$$::[F	!	!I$BB		
 
B 777---77777r   c                   &    e Zd Zd Zd Zd Zd ZdS )Testerc                     d}dd l }|r|j        j        j        }nd }|j        j                            t                      |          }|j                            |          | _	        d S )Nr   )useDispatcher)
win32com.server.dispatcherr   
dispatcherDefaultDebugDispatcherr   wrapr   clientDispatchr:   )r   debugr   rS   disps        r   setUpzTester.setUpZ   sv    )))) 	!3JJJJ#((!! ) 
 
 /**400r   c                     d | _         d S r   )r:   r   s    r   tearDownzTester.tearDowng   s    r   c                 .    t          | j                   d S r   )rM   r:   r   s    r   testSemanticszTester.testSemanticsj   s    TWr   c                 v    | j         j                            t          j                  }t          |           d S r   )r:   rG   QueryInterfacer1   IID_IDispatchExrB   )r   dispexobs     r   testIDispatchExzTester.testIDispatchExm   s1    7#2293LMM8r   N)r&   r'   r(   rZ   r\   r^   rc   r+   r   r   rO   rO   Y   sP        1 1 1        r   rO   __main__)unittestr1   win32com.clientr   win32com.server.utilwin32com.test.utilr6   r   rB   rM   testr   TestCaserO   r&   mainr+   r   r   <module>rl      s                                    80 0 0>. . .&    X](   2 zHMOOOOO r   