a oe; @sddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddZ ddZ ddZ d dd Z Gd d d ejjjZed kredS)NcCs tjdS)NPython.Dictionary)win32comZclientZDispatchrr=C:\Program Files\Certbot\pkgs\win32com\test\testDictionary.pyMakeTestDictionarysrcCsLt|D]:\}}|||kr tdt|t||t||fq dS)Nz2Indexing for '%s' gave the incorrect value - %s/%s)listitems Exceptionrepr)dictcheckkeyvaluerrrTestDictAgainsts rcCs(ddl}ddlm}||jjjddS)Nr)RegisterPythonServerr)Zwin32com.servers.dictionarywin32com.test.utilrZserversZ dictionary__file__)quietrrrrrRegisters rc Cs|durdtjv}t||s&tdt}i}t||d|d<d|d<t||d|d<|d=t||t}|jt |j ddd}||d<||d<t|||stdz|t d WnRt j y}z6|j\}}}}|tjkrt d ||fWYd}~n d}~00z|d d t d WnRt j y} z6| j\}}}}|tjkrnt d ||fWYd} ~ n d} ~ 00z|dt dWnRt j y} z6| j\}}}}|tjkrt d||fWYd} ~ n d} ~ 00|stddS)Nz-vzSimple enum testZNewValueZNewKeyi) microsecondZNowz Failure testsz9default method with no args worked when it shouldnt have!z+Expected DISP_E_BADPARAMCOUNT - got %d (%s)hiZtherez+multiple args worked when it shouldnt have!rz%int key worked when it shouldnt have!z*Expected DISP_E_TYPEMISMATCH - got %d (%s)z!Python.Dictionary tests complete.)sysargvrprintrr win32timezonenowreplaceroundrr pythoncomZ com_errorargswinerrorZDISP_E_BADPARAMCOUNTZDISP_E_TYPEMISMATCH) rr Z checkDictrZxxx_todo_changemehrZdescexcZargErrZxxx_todo_changeme1Zxxx_todo_changeme2rrrTestDict$sX       &   &  &r#c@seZdZddZdS)TestCasecCs tdS)N)r#)selfrrrtestDict^szTestCase.testDictN)__name__ __module__ __qualname__r&rrrrr$]sr$__main__)N)rZunittestrZ pywintypesZwin32com.clientrZwin32com.server.utilrrr rrrr#testutilr$r'mainrrrrs  9