a „oe[ã@s–ddlZddlZddlZddlZddlZddlZddlZejZ ddl Z dZ dd„Z dd„Z dd„Zdd d „ZGd d „d ejjjƒZed kr’e  ¡dS)éNzcollection test errorcCs"tjj tjj ¡¡}tj |¡S©N©Úwin32comZserverÚutilÚwrapÚ CollectionZclientZDispatch)Úo©r ú>C:\Program Files\Certbot\pkgs\win32com\test\testCollections.pyÚ MakeEmptyEnumsr cCsHtjj tjj gd¢¡¡}tjj tjj ddd|g¡¡}tj |¡S)N©ZSub1éZSub3éÚTwoér)Úsubrr r r Ú MakeTestEnums ÿ rcCstt|ƒƒD]4}||ƒ||kr tdt||ƒƒt||ƒfƒ‚q tt|ƒƒD]6}| |¡||krNtdt||ƒƒt||ƒfƒ‚qNg}|D]}| |¡qŽ|dt|ƒ…|krÖtdt|dt|ƒ…ƒt|ƒfƒ‚tt|ƒƒD]}||||krâtdƒ‚qâdS)Nz5Using default method gave the incorrect value - %s/%sz2Using Item method gave the incorrect value - %s/%sz)Result after looping isnt correct - %s/%sz'Using indexing gave the incorrect value)ÚrangeÚlenÚerrorÚreprZItemÚappend)rÚcheckÚiÚcmpÚsr r r ÚTestEnumAgainst's4ÿÿÿÿ ÿÿrc CsØ|durdtjv}|stdƒtƒ}gd¢}t||ƒ|sBtdƒ|d}t|gd¢ƒ| | ¡d¡|svtdƒ|d=| d¡t||ƒ|sœtd ƒ| d ¡| d ¡t||ƒ|sÆtd ƒ|  d d ¡|  d d ¡t||ƒz|ƒt dƒ‚WnDt j �y>}z(|jtjk�r*t d|fƒ‚WYd}~n d}~00z|  dd ¡t dƒ‚WnDt j �yœ}z(|jtjk�rˆt d|fƒ‚WYd}~n d}~00z| | ¡¡t dƒ‚WnDt j �yü}z(|jtjk�rèt d|fƒ‚WYd}~n d}~00|�s tdƒtƒ}|D]}t dƒ‚�qz|d}t dƒ‚Wnt�yNYn0z|d}t dƒ‚Wnt�yxYn0z|dƒ}t dƒ‚WnDt j �yÒ}z(|jtjk�r¾t d|fƒ‚WYd}~n d}~00dS)Nz-vzSimple enum test)rrrzsub-collection testrr rzRemove item testz Add item testzNew ItemzInsert item testr éÿÿÿÿz9default method with no args worked when it shouldnt have!z&Expected DISP_E_BADPARAMCOUNT - got %sZfooz$Insert worked when it shouldnt have!z%Expected DISP_E_TYPEMISMATCH - got %sz$Remove worked when it shouldnt have!z!Expected DISP_E_BADINDEX - got %szEmpty collection testz!Empty list performed an iterationzEmpty list could be indexedr)ÚsysÚargvÚprintrrZRemoveZCountZAddrZInsertÚinsertrÚ pythoncomZ com_errorZhresultÚwinerrorZDISP_E_BADPARAMCOUNTZDISP_E_TYPEMISMATCHZDISP_E_BADINDEXr Ú IndexError)ÚquietrrrÚexcÚitemÚobr r r ÚTestEnumFs„           $  $ $    r)c@seZdZdd„ZdS)ÚTestCasecCs tƒdSr)r))Úselfr r r ÚtestEnum¡szTestCase.testEnumN)Ú__name__Ú __module__Ú __qualname__r,r r r r r* sr*Ú__main__)N)rr"Z pywintypesZwin32com.clientrZwin32com.server.utilZwin32com.test.utilr#ZUnicodeÚLZunittestrr rrr)Útestrr*r-Úmainr r r r Ús   Z