a XC?hs?@sbddlZddlZddlZddlmZddlmZmZmZm Z Gdddej Z e dkr^e dS)N)iscoroutinefunction) AsyncMockMock MagicMock_magicsc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAdBZ#dCdDZ$dES)FTestMockingMagicMethodscCsFt}|t|dt|_|t|d|`|t|ddS)N __getitem__)r assertFalsehasattrr assertTrueselfmockrL/opt/alt/python39/lib64/python3.9/unittest/test/testmock/testmagicmethods.pytest_deleting_magic_methods s z3TestMockingMagicMethods.test_deleting_magic_methodscsHt`|tfddtd`|tfdddS)NcsdSNfoorrrrrz.rcsdSrrrrrrr r)rr assertRaises TypeErrorr rrrtest_magicmock_delsz*TestMockingMagicMethods.test_magicmock_delcCsdt}dd}||_||j|||d|df||d|df||_||j|dS)NcSs|dfS)Nfishrr namerrrf%sz=TestMockingMagicMethods.test_magic_method_wrapping..frr)rrZ assertIsNot assertEqualZassertIs)r rrrrrtest_magic_method_wrapping#sz2TestMockingMagicMethods.test_magic_method_wrappingcsDt}tttgd|_|t|g|tfdddS)N return_valuecstSN)listrZmock2rrr7rzSTestMockingMagicMethods.test_magic_methods_isolated_between_mocks..)riter__iter__rr$rr)r Zmock1rr%r)test_magic_methods_isolated_between_mocks1s zATestMockingMagicMethods.test_magic_methods_isolated_between_mockscCs<t}|t|dt|dd|_|t|ddS)NzcSsdSrrsrrrr=rz3TestMockingMagicMethods.test_repr..r)rrreprid__repr__r rrr test_repr:s z!TestMockingMagicMethods.test_reprcCs:t}|t|t|dd|_|t|ddS)NcSsdSrrr)rrrrDrz2TestMockingMagicMethods.test_str..r)rrstrobject__str__r rrrtest_strAs z TestMockingMagicMethods.test_strcst|tfddfdd}fdd}|t||t|ifdd}fd d }fd d }|_|_|_|tfd ddd<|ddi|ddd=|idS)NcsdSrrrrrrrKrz;TestMockingMagicMethods.test_dict_methods..cs d=dSrrrrrr_delLsz7TestMockingMagicMethods.test_dict_methods.._delcs dd<dS)Nrrrrrr_setNsz7TestMockingMagicMethods.test_dict_methods.._setcs|Sr#rr*r_dictrrgetitemTsz:TestMockingMagicMethods.test_dict_methods..getitemcs ||<dSr#r)r*rvaluer7rrsetitemVsz:TestMockingMagicMethods.test_dict_methods..setitemcs |=dSr#rr6r7rrdelitemXsz:TestMockingMagicMethods.test_dict_methods..delitemcsdSrrrrrrr_rbarr)rrr __setitem__r __delitem__KeyErrorr)r r3r5r9r;r<r)r8rrtest_dict_methodsHs&       z)TestMockingMagicMethods.test_dict_methodscst}d_|tfddfdd}|_|d|jd`dd}|t||_d 7|||jd |tfd d|_|d |jd dS)NrcsdSNr4rrrrrrkrz6TestMockingMagicMethods.test_numeric..csj|7_|Sr#r:r otherrrraddmsz1TestMockingMagicMethods.test_numeric..addr4cSs |d7}dSrBrrrrriaddusz2TestMockingMagicMethods.test_numeric..iadd csdSrBrrrrrr}r)rr:rr__add__r__iadd____radd__)r originalrFrGrrr test_numericgs$   z$TestMockingMagicMethods.test_numericcst}d_|tfddfdd}|_|d|jd`dd }|t||_d |||jd|tfd d|_|d |jd dS)N csdS)Nrrrrrrrz7TestMockingMagicMethods.test_division..csj|_|Sr#rCrDrrrtruedivsz6TestMockingMagicMethods.test_division..truedivrRrKcSs |d}dS)Nrrrrritruedivsz7TestMockingMagicMethods.test_division..itruedivcsdS)NrVrrrrrrrg?rT)rr:rr __truediv__r __itruediv__ __rtruediv__)r rOrSrUrrr test_divisions$   z%TestMockingMagicMethods.test_divisioncCs>t}|t|t|dd}||_|t|ddS)NcSsdSrBrr)rrr_hashsz0TestMockingMagicMethods.test_hash.._hashr4)rrhash__hash__)r rr[rrr test_hashs z!TestMockingMagicMethods.test_hashcCs0t}|t|dd|_|t|dS)NcSsdS)NFrr)rrrrrz6TestMockingMagicMethods.test_nonzero..)rr bool__bool__r r mrrr test_nonzeros z$TestMockingMagicMethods.test_nonzerocCs"t}dd}||_|_|_|_||dk||dk||dk||dk|tdd|tdd|tdd|tdd|td d|td d|td d|td d|td d|tdd|tdd|tdddS)NcSsdS)NTrr*orrrcompsz5TestMockingMagicMethods.test_comparison..compr4cSs ttkSr#rr0rrrrrrz9TestMockingMagicMethods.test_comparison..cSs ttkSr#r0rrrrrrrcSs ttkSr#rrrrrrrcSs ttkSr#rgrrrrrrcSs ttkSr#rhrrrrrrcSs ttkSr#rirrrrrrcSs ttkSr#rgrrrrrrcSs ttkSr#rhrrrrrrcSs ttkSr#rirrrrrrcSs ttkSr#rgrrrrrrcSs ttkSr#rhrrrrrrcSs ttkSr#rirrrrrr)r__lt____gt____le____ge__r rr)r rrfrrrtest_comparisons&z'TestMockingMagicMethods.test_comparisoncCs$ttfD]}|||kd|||kt|||kd|||kt||tkd||tkddd}||_||dk||dkdd}||_ ||dk||dkq t}d|j_ ||dkt||dkdd|j _ ||dkt||dkddS) NTFcSs|dkSrBrrDrrreqsz1TestMockingMagicMethods.test_equality..eqr4rTcSs|dkSrBrrDrrrnesz1TestMockingMagicMethods.test_equality..ne) rrrassertIsInstancer_r0__eq__r r __ne__r")r rrorprrr test_equalitys,z%TestMockingMagicMethods.test_equalitycst|tt|tt|tfdddd_|tddd_|d| ddd_ |t t ddS) NcsdvSrrrrrrrrz@TestMockingMagicMethods.test_len_contains_iter..cSsdS)NrHrr)rrrrrrHcSs|dkSrBrrdrrrrrr4cSstdS)N foobarbaz)r&r)rrrrrru) rrrlenr&__len__r __contains__ZassertIn assertNotInr'r$rrrrtest_len_contains_iters     z.TestMockingMagicMethods.test_len_contains_itercCst}tgd|j_|t|gddt|d_|t|d|t |t D]}| t||qX|t|ddS)NrRr4Fr`Z __nonzero__Z __imaginary__) rr&r'r"rr$getattrr r r_rr )r rentryrrrtest_magicmocks z&TestMockingMagicMethods.test_magicmockcCsrt}||tkt||tkt||tkd||tkd|||kd|||kddS)NFT)rrqr0r_rr rrrtest_magic_mock_equalitysz0TestMockingMagicMethods.test_magic_mock_equalitycCsTt}|t|d|t|d|t|d|t||t|d|t|g|t |t ||t |t || t||t|||t|||t|||t||| t|j| t|j||jt||jt|t|d|t|ddSNr|y?g?rZ0o1Z0x1)rrintcomplexfloatryr0rvr$r\r]r/r1r r_round __round__mathtrunc __trunc__floor __floor__ceil__ceil__r __aexit__ __aenter__rqocthexr rrrtest_asyncmock_defaultss(z/TestMockingMagicMethods.test_asyncmock_defaultscCsTt}|t|d|t|d|t|d|t||t|d|t|g|t |t ||t |t || t||t|||t|||t|||t||| t|j| t|j||jt||jt|t|d|t|ddSr)rrrrrryr0rvr$r\r]r/r1r r_rrrrrrrrrrrrrqrrrr rrrtest_magicmock_defaults+s(z/TestMockingMagicMethods.test_magicmock_defaultscCs6t}|}||t|||jdSr#)r __fspath__ reset_mockrosfspathZassert_called_once)r rZ expected_pathrrrtest_magic_methods_fspathFs z1TestMockingMagicMethods.test_magic_methods_fspathcsGdddt}t|d|tfddttgd_|tgGdddt}t|d|tfd dfd d }|t|t|d|tg|t|dS) Nc@seZdZddZdS)zETestMockingMagicMethods.test_magic_methods_and_spec..IterablecSsdSr#rrrrrr'QrzNTestMockingMagicMethods.test_magic_methods_and_spec..Iterable.__iter__N__name__ __module__ __qualname__r'rrrrIterablePsr)speccsjSr#r'rrrrrTrzETestMockingMagicMethods.test_magic_methods_and_spec..r!c@s eZdZdS)zHTestMockingMagicMethods.test_magic_methods_and_spec..NonIterableNrrrrrrr NonIterableYsrcsjSr#rrrrrr\rcsttgd_dSNr!rr&__int__rrrrset_int^szDTestMockingMagicMethods.test_magic_methods_and_spec..set_int r0rrAttributeErrorr&r'rr$rr rrrrrrtest_magic_methods_and_specOs     z3TestMockingMagicMethods.test_magic_methods_and_speccsGdddt}t|d|tfddttgd_|tgGdddt}t|d|tfd dfd d }|t|t|d|tg|t|dS) Nc@seZdZddZdS)zITestMockingMagicMethods.test_magic_methods_and_spec_set..IterablecSsdSr#rrrrrr'irzRTestMockingMagicMethods.test_magic_methods_and_spec_set..Iterable.__iter__Nrrrrrrhsr)Zspec_setcsjSr#rrrrrrlrzITestMockingMagicMethods.test_magic_methods_and_spec_set..r!c@s eZdZdS)zLTestMockingMagicMethods.test_magic_methods_and_spec_set..NonIterableNrrrrrrqsrcsjSr#rrrrrrtrcsttgd_dSrrrrrrrvszHTestMockingMagicMethods.test_magic_methods_and_spec_set..set_intrrrrrtest_magic_methods_and_spec_setgs     z7TestMockingMagicMethods.test_magic_methods_and_spec_setcs$tfdd}|td|dS)Ncsdd_dS)NcSsdSr#rrrrrrrzdTestMockingMagicMethods.test_setting_unsupported_magic_method..set_setattr..) __setattr__rrrr set_setattrszRTestMockingMagicMethods.test_setting_unsupported_magic_method..set_setattrz9Attempting to set unsupported magic method '__setattr__'.)rZassertRaisesRegexr)r rrrr%test_setting_unsupported_magic_methods  z=TestMockingMagicMethods.test_setting_unsupported_magic_methodcCs>t}|j}dd}|||t|}|||tdS)NcSst|jdS)Nr|)type__mro__)objrrr _get_typeszKTestMockingMagicMethods.test_attributes_and_return_value.._get_type)rrr)r rattrrZreturnedrrr test_attributes_and_return_values z8TestMockingMagicMethods.test_attributes_and_return_valuecCs@t}||jtd|ddj_||dddddS)Nr4r|rR)rrqrr"rr rrr"test_magic_methods_are_magic_mockssz:TestMockingMagicMethods.test_magic_methods_are_magic_mockscCs6t}t|||jj|||jjdSr#)rr/r r1Zcalledrr r rrrtest_magic_method_reset_mocks z4TestMockingMagicMethods.test_magic_method_reset_mockcCs6ttfD]$}dd}||_|t|dgq dS)NcSsdgSrrrrrr_dirsz.TestMockingMagicMethods.test_dir.._dirr)rr__dir__rdir)r rrrrrtest_dirsz TestMockingMagicMethods.test_dircCs"t}dgj|_|tt|dSrB)rr'rrr&rarrrtest_bound_methodss z*TestMockingMagicMethods.test_bound_methodscCs(Gdddt}|}||j|dS)Nc@s eZdZdS)z;TestMockingMagicMethods.test_magic_method_type..FooNrrrrrFoosr)rrqr)r rrrrrtest_magic_method_typesz.TestMockingMagicMethods.test_magic_method_typecCs&t}dt|j_|t|ddSr)rrr1r"rr/rarrrtest_descriptor_from_classs z2TestMockingMagicMethods.test_descriptor_from_classcCsrt}gd|j_|t|gd|t|gdtgd|j_|t|gd|t|gdS)Nr{)rTrH)rr'r"rr$r&rarrr"test_iterable_as_iter_return_values z:TestMockingMagicMethods.test_iterable_as_iter_return_valuecCsft}||dtd|j_d|j_d|j_||dd|d|d|d}||ddS)Nr|*i)rrq __matmul__r" __rmatmul__ __imatmul__rrarrr test_matmulsz#TestMockingMagicMethods.test_matmulcCst}|td|td|j_|t|ddt}td|}||t|d}||tt|d}||t|d}||tdS)Nr)rRr|rR)rrqdivmod __divmod__r"r __rdivmod__)r rbrZ foo_directr=Z bar_directrrrtest_divmod_and_rdivmods       z/TestMockingMagicMethods.test_divmod_and_rdivmodcCs&tfiddi}|t|ddS)N__str__.return_value12)rrr/rarrrtest_magic_in_initializationsz4TestMockingMagicMethods.test_magic_in_initializationcCsdtfiddi}d|j_|t|dtfiddi}|jfiddi|t|ddS)NrrZ13Z14)rr1r"rr/Zconfigure_mockrarrr)test_changing_magic_set_in_initializations zATestMockingMagicMethods.test_changing_magic_set_in_initializationN)%rrrrrr r(r.r2rArPrZr^rcrnrtrzrrrrrrrrrrrrrrrrrrrrrrrrr sD            r__main__)rZunittestrZasynciorZ unittest.mockrrrrZTestCaserrmainrrrrs v