a „oeaã@s¤ddlZddlmZddlmZdadd„Zdd„Zd d „ZGd d „d ƒZ Gd d„dƒZ Gdd„dƒZ Gdd„dƒZ dd„Z dd„Zdd„Zedkr eƒeƒdS)éN)Úwrapé)Ú CheckCleancCs8t|ƒ ¡ddd…}t|ƒ ¡ddd…}||kS)Nééÿÿÿÿ)ÚreprÚsplit)Úob1Úob2Zaddr1Zaddr2©r úCC:\Program Files\Certbot\pkgs\win32com\test\testGatewayAddresses.pyÚCheckSameCOMObject.sr cCs"| tj¡}| tj¡}t||ƒS©N)ÚQueryInterfaceÚ pythoncomÚ IID_IUnknownr )r r Zu1Zu2r r r ÚCheckObjectIdentity5s  rcCs0t||ƒs,tdat|dt|ƒt|ƒfƒdS)Nrzare not identical (%s, %s))rÚ numErrorsÚprintr)r r Zwhenr r r ÚFailObjectIdentity;s rc@seZdZgZejgZdS)ÚDummyN)Ú__name__Ú __module__Ú __qualname__Ú_public_methods_rÚIID_IPersistStorageÚ_com_interfaces_r r r r rBsrc@seZdZgZejejgZdS)ÚDummy2N)rrrrrrÚIID_IExternalConnectionrr r r r rGsþrc@seZdZgZdS)ÚDeletgatedDummyN)rrrrr r r r rOsrc@s eZdZgZejgZdd„ZdS)ÚDummy3cCs|tjkrttƒƒSdSr)rrrZDelegatedDummy)ÚselfZiidr r r Ú_query_interface_Ws zDummy3._query_interface_N)rrrrrrrr"r r r r r Ssr cCsºttƒtjƒ}| tj¡}t||dƒ| tj¡}t||dƒt||dƒ| tj¡}t||dƒt||dƒt||dƒ| tj¡}t||dƒt||dƒt||d ƒt||d ƒdS) Nz!IID_IPersistStorage->IID_IUnknownzIID_IUnknown->IID_IDispatchz"IID_IPersistStorage->IID_IDispatchz+IID_IPersistStorage->IID_IPersistStorage(2)z$IID_IUnknown->IID_IPersistStorage(2)z%IID_IDispatch->IID_IPersistStorage(2)z!IID_IPersistStorage->IID_IPersistzIID_IUnknown->IID_IPersistzIID_IDispatch->IID_IPersistz$IID_IPersistStorage(2)->IID_IPersist) rrrrrrrZ IID_IDispatchZ IID_IPersist)ÚoÚo2Úo3Zo4Zo5r r r ÚTestGatewayInheritance]s             r&cCsrttƒtjƒ}| tj¡}t||dƒ| tj¡}t||dƒt||dƒ| tj¡}t||dƒt||dƒdS)Nz,IID_IPersistStorage->IID_IExternalConnectionz8IID_IPersistStorage->IID_IExternalConnection (stability)z,IID_IExternalConnection->IID_IPersistStoragezAIID_IPersistStorage->IID_IExternalConnection->IID_IPersistStorage)rrrrrrr)r#r$Zo22r%r r r ÚTestMultiInterfacevs    ÿ  ÿr'cCs.tƒtƒtdkrtdƒn tdtdƒdS)Nrz Worked okz There werezerrors.)r&r'rrr r r r ÚtestŠs  r(Ú__main__)rZwin32com.server.utilrÚutilrrr rrrrrr r&r'r(rr r r r Ú%s