U .c?@sfddlZddlZddlZddlZddlZddlmZmZmZm Z Gdddej Z e dkrbe dS)N) AsyncMockMock MagicMock_magicsc@s.eZdZddZddZddZddZd 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/d0Zd1d2Zd3d4Zed5ej kd6d7d8Z!d9d:Z"d;d<Z#d=d>Z$d?d@Z%dAdBZ&dCdDZ'dEdFZ(dGS)HTestMockingMagicMethodscCsFt}|t|dt|_|t|d|`|t|ddS)N __getitem__)r assertFalsehasattrr assertTrueselfmockrL/opt/alt/python38/lib64/python3.8/unittest/test/testmock/testmagicmethods.pytest_deleting_magic_methods s z3TestMockingMagicMethods.test_deleting_magic_methodscsHt`|tfddtd`|tfdddS)NcsdSNfoorrr rrz.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 r rrrrtest_magic_method_wrapping$sz2TestMockingMagicMethods.test_magic_method_wrappingcsDt}tttgd|_|t|g|tfdddS)N return_valuecstSN)listrZmock2rrr8rzSTestMockingMagicMethods.test_magic_methods_isolated_between_mocks..)riter__iter__rr#rr)r Zmock1rr$r)test_magic_methods_isolated_between_mocks2s 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(rrrrErz2TestMockingMagicMethods.test_str..r)rrstrobject__str__r rrrtest_strBs z TestMockingMagicMethods.test_strcst|tfddfdd}fdd}|t||t|ifdd}fd d }fd d }|_|_|_|tfd ddd<|ddi|ddd=|idS)NcsdSrrrrrrrLrz;TestMockingMagicMethods.test_dict_methods..cs d=dSrrrrrr_delMsz7TestMockingMagicMethods.test_dict_methods.._delcs dd<dS)Nrrrrrr_setOsz7TestMockingMagicMethods.test_dict_methods.._setcs|Sr"rr)r_dictrrgetitemUsz:TestMockingMagicMethods.test_dict_methods..getitemcs ||<dSr"r)r)rvaluer6rrsetitemWsz:TestMockingMagicMethods.test_dict_methods..setitemcs |=dSr"rr5r6rrdelitemYsz:TestMockingMagicMethods.test_dict_methods..delitemcsdSrrrrrrr`rbarr)rrr __setitem__r __delitem__KeyErrorr)r r2r4r8r:r;r)r7r rtest_dict_methodsIs&       z)TestMockingMagicMethods.test_dict_methodscst}d_|tfddfdd}|_|d|jd`dd}|t||_d 7|||jd |tfd d|_|d |jd dS)NrcsdSNr3rrrrrrlrz6TestMockingMagicMethods.test_numeric..csj|7_|Sr"r9r otherrrraddnsz1TestMockingMagicMethods.test_numeric..addr3cSs |d7}dSrArrrrriaddvsz2TestMockingMagicMethods.test_numeric..iadd csdSrArrrrrr~r)rr9rr__add__r__iadd____radd__)r originalrErFrrr test_numerichs$   z$TestMockingMagicMethods.test_numericcst}d_|tfddfdd}|_|d|jd`dd }|t||_d |||jd|tfd d|_|d |jd dS)N csdS)Nrrrrrrrz7TestMockingMagicMethods.test_division..csj|_|Sr"rBrCrrrtruedivsz6TestMockingMagicMethods.test_division..truedivrQrJcSs |d}dS)Nrrrrritruedivsz7TestMockingMagicMethods.test_division..itruedivcsdS)NrUrrrrrrrg?rS)rr9rr __truediv__r __itruediv__ __rtruediv__)r rNrRrTrrr test_divisions$   z%TestMockingMagicMethods.test_divisioncCs>t}|t|t|dd}||_|t|ddS)NcSsdSrArr(rrr_hashsz0TestMockingMagicMethods.test_hash.._hashr3)rrhash__hash__)r r rZrrr test_hashs z!TestMockingMagicMethods.test_hashcCs0t}|t|dd|_|t|dS)NcSsdS)NFrr(rrrrrz6TestMockingMagicMethods.test_nonzero..)rr bool__bool__rr 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..compr3cSs ttkSr"rr/rrrrrrz9TestMockingMagicMethods.test_comparison..cSs ttkSr"r/rrrrrrrcSs ttkSr"rrrrrrrcSs ttkSr"rfrrrrrrcSs ttkSr"rgrrrrrrcSs ttkSr"rhrrrrrrcSs ttkSr"rfrrrrrrcSs ttkSr"rgrrrrrrcSs ttkSr"rhrrrrrrcSs ttkSr"rfrrrrrrcSs ttkSr"rgrrrrrrcSs ttkSr"rhrrrrrr)r__lt____gt____le____ge__r rr)r r rerrrtest_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|dkSrArrCrrreqsz1TestMockingMagicMethods.test_equality..eqr3rScSs|dkSrArrCrrrnesz1TestMockingMagicMethods.test_equality..ne) rrrassertIsInstancer^r/__eq__r r__ne__r!)r r rnrorrr test_equalitys,z%TestMockingMagicMethods.test_equalitycst|tt|tt|tfdddd_|tddd_|d| ddd_ |t t ddS) NcsdkSrrrrrrrrz@TestMockingMagicMethods.test_len_contains_iter..cSsdS)NrGrr(rrrrrrGcSs|dkSrArrcrrrrrr3cSstdS)N foobarbaz)r%r(rrrrrrt) rrrlenr%__len__r __contains__ZassertIn assertNotInr&r#rrrrtest_len_contains_iters     z.TestMockingMagicMethods.test_len_contains_itercCst}tdddg|j_|t|dddgdt|d_|t|d|t |t D]}| t||q\|t|ddS)NrQr3Fr_Z __nonzero__Z __imaginary__) rr%r&r!rr#getattrrr r^rr )r r entryrrrtest_magicmocks z&TestMockingMagicMethods.test_magicmockcCsrt}||tkt||tkt||tkd||tkd|||kd|||kddS)NFT)rrpr/r^rr rrrtest_magic_mock_equalitysz0TestMockingMagicMethods.test_magic_mock_equalitycCsXt}|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|ddSNrzy?g?rZ0o1Z0x1)rrintcomplexfloatrxr/rur#r[r\r.r0r r^round __round__mathtrunc __trunc__floor __floor__ceil__ceil__asyncioiscoroutinefunction __aexit__ __aenter__rpocthexr rrrtest_asyncmock_defaultss(z/TestMockingMagicMethods.test_asyncmock_defaultscCsXt}|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) rrrrrrxr/rur#r[r\r.r0r r^rrrrrrrrrrrrrrprrrr rrrtest_magicmock_defaults,s(z/TestMockingMagicMethods.test_magicmock_defaultscCs6t}|}||t|||jdSr")r __fspath__ reset_mockrosfspathZassert_called_once)r r Z expected_pathrrrtest_magic_methods_fspathGs 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&RrzNTestMockingMagicMethods.test_magic_methods_and_spec..Iterable.__iter__N__name__ __module__ __qualname__r&rrrrIterableQsr)speccsjSr"r&rrrrrUrzETestMockingMagicMethods.test_magic_methods_and_spec..r c@s eZdZdS)zHTestMockingMagicMethods.test_magic_methods_and_spec..NonIterableNrrrrrrr NonIterableZsrcsjSr"rrrrrr]rcsttgd_dSNr rr%__int__rrrrset_int_szDTestMockingMagicMethods.test_magic_methods_and_spec..set_int r/rrAttributeErrorr%r&rr#rr rrrrrrtest_magic_methods_and_specPs     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&jrzRTestMockingMagicMethods.test_magic_methods_and_spec_set..Iterable.__iter__Nrrrrrrisr)Zspec_setcsjSr"rrrrrrmrzITestMockingMagicMethods.test_magic_methods_and_spec_set..r c@s eZdZdS)zLTestMockingMagicMethods.test_magic_methods_and_spec_set..NonIterableNrrrrrrrsrcsjSr"rrrrrrurcsttgd_dSrrrrrrrwszHTestMockingMagicMethods.test_magic_methods_and_spec_set..set_intrrrrrtest_magic_methods_and_spec_seths     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)Nrz)type__mro__)objrrr _get_typeszKTestMockingMagicMethods.test_attributes_and_return_value.._get_type)rrr)r r attrrZreturnedrrr test_attributes_and_return_values z8TestMockingMagicMethods.test_attributes_and_return_valuecCs@t}||jtd|ddj_||dddddS)Nr3rzrQ)rrprr!rr rrr"test_magic_methods_are_magic_mockssz:TestMockingMagicMethods.test_magic_methods_are_magic_mockscCs6t}t|||jj|||jjdSr")rr.r r0Zcalledrrr 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 r rrrrtest_dirsz TestMockingMagicMethods.test_dirZPyPyzThis fails differently on pypycCs"t}dgj|_|tt|dSrA)rr&rrr%r`rrrtest_bound_methodss z*TestMockingMagicMethods.test_bound_methodscCs(Gdddt}|}||j|dS)Nc@s eZdZdS)z;TestMockingMagicMethods.test_magic_method_type..FooNrrrrrFoosr)rrpr)r rrrrrtest_magic_method_typesz.TestMockingMagicMethods.test_magic_method_typecCs&t}dt|j_|t|ddSr)rrr0r!rr.r`rrrtest_descriptor_from_classs z2TestMockingMagicMethods.test_descriptor_from_classcCs|t}dddg|j_|t|dddg|t|dddgtdddg|j_|t|dddg|t|gdS)NrzrQr3rSrG)rr&r!rr#r%r`rrr"test_iterable_as_iter_return_valuesz:TestMockingMagicMethods.test_iterable_as_iter_return_valuecCsft}||dtd|j_d|j_d|j_||dd|d|d|d}||ddS)Nrz*i)rrp __matmul__r! __rmatmul__ __imatmul__rr`rrr test_matmulsz#TestMockingMagicMethods.test_matmulcCst}|td|td|j_|t|ddt}td|}||t|d}||tt|d}||t|d}||tdS)Nr)rQrzrQ)rrpdivmod __divmod__r!r __rdivmod__)r rarZ foo_directr<Z bar_directrrrtest_divmod_and_rdivmods       z/TestMockingMagicMethods.test_divmod_and_rdivmodcCs"tfddi}|t|ddS)N__str__.return_value12)rrr.r`rrrtest_magic_in_initializationsz4TestMockingMagicMethods.test_magic_in_initializationcCsXtfddi}d|j_|t|dtfddi}|jfddi|t|ddS)NrrZ13Z14)rr0r!rr.Zconfigure_mockr`rrr)test_changing_magic_set_in_initializations zATestMockingMagicMethods.test_changing_magic_set_in_initializationN))rrrrrrr'r-r1r@rOrYr]rbrmrsryr}r~rrrrrrrrrrunittestZskipIfsysversionrrrrrrrrrrrrr sF            r__main__)rrrrrZ unittest.mockrrrrZTestCaserrmainrrrrsw