o =?hs?@sfddlZddlZddlZddlmZddlmZmZmZm Z Gdddej Z e dkr1e dSdS)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 assertTrueselfmockrN/opt/alt/python310/lib64/python3.10/unittest/test/testmock/testmagicmethods.pytest_deleting_magic_methods s z3TestMockingMagicMethods.test_deleting_magic_methodscsHt`|tfddtd`|tfdddS)NcdSNfoorrrrrz.rcrrrrrrrr r)rr assertRaises TypeErrorr rrrtest_magicmock_delsz*TestMockingMagicMethods.test_magicmock_delcCsdt}dd}||_||j|||d|df||d|df||_||j|dS)NcSs|dfS)Nfishrr namerrrf%z=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__r!r&rr)r Zmock1rr'r)test_magic_methods_isolated_between_mocks1s zATestMockingMagicMethods.test_magic_methods_isolated_between_mockscCs<t}|t|dt|dd|_|t|ddS)NzcSdSrrsrrrr=z3TestMockingMagicMethods.test_repr..r)rr!reprid__repr__r rrr test_repr:s z!TestMockingMagicMethods.test_reprcCs:t}|t|t|dd|_|t|ddS)NcSr+rrr,rrrrDr.z2TestMockingMagicMethods.test_str..r)rr!strobject__str__r rrrtest_strAs z TestMockingMagicMethods.test_strcst|tfddfdd}fdd}|t||t|ifdd}fd d }fd d }|_|_|_|tfd ddd<|ddi|ddd=|idS)NcrrrrrrrrKrz;TestMockingMagicMethods.test_dict_methods..cs d=dSrrrrrr_delL z7TestMockingMagicMethods.test_dict_methods.._delcs dd<dS)Nrrrrrr_setN z7TestMockingMagicMethods.test_dict_methods.._setcs|Sr%rr-r_dictrrgetitemTr z:TestMockingMagicMethods.test_dict_methods..getitemcs ||<dSr%r)r-rvaluer=rrsetitemVr;z:TestMockingMagicMethods.test_dict_methods..setitemcs |=dSr%rr<r=rrdelitemXr8z:TestMockingMagicMethods.test_dict_methods..delitemcrrrrrrrr_rbarr)rrr __setitem__r __delitem__KeyErrorr!)r r7r:r?rArBr)r>rrtest_dict_methodsHs&       z)TestMockingMagicMethods.test_dict_methodscst}d_|tfddfdd}|_|d|jd`dd}|t||_d 7|||jd |tfd d|_|d |jd dS)NrcsdSNr9rrrrrrkrz6TestMockingMagicMethods.test_numeric..csj|7_|Sr%r@r otherrrraddmz1TestMockingMagicMethods.test_numeric..addr9cSs |d7}dSrHrrrrriaddur;z2TestMockingMagicMethods.test_numeric..iadd csdSrHrrrrrr}r)rr@rr__add__r!__iadd____radd__)r originalrLrNrrr 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%rIrJrrrtruedivrMz6TestMockingMagicMethods.test_division..truedivrYrRcSs |d}dS)Nrrrrritruedivr;z7TestMockingMagicMethods.test_division..itruedivcsdS)Nr]rrrrrrrg?r[)rr@rr __truediv__r! __itruediv__ __rtruediv__)r rVrZr\rrr test_divisions$   z%TestMockingMagicMethods.test_divisioncCs>t}|t|t|dd}||_|t|ddS)NcSr+rHrr,rrr_hashz0TestMockingMagicMethods.test_hash.._hashr9)rr!hash__hash__)r rrbrrr test_hashs z!TestMockingMagicMethods.test_hashcCs0t}|t|dd|_|t|dS)NcSr+)NFrr,rrrrr.z6TestMockingMagicMethods.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)NcSr+)NTrr-orrrcomprcz5TestMockingMagicMethods.test_comparison..compr9cS ttkSr%rr4rrrrr z9TestMockingMagicMethods.test_comparison..cSror%r4rrrrrrrqcSs ttkSr%rrrrrrrqcS ttkSr%rprrrrrrqcSrtr%rrrrrrrrqcSs ttkSr%rsrrrrrrqcS ttkSr%rprrrrrrqcSrur%rrrrrrrrqcSs ttkSr%rsrrrrrrqcS ttkSr%rprrrrrrqcSrvr%rrrrrrrrqcSs ttkSr%rsrrrrrrq)r__lt____gt____le____ge__r rr)r rrnrrrtest_comparisons&z'TestMockingMagicMethods.test_comparisoncCs$ttfD]^}|||kd|||kt|||kd|||kt||tkd||tkddd}||_||dk||dkdd}||_ ||dk||dkqt}d|j_ ||dkt||dkdd|j _ ||dkt||dkddS) NTFcS|dkSrHrrJrrreqr z1TestMockingMagicMethods.test_equality..eqr9r[cSr|rHrrJrrrner z1TestMockingMagicMethods.test_equality..ne) rrr!assertIsInstancergr4__eq__r r __ne__r$)r rr}r~rrr test_equalitys,z%TestMockingMagicMethods.test_equalitycst|tt|tt|tfdddd_|tddd_|d| ddd_ |t t ddS) NcsdvSrrrrrrrrz@TestMockingMagicMethods.test_len_contains_iter..cSr+)NrOrr,rrrrr.rOcSr|rHrrlrrrrrr9cSstdS)N foobarbaz)r(r,rrrrrr) 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||q,|t|ddS)NrYr9FrhZ __nonzero__Z __imaginary__) rr(r)r$r!r&getattrr r rgrr )r rentryrrrtest_magicmocks z&TestMockingMagicMethods.test_magicmockcCsrt}||tkt||tkt||tkd||tkd|||kd|||kddS)NFT)rrr4rgr!r 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|ddSNry?g?rZ0o1Z0x1)rr!intcomplexfloatrr4rr&rdrer3r5r rground __round__mathtrunc __trunc__floor __floor__ceil__ceil__r __aexit__ __aenter__rocthexr rrrtest_asyncmock_defaults(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)rr!rrrrr4rr&rdrer3r5r rgrrrrrrrrrrrrrrrrr rrrtest_magicmock_defaults+rz/TestMockingMagicMethods.test_magicmock_defaultscCs6t}|}||t|||jdSr%)r __fspath__ reset_mockr!osfspathZassert_called_once)r rZ expected_pathrrrtest_magic_methods_fspathFs z1TestMockingMagicMethods.test_magic_methods_fspathcGdddt}t|d|tfddttgd_|tgGdddt}t|d|tfd dfd d }|t|t|d|tg|t|dS) Nc@eZdZddZdS)zETestMockingMagicMethods.test_magic_methods_and_spec..IterablecSdSr%rrrrrr)Qr.zNTestMockingMagicMethods.test_magic_methods_and_spec..Iterable.__iter__N__name__ __module__ __qualname__r)rrrrIterableP r)speccjSr%r)rrrrrTzETestMockingMagicMethods.test_magic_methods_and_spec..r#c@ eZdZdS)zHTestMockingMagicMethods.test_magic_methods_and_spec..NonIterableNrrrrrrr NonIterableYrcrr%rrrrrr\rcttgd_dSNr#rr(__int__rrrrset_int^zDTestMockingMagicMethods.test_magic_methods_and_spec..set_int r4rrAttributeErrorr(r)r!r&rr rrrrrrtest_magic_methods_and_specO     z3TestMockingMagicMethods.test_magic_methods_and_speccr) Nc@r)zITestMockingMagicMethods.test_magic_methods_and_spec_set..IterablecSrr%rrrrrr)ir.zRTestMockingMagicMethods.test_magic_methods_and_spec_set..Iterable.__iter__Nrrrrrrhrr)Zspec_setcrr%rrrrrrlrzITestMockingMagicMethods.test_magic_methods_and_spec_set..r#c@r)zLTestMockingMagicMethods.test_magic_methods_and_spec_set..NonIterableNrrrrrrqrrcrr%rrrrrrtrcrrrrrrrrvrzHTestMockingMagicMethods.test_magic_methods_and_spec_set..set_intrrrrrtest_magic_methods_and_spec_setgrz7TestMockingMagicMethods.test_magic_methods_and_spec_setcs$tfdd}|td|dS)Ncsdd_dS)NcSrr%rrrrrrr.zdTestMockingMagicMethods.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)Nr9rrY)rrrr$r!r rrr"test_magic_methods_are_magic_mockssz:TestMockingMagicMethods.test_magic_methods_are_magic_mockscCs6t}t|||jj|||jjdSr%)rr3r r5Zcalledrr r rrrtest_magic_method_reset_mocks z4TestMockingMagicMethods.test_magic_method_reset_mockcCs6ttfD]}dd}||_|t|dgqdS)NcSsdgSrrrrrr_dirsz.TestMockingMagicMethods.test_dir.._dirr)rr__dir__r!dir)r rrrrrtest_dirs z TestMockingMagicMethods.test_dircCs"t}dgj|_|tt|dSrH)rr)rrr(rirrrtest_bound_methodss z*TestMockingMagicMethods.test_bound_methodscCs(Gdddt}|}||j|dS)Nc@r)z;TestMockingMagicMethods.test_magic_method_type..FooNrrrrrFoorr)rrr)r rrrrrtest_magic_method_typesz.TestMockingMagicMethods.test_magic_method_typecCs&t}dt|j_|t|ddSr)rrr5r$r!r3rirrrtest_descriptor_from_classs z2TestMockingMagicMethods.test_descriptor_from_classcCsrt}gd|j_|t|gd|t|gdtgd|j_|t|gd|t|gdS)Nr)r[rO)rr)r$r!r&r(rirrr"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)rr __matmul__r$ __rmatmul__ __imatmul__r!rirrr test_matmulsz#TestMockingMagicMethods.test_matmulcCst}|td|td|j_|t|ddt}td|}||t|d}||tt|d}||t|d}||tdS)Nr)rYrrY)rrdivmod __divmod__r$r! __rdivmod__)r rjrZ foo_directrCZ bar_directrrrtest_divmod_and_rdivmods       z/TestMockingMagicMethods.test_divmod_and_rdivmodcCs&tdiddi}|t|ddS)N__str__.return_value12r)rr!r3rirrrtest_magic_in_initializationsz4TestMockingMagicMethods.test_magic_in_initializationcCsdtdiddi}d|j_|t|dtdiddi}|jdiddi|t|ddS)NrrZ13Z14r)rr5r$r!r3Zconfigure_mockrirrr)test_changing_magic_set_in_initializations zATestMockingMagicMethods.test_changing_magic_set_in_initializationN)%rrrrrr"r*r2r6rGrWrarfrkr{rrrrrrrrrrrrrrrrrrrrrrrrrrr sF             r__main__)rZunittestrZasynciorZ unittest.mockrrrrZTestCaserrmainrrrrs v