
    %
i                        d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlm	Z	  G d dej
        j        j                  Z G d de          Z G d d	          Z G d
 de          Zd Zedk    r ej        e j        dgz              dS dS )    N)Dispatch)EnsureDispatchc                   &    e Zd Zd Zd Zd Zd ZdS )_BaseTestCasec                     |                                  \  }}g }|D ]}|                    |           |                     || j                   d S N)iter_factoryappendassertEqualexpected_data)selfobitergotvs        C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\win32com/test/testIterators.pytest_enumvariant_vbz!_BaseTestCase.test_enumvariant_vb   s[    $$&&D 	 	AJJqMMMMd011111    c                     |                                  \  }}g }t          |          D ]}|                    |           |                     || j                   d S r   )r	   r   r
   r   r   )r   r   ir   r   s        r   
test_yieldz_BaseTestCase.test_yield   sa    !!##Aa 	 	AJJqMMMMd011111r   c                     	 |D ]}|                      d           n# t          $ r Y nw xY w|                     t          t          |           |                     t          t
          |d           d S )N(Could iterate over a non-iterable objectnext)fail	TypeErrorassertRaisesr   AttributeErrorgetattr)r   objectr   s      r   _do_test_nonenumz_BaseTestCase._do_test_nonenum   s    	  II@AAAA 	 	 	D	)T6222.'66BBBBBs    
**c                 ,   | j         j        }	 |D ]}|                     d           n# t          $ r Y nw xY w|                     t          t
          |           |                     t          t          |d           | j         }	 |D ]}|                     d           n# t          $ r Y nw xY w	 t          t          |                     |                     d           n# t          $ r Y nw xY w|                     t          t          |d           d S )Nr   r   z+Expected a TypeError fetching this iterator)	r    _oleobj_r   r   r   r   r   r   r   )r   r   r   s      r   test_nonenum_wrapperz"_BaseTestCase.test_nonenum_wrapper&   sO   [!	  II@AAAA 	 	 	D	)T2....'2v>>> [	  II@AAAA 	 	 	D		bNNNIICDDDD 	 	 	D	 	.'2v>>>>>s0   ) 
66B 
B,+B,01C" "
C/.C/N)__name__
__module____qualname__r   r   r!   r$    r   r   r   r      sS        2 2 22 2 2C C C? ? ? ? ?r   r   c                       e Zd Zd Zd ZdS )
VBTestCasec                 Z      fd}t          d           _        g d _        | _        d S )Nc                     j         j        } j        D ]}|                     |           t          j        t          j        z  }| j                            t          j	        d|dd          }| |
                    t          j                  fS )Nr   )   
   r(   )r    EnumerableCollectionPropertyr   Add	pythoncomDISPATCH_METHODDISPATCH_PROPERTYGETr#   InvokeTypesDISPID_NEWENUMQueryInterfaceIID_IEnumVARIANT)r   r   invkindr   r   s       r   factoryz!VBTestCase.setUp.<locals>.factoryJ   s    9B'  q				/)2PPG;**(!Wh D t**9+EFFFFr   zPyCOMVBTest.Tester)   Two3)r   r    r   r	   )r   r9   s   ` r   setUpzVBTestCase.setUpI   sM    
	G 
	G 
	G 
	G 
	G %%9::,__#r   c                     d | _         d S r   r    r   s    r   tearDownzVBTestCase.tearDown\       r   Nr%   r&   r'   r=   rA   r(   r   r   r*   r*   H   s2        $ $ $&    r   r*   c                        e Zd ZdgZd Zd ZdS )
SomeObjectGetCollectionc                     || _         d S r   )data)r   rH   s     r   __init__zSomeObject.__init__f   s    			r   c                 T    t           j        j                            | j                  S r   )win32comserverutilNewCollectionrH   r@   s    r   rF   zSomeObject.GetCollectioni   s    #11$)<<<r   N)r%   r&   r'   _public_methods_rI   rF   r(   r   r   rE   rE   c   s;        '(  = = = = =r   rE   c                       e Zd Zd Zd ZdS )WrappedPythonCOMServerTestCasec                       fd}g d _         t          j        j                            t           j                             }t          |           _        | _        d S )Nc                      j                                         } t          j        t          j        z  }| j                            t          j        d|d          }| |                    t          j	                  fS )Nr   r:   )
r    rF   r1   r2   r3   r#   Invoker5   r6   r7   )r   flagsenumr   s      r   r9   z5WrappedPythonCOMServerTestCase.setUp.<locals>.factoryo   s`    **,,B-	0NNE;%%i&>5!LLDt**9+EFFFFr   )r:   r;      )	r   rK   rL   rM   wraprE   r   r    r	   )r   r9   svs   `  r   r=   z$WrappedPythonCOMServerTestCase.setUpn   sm    	G 	G 	G 	G 	G +]]_!&&z$2D'E'EFFrll#r   c                     d | _         d S r   r?   r@   s    r   rA   z'WrappedPythonCOMServerTestCase.tearDownz   rB   r   NrC   r(   r   r   rQ   rQ   m   s2        
$ 
$ 
$    r   rQ   c                  J   t          j                    } t                                                      D ]n}t	          |t
                    rWt          |t           j                  r=|t          k    r2| 	                    t           j
                            |                     o| S r   )unittest	TestSuiteglobalsvalues
isinstancetype
issubclassTestCaser   addTestdefaultTestLoaderloadTestsFromTestCase)suiteitems     r   rg   rg   ~   s      E		  "" R RtT""	R4!233	R %%MM(4JJ4PPQQQLr   __main__rg   )argv)sysr\   r1   win32com.server.utilrK   win32com.test.utilwin32com.clientr   win32com.client.gencacher   testrM   rc   r   r*   rE   rQ   rg   r%   mainrj   r(   r   r   <module>rr      sX   


              $ $ $ $ $ $ 3 3 3 3 3 38? 8? 8? 8? 8?HM&/ 8? 8? 8?v       6= = = = = = = =    ]   "
 
 
 zHMsx7)+,,,,,, r   