a 4êdg’ã@sÀddlZddlZddlmZGdd„dƒZGdd„deƒZGdd„deƒZGd d „d eƒZGd d „d eƒZ Gd d„deƒZ Gdd„deƒZ Gdd„de ƒZ Gdd„dej ƒZedkr¼e ¡dS)éN)ÚExtensionSaverc@s eZdZdS)ÚCN©Ú__name__Ú __module__Ú __qualname__©rrú-/usr/local/lib/python3.9/test/test_copyreg.pyrsrc@s eZdZdS)Ú WithoutSlotsNrrrrr r sr c@seZdZdZdS)Ú WithWeakref)Ú __weakref__N©rrrÚ __slots__rrrr r sr c@seZdZdZdS)Ú WithPrivate©Ú__spamNr rrrr rsrc@seZdZdZdS)Ú _WithLeadingUnderscoreAndPrivaterNr rrrr rsrc@seZdZdZdS)Ú___rNr rrrr rsrc@seZdZdZdS)ÚWithSingleStringÚspamNr rrrr rsrc@seZdZdZdS)Ú WithInherited)ÚeggsNr rrrr rsrc@s<eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd S)ÚCopyRegTestCasecCs| ttjtdd¡dS)N)Ú assertRaisesÚ TypeErrorÚcopyregÚpickler©Úselfrrr Ú test_class"s ÿzCopyRegTestCase.test_classcCs| ttjtdƒd¡dS©Néznot a callable)rrrrÚtyperrrr Útest_noncallable_reduce&s ÿz'CopyRegTestCase.test_noncallable_reducecCs| ttjtdƒtd¡dSr )rrrrr"Úintrrrr Útest_noncallable_constructor*s  ÿz,CopyRegTestCase.test_noncallable_constructorcCsddl}| d| d¡¡dS)NrT)ÚcopyÚ assertEqual)rr&rrr Ú test_bool.szCopyRegTestCase.test_boolc Csðd\}}}t|ƒ}zR| ttj|||¡t |||¡| tj||f|k¡| tj|||fk¡|  |tj ¡t |||¡| ttj|||d¡| ttj|||d¡| ttj|dd…||¡| ttj|dd…||¡| ttj||dd…|¡| ttj||dd…|¡|dtjvr\| ttj|dd…|dd…|d¡W|  ¡n |  ¡0|  ||ftj¡dD]B}t|ƒ}z(t |||¡t |||¡W|  ¡n |  ¡0qˆdD]}| ttj|||¡qÐdS)N)zjunk1 z junk2iÍ«r!)r!iÿÿÿ)éÿÿÿÿrl) rrÚ ValueErrorrÚremove_extensionÚ add_extensionZ assertTrueÚ_extension_registryÚ_inverted_registryZ assertNotInÚ_extension_cacheZrestore)rÚmodÚfuncÚcodeÚerrr Útest_extension_registry2sZ  ÿ  ÿ  ÿ ÿ ÿ ÿ ÿ ÿ ÿz'CopyRegTestCase.test_extension_registrycCs®| t t¡g¡| t t¡g¡dg}| t t¡|¡dg}| t t¡|¡| t t¡dg¡| t t¡dg¡ddg}|  ¡t t ¡}|  ¡| ||¡dS)NZ_WithPrivate__spamZ&_WithLeadingUnderscoreAndPrivate__spamrrr) r'rÚ _slotnamesr r rrrrÚsortr)rZexpectedÚresultrrr Útest_slotnamesls ÿ zCopyRegTestCase.test_slotnamesN) rrrrr#r%r(r4r8rrrr r s :rÚ__main__)rZunittestZtest.pickletesterrrÚobjectr r rrrrrZTestCaserrÚmainrrrr Ús ]