B sz_GenericTest.test_objarraycCs|dddgddS)Nr$r%r*)r$r%r*)r!)rrrr test_array_likesCsz_GenericTest.test_array_likesN) __name__ __module__ __qualname__r!r#r(r)r,r-r0r1rrrr rsrc@s<eZdZddZddZddZddZd d Zd d Zd S)TestArrayEqualcCs t|_dS)N)rr)rrrr setUpIszTestArrayEqual.setUpcs<fdd}xdD] }||qWxdD] }||q(WdS)z!Test rank 1 array for all dtypes.csLtd|}|d|}|}|d||||dS)Nr%r$r)r&emptyfillcopyr!r#)trrc)rrr fooNs    z.TestArrayEqual.test_generic_rank1..fooz?bhilqpBHILQPfdgFDG)S1U1Nr)rr<r:r)rr test_generic_rank1Ls    z!TestArrayEqual.test_generic_rank1cs<fdd}xdD] }||qWxdD] }||q(WdS)z!Test rank 3 array for all dtypes.csLtd|}|d|}|}|d||||dS)N)r+r%r*r$r)r&r7r8r9r!r#)r:rrr;)rrr r<as    z.TestArrayEqual.test_generic_rank3..fooz?bhilqpBHILQPfdgFDG)r=r>Nr)rr<r:r)rr test_generic_rank3_s    z!TestArrayEqual.test_generic_rank3cCsPtddtjg}tddtjg}|||tdddg}|||dS)z$Test arrays with nan values in them.r$r%r*N)r&r'nanr!r#)rrrr;rrr test_nan_arrayrs  zTestArrayEqual.test_nan_arraycCsFtddg}tddg}|||tddg}|||dS)z:Test two arrays with different shapes are found not equal.floupifloupafloupipiN)r&r'r!r#)rrrr;rrr test_string_arrays|s  z!TestArrayEqual.test_string_arraysc Cstddtjfdtjfg}ddg|d<ddg|d<|}|||tddtjfdtjfg}|d|d<|d|d<t0}|jtdd}|||t t |dkWdQRXdS) zTest record arrays.r%rCrDr$rEzelementwise == )messageN) r&r7floatr9r!rrecord FutureWarningr#rlen)rrrr;suplrrr test_recarrayss    zTestArrayEqual.test_recarraysN) r2r3r4r6r?r@rBrFrNrrrr r5Gs   r5c@s,eZdZddZddZddZddZd S) TestBuildErrorMessagecCsFtdddg}tdddg}d}t||g|}d}|||dS) NgrZ| ?grZ| @g&@g㈵?g&@g㈵@zThere is a mismatchz Items are not equal: There is a mismatch ACTUAL: array([ 1.00001, 2.00002, 3.00003]) DESIRED: array([ 1.00002, 2.00003, 3.00004]))r&r'r assertEqual)rxyerr_msgrrrrr test_build_err_msg_defaultss z1TestBuildErrorMessage.test_build_err_msg_defaultscCsJtdddg}tdddg}d}t||g|dd }d }|||dS) NgrZ| ?grZ| @g&@g㈵?g&@g㈵@zThere is a mismatchF)verbosez) Items are not equal: There is a mismatch)r&r'r rP)rrQrRrSrrrrr test_build_err_msg_no_verboses z3TestBuildErrorMessage.test_build_err_msg_no_verbosecCsJtdddg}tdddg}d}t||g|dd }d }|||dS) NgrZ| ?grZ| @g&@g㈵?g&@g㈵@zThere is a mismatch)ZFOOZBAR)namesz Items are not equal: There is a mismatch FOO: array([ 1.00001, 2.00002, 3.00003]) BAR: array([ 1.00002, 2.00003, 3.00004]))r&r'r rP)rrQrRrSrrrrr test_build_err_msg_custom_namess z5TestBuildErrorMessage.test_build_err_msg_custom_namescCsJtdddg}tdddg}d}t||g|dd }d }|||dS) Ng0D?grZ| @g&@g_p?g&@g㈵@zThere is a mismatch )Z precisionz Items are not equal: There is a mismatch ACTUAL: array([ 1.000000001, 2.00002 , 3.00003 ]) DESIRED: array([ 1.000000002, 2.00003 , 3.00004 ]))r&r'r rP)rrQrRrSrrrrr #test_build_err_msg_custom_precisions z9TestBuildErrorMessage.test_build_err_msg_custom_precisionN)r2r3r4rTrVrXrZrrrr rOs   rOc@sTeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ dS) TestEqualcCs t|_dS)N)rr)rrrr r6szTestEqual.setUpcCsH|tjtj|tjgtjg|tjtjg|tjddS)Nr$)rr&rAr#)rrrr test_nan_itemsszTestEqual.test_nan_itemscCs:|tjtj|tjgtjg|tjtjgdS)N)rr&infr#)rrrr test_inf_itemsszTestEqual.test_inf_itemsc Cstd}tdd}tdd}td}tdd}tdd}|||g}|||g}xBt||D]2\} } || | || g| g|| g| qfWxBt||D]2\} } || | || g| g|| g| qWxt||D]\} } || | || | g|| g| g|| gtdd|| gtdd|| gtdd|| gtddqWdS)NZNaTsnsz 2017-01-01{)r&Z datetime64Z timedelta64 itertoolsproductrr#) rZ nadt_no_unitZnadt_sZnadt_dZ natd_no_unitZnatd_sZnatd_dZdtsZtdsrrrrr test_nat_itemss0           zTestEqual.test_nat_itemscCs|dd|dddS)NZabZabb)rr#)rrrr test_non_numerics zTestEqual.test_non_numericcCs|tddtdd|tdtjtdtj|tdtjtdd|ttjdtdtj|ttjtjttjddS)Nr$r%)rcomplexr&rAr#r])rrrr test_complex_items zTestEqual.test_complex_itemcCs|tjtjdS)N)r#r&PZERONZERO)rrrr test_negative_zeroszTestEqual.test_negative_zerocCsRttddtdtjg}ttddtddg}||||||dS)Nr$r%)r&r'rfrArr#)rrQrRrrr test_complexs zTestEqual.test_complexc Cs\y$|tddgtddgWn2tk rV}z|t|dWdd}~XYnXdS)Nr$r%z Arrays are not equal (shapes (2,), (1, 2) mismatch) x: array([1, 2]) y: [repr failed for : The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()])rr&r'matrixr"rPstr)rerrr test_error_message s $zTestEqual.test_error_messageN) r2r3r4r6r\r^rdrergrjrkrorrrr r[sr[c@sLeZdZddZddZddZddZd d Zd d Zd dZ ddZ dS)TestArrayAlmostEqualcCs t|_dS)N)rr)rrrr r6szTestArrayAlmostEqual.setUpcsPjddddtfddjdgdgddtfdddS)Ng?gr)decimalcsjddddS)Ng?gr)rq)rr)rrr 'z5TestArrayAlmostEqual.test_closeness..csjdgdgddS)Ng?gr)rq)rr)rrr rr,rs)r assertRaisesr")rr)rr test_closenesss z#TestArrayAlmostEqual.test_closenesscsTtdgtdgjddjddtfdddS)NgeH@gwH@r*)rqr+csjddS)N)rq)rr)rrQrRrr rr5rsz2TestArrayAlmostEqual.test_simple..)r&r'rrtr")rr)rrQrRr test_simple.s   z TestArrayAlmostEqual.test_simplecsttjgtdgttjgtfddtfddtfdddS)Nr$cs S)N)rr)ananaonerrr rr=rsz/TestArrayAlmostEqual.test_nan..cs S)N)rr)ainfrxrrr rr?rscs S)N)rr)rzrxrrr rrArs)r&r'rAr]rrtr")rr)rzrxryrr test_nan7s  zTestArrayAlmostEqual.test_nancshtddgddggtjd<tfddtj d<tfdddS) Ng?g@g@g@)rrcs S)N)rr)rrrrr rrHrsz/TestArrayAlmostEqual.test_inf..cs S)N)rr)rrrrr rrKrs)r&r'r9r]rtr")rr)rrrr test_infCs  zTestArrayAlmostEqual.test_infcCsdtddgddgg}tjddgddggddgddgg}|||||||||dS)Ng?g@g@g@gFT)r&r'ZmaZ masked_arrayr)rrrrrr test_subclassMs   z"TestArrayAlmostEqual.test_subclasscCstddgg}tdtjgg}tdtj gg}ttjtjgg}tddgtjtjgg}xD|||||fD]2}|||t|}||||||qtWdS)Ng?g@)r&rlrAr]rr')rm1m2m3m4m5mrrrr test_matrixUs   z TestArrayAlmostEqual.test_matrixcs:Gfdddtjtddg}|||dS)Ncs&eZdZfddZddZZS)zGTestArrayAlmostEqual.test_subclass_that_cannot_be_bool..MyArraycst||tjS)N)super__lt__viewr&ndarray)rother)MyArray __class__rr riszNTestArrayAlmostEqual.test_subclass_that_cannot_be_bool..MyArray.__lt__c_stdS)N)NotImplementedError)rargskwargsrrr alllszKTestArrayAlmostEqual.test_subclass_that_cannot_be_bool..MyArray.all)r2r3r4rr __classcell__r)r)rr rhsrg?g@)r&rr'rr)rrr)rr !test_subclass_that_cannot_be_boolcsz6TestArrayAlmostEqual.test_subclass_that_cannot_be_boolN) r2r3r4r6rurwr{r|r}rrrrrr rps   rpc@s\eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ dS)TestAlmostEqualcCs t|_dS)N)rr)rrrr r6uszTestAlmostEqual.setUpcsPjddddtfddjdgdgddtfdddS)Ng?gr)rqcsjddddS)Ng?gr)rq)rr)rrr rrrsz0TestAlmostEqual.test_closeness..csjdgdgddS)Ng?gr)rq)rr)rrr rrrs)rrtr")rr)rr ruxs zTestAlmostEqual.test_closenesscsPtjtjtfddtfddtfdddS)NcstjdS)Nr$)rr&rAr)rrr rrrsz/TestAlmostEqual.test_nan_item..cstjtjS)N)rr&rAr]r)rrr rrrscstjtjS)N)rr&r]rAr)rrr rrrs)rr&rArtr")rr)rr test_nan_itemszTestAlmostEqual.test_nan_itemcsPtjtjtj tj tfddtfdddS)NcstjdS)Nr$)rr&r]r)rrr rrrsz/TestAlmostEqual.test_inf_item..cstj tjS)N)rr&r]r)rrr rrrs)rr&r]rtr")rr)rr test_inf_items zTestAlmostEqual.test_inf_itemcCs|dddS)Nr$r%)r#)rrrr test_simple_itemsz TestAlmostEqual.test_simple_itemcCs|tddtdd|tdtjtdtj|ttjtjttjtj|tdtjtdd|ttjdtdtj|ttjtjttjddS)Nr$r%)rrfr&rAr]r#)rrrr rgs  z!TestAlmostEqual.test_complex_itemcCszttddtdtjg}ttddttjdg}ttddtddg}|||||||||dS)Nr$r%)r&r'rfrArr#)rrQzrRrrr rks   zTestAlmostEqual.test_complexc Cstdddg}tdddg}d}y|j||dd Wn<tk rt}z|t|d d |Wd d }~XYnXd }y|||Wn<tk r}z|t|d d |Wd d }~XYnXd S)z>Check the message is formatted correctly for the decimal valueg?g@g&@g_?g@g㈵@zvx: array([ 1.00000000001, 2.00000000002, 3.00003 ]) y: array([ 1.00000000002, 2.00000000003, 3.00004 ]) )rqz%) r$NzRx: array([ 1. , 2. , 3.00003]) y: array([ 1. , 2. , 3.00004]))r&r'rr"rPrmsplit)rrQrRrrnrrr ros,z"TestAlmostEqual.test_error_messagecCstddgg}tdtjgg}tdtj gg}ttjtjgg}tddgtjtjgg}xD|||||fD]2}|||t|}||||||qtWdS)Ng?g@)r&rlrAr]rr')rr~rrrrrrrrr rs   zTestAlmostEqual.test_matrixcs:Gfdddtjtddg}|||dS)Ncs&eZdZfddZddZZS)zBTestAlmostEqual.test_subclass_that_cannot_be_bool..MyArraycst||tjS)N)rrrr&r)rr)rrrr rszITestAlmostEqual.test_subclass_that_cannot_be_bool..MyArray.__lt__c_stdS)N)r)rrrrrr rszFTestAlmostEqual.test_subclass_that_cannot_be_bool..MyArray.all)r2r3r4rrrr)r)rr rsrg?g@)r&rr'rr)rrr)rr rsz1TestAlmostEqual.test_subclass_that_cannot_be_boolN) r2r3r4r6rurrrrgrkrorrrrrr rss rc@s4eZdZddZddZddZddZd d Zd S) TestApproxEqualcCs t|_dS)N)rr)rrrr r6szTestApproxEqual.setUpcsTtdgtdgjddjddtfdddS)Ng{GH@gRH@rv) significantcsjddS)N)r)rr)rrQrRrr rrrsz4TestApproxEqual.test_simple_arrays..)r&r'rrtr")rr)rrQrRr test_simple_arrayss   z"TestApproxEqual.test_simple_arrayscsTddjddjddjddtfdddS) Ng{GH@gRH@r+)rrvrcsjddS)Nr)r)rr)rrQrRrr rrrsz3TestApproxEqual.test_simple_items..)rrtr")rr)rrQrRr test_simple_itemssz!TestApproxEqual.test_simple_itemscszttjtdttjtfddtfddtfdddS)Nr$cs S)N)rr)rxryrrr rrrsz0TestApproxEqual.test_nan_array..cs S)N)rr)rzrxrrr rrrscs S)N)rr)rzrxrrr rrrs)r&r'rAr]rrtr")rr)rzrxryrr rBs    zTestApproxEqual.test_nan_arraycszttjtdttjtfddtfddtfdddS)Nr$cs S)N)rr)rxryrrr rrrsz0TestApproxEqual.test_nan_items..cs S)N)rr)rzrxrrr rrrscs S)N)rr)rzrxrrr rrrs)r&r'rAr]rrtr")rr)rzrxryrr r\s    zTestApproxEqual.test_nan_itemsN)r2r3r4r6rrrBr\rrrr rs    rc@sTeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ dS)TestArrayAssertLesscCs t|_dS)N)r r)rrrr r6szTestArrayAssertLess.setUpcstddgtddgtfddtddgtfddtfd ddS) Ng?g@g333333?gffffff@cs S)N)rr)rrQrRrr rr rsz8TestArrayAssertLess.test_simple_arrays..g?cs S)N)rr)rrQrRrr rr%rscs S)N)rr)rrQrRrr rr'rs)r&r'rrtr")rr)rrQrRr rs z&TestArrayAssertLess.test_simple_arrayscstddgddggtddgddggtfd d td dgddggtfd d tfd d dS)Ng?g@gffffff @g@g333333?gffffff@g333333 @g@cs S)N)rr)rrQrRrr rr/rsz0TestArrayAssertLess.test_rank2..g?cs S)N)rr)rrQrRrr rr4rscs S)N)rr)rrQrRrr rr6rs)r&r'rrtr")rr)rrQrRr test_rank2)s zTestArrayAssertLess.test_rank2cs|tjddtjdddtfdddd<tfddtfd ddS) N)r%r%r%)shaper$cs S)N)rr)rrQrRrr rr>rsz0TestArrayAssertLess.test_rank3..r)rrrcs S)N)rr)rrQrRrr rrCrscs S)N)rr)rrQrRrr rrErs)r&onesrrtr")rr)rrQrRr test_rank38s  zTestArrayAssertLess.test_rank3csddtfddtddgtfddtddgtfdddS) Ng?g@cs S)N)rr)rrQrRrr rrMrsz7TestArrayAssertLess.test_simple_items..gffffff @cs S)N)rr)rrQrRrr rrSrsg?cs S)N)rr)rrQrRrr rrXrs)rrtr"r&r')rr)rrQrRr rGs  z%TestArrayAssertLess.test_simple_itemscsttjtdttjtfddtfddtfddtfdddS)Nr$cs S)N)rr)rxryrrr rr`rsz9TestArrayAssertLess.test_nan_noncompare..cs S)N)rr)rxryrrr rrbrscs S)N)rr)rzrxrrr rrdrscs S)N)rr)rzrxrrr rrfrs)r&r'rAr]rrtr")rr)rzrxryrr test_nan_noncompareZs    z'TestArrayAssertLess.test_nan_noncomparecstdddgttjtfddtfddtddtjgtfddtfddtd d tjgtfd ddS) Ng?g@gffffff @cs S)N)rr)rxrrQrr rrmrsz?TestArrayAssertLess.test_nan_noncompare_array..cs S)N)rr)rxrrQrr rrorscs S)N)rr)rxrrQrr rrtrscs S)N)rr)rxrrQrr rrvrsg?g@cs S)N)rr)rrQrRrr rr|rs)r&r'rArtr"r)rr)rxrrQrRr test_nan_noncompare_arrayhs  z-TestArrayAssertLess.test_nan_noncompare_arraycstdttj  tfddtfddtfddtfddtfdddS)Nr$cs S)N)rr)rzryrrr rrrsz6TestArrayAssertLess.test_inf_compare..cs S)N)rr)rzryrrr rrrscs S)N)rr)rzrrr rrrscs S)N)rr)rzrrr rrrscs S)N)rr)rzrrr rrrs)r&r'r]rrtr")rr)rzryrr test_inf_compare~s   z$TestArrayAssertLess.test_inf_comparecstddtjgttjtfddtfddtfddtfddtfdd dS) Ng?g@cs S)N)rr)rzrrQrr rrrsz.cs S)N)rr)rzrrQrr rrrscs S)N)rr)rzrrQrr rrrscs S)N)rr)rzrrQrr rrrscs  S)N)rr)rzrrQrr rrrs)r&r'r]rtr"r)rr)rzrrQr test_inf_compare_arrays z*TestArrayAssertLess.test_inf_compare_arrayN) r2r3r4r6rrrrrrrrrrrr rsrc@s<eZdZddZddZddZddZd d Zd d Zd S) TestRaisescCsGdddt}||_dS)Nc@s eZdZdS)z%TestRaises.setUp..MyExceptionN)r2r3r4rrrr MyExceptionsr) Exceptionrn)rrrrr r6szTestRaises.setUpcCs|dS)Nr)rrnrrr raises_exceptionszTestRaises.raises_exceptioncCsdS)Nr)rrrr does_not_raise_exceptionsz#TestRaises.does_not_raise_exceptioncCst|j|j|jdS)N)r rnr)rrrr test_correct_catchszTestRaises.test_correct_catchcCs:yt|j|jtWntk r,dSXtddS)Nzshould have caught RuntimeError)r rnr RuntimeErrorr")rrrr test_wrong_exceptions zTestRaises.test_wrong_exceptioncCs8yt|j|jWntk r*dSXtddS)Nz$should have raised an AssertionError)r rnrr")rrrr test_catch_no_raises zTestRaises.test_catch_no_raiseN) r2r3r4r6rrrrrrrrr rs rc@s$eZdZddZddZddZdS) TestWarnscCshdd}tjdjdd}ttt|dtjdj}ttt|ttddddt||ddS) NcSstddS)Nyor*)warningswarnrrrr fs zTestWarns.test_warn..frr*cSs|S)Nr)rQrrr rrrsz%TestWarns.test_warn..r$z.assert_warns does not preserver warnings state) sysmodulesfiltersrr UserWarningr r"r)rrbefore_filters after_filtersrrr test_warns  zTestWarns.test_warnc Cs`tjdjdd}tttdWdQRXtjdj}dd}tt|t ||ddS)Nrrc Ss ttdWdQRXdS)Nr)rrrrrrr no_warningssz3TestWarns.test_context_manager..no_warningsz.assert_warns does not preserver warnings state) rrrr rrrr r"r)rrrrrrr test_context_managers   zTestWarns.test_context_managerc Csddd}d}t:tdtytt|d}Wntk rHYnXWdQRX|r`tddS)NcSstdtdS)Nr)rrDeprecationWarningrrrr rsz,TestWarns.test_warn_wrong_warning..fFerrorTz#wrong warning caught by assert_warn)rcatch_warnings simplefilterrr rr")rrZfailedrrr test_warn_wrong_warnings   z!TestWarns.test_warn_wrong_warningN)r2r3r4rrrrrrr rsrc@s<eZdZddZddZddZddZd d Zd d Zd S)TestAssertAllclosecCsd}d}t||dd|tt||t||||g}t||||g}t||dd|tt|||d|d<t|||jtt||ddtdd d d|jttd dd ddS) NgMbP?g& .>r$)Zatolg1?)ZrtolrrYg?)rrtr"r&r')rrQrRrrrrr rws   zTestAssertAllclose.test_simplecCs*tjttjjgtjd}t||dS)N)r.)r&r'ZiinfoZint_minr)rrrrr test_min_int szTestAssertAllclose.test_min_intc Csvtddddg}tddddg}yt||d}Wn,tk rb}z|jd}Wdd}~XYnX|d|kdS)Nr$r%rzmismatch 25.0%)r&r'rr"rZ assertTrue)rrrmsgexcrrr test_report_fail_percentages z.TestAssertAllclose.test_report_fail_percentagecCs.ttjg}ttjg}t||dddS)NT) equal_nan)r&r'rAr)rrrrrr test_equal_nansz!TestAssertAllclose.test_equal_nancCs4ttjg}ttjg}|jtt||dddS)NF)r)r&r'rArtr"r)rrrrrr test_not_equal_nan"s z%TestAssertAllclose.test_not_equal_nancCsHttjg}ttjg}t||t||t||t||dS)N)r&r'rArrr r)rrrrrr test_equal_nan_default(s    z)TestAssertAllclose.test_equal_nan_defaultN) r2r3r4rwrrrrrrrrr rs  rc@sLeZdZddZddZddZddZd d Zd d Zd dZ ddZ dS)TestArrayAlmostEqualNulpcCsd}tjdddtjd}d|}tj| |f}t|jj}||||d}t|||t|jj}||||d}t|||dS)Nrvi2)r.rYg@) r&linspacefloat64r_finfor.epsrepsneg)rnulprQrrRrrrr test_float64_pass6s z*TestArrayAlmostEqualNulp.test_float64_passcCsd}tjdddtjd}d|}tj| |f}t|jj}||||d}|tt |||t|jj }||||d}|tt |||dS)Nrvirr)r.rYg@) r&rrrrr.rrtr"rr)rrrQrrRrrrr test_float64_failHs z*TestArrayAlmostEqualNulp.test_float64_failcCsd}tjdddtjd}d|}tj| |f}t|jj}||||d}t|||t|jj}||||d}t|||dS)Nrvirr)r.rYg@) r&rfloat32rrr.rrr)rrrQrrRrrrr test_float32_passXs z*TestArrayAlmostEqualNulp.test_float32_passcCsd}tjdddtjd}d|}tj| |f}t|jj}||||d}|tt |||t|jj }||||d}|tt |||dS)Nrvirr)r.rYg@) r&rrrrr.rrtr"rr)rrrQrrRrrrr test_float32_failfs z*TestArrayAlmostEqualNulp.test_float32_failcCs$d}tjdddtjd}d|}tj| |f}||d}t|jj}||||d}t|||d|t|||d|||||d }t|||d|t|jj}||||d}t|||d|t|||d|||||d }t|||d|dS) Nrvirr)r.rYy?g@g@) r&rrrrr.rrr)rrrQxirrRrrrr test_complex128_passvs" z-TestArrayAlmostEqualNulp.test_complex128_passcCs@d}tjdddtjd}d|}tj| |f}||d}t|jj}||||d}|tt |||d||tt |||d|||||}|tt |||d|t|jj }||||d}|tt |||d||tt |||d|||||}|tt |||d|dS) Nrvirr)r.rYy?g@) r&rrrrr.rrtr"rr)rrrQrrrRrrrr test_complex128_fails. z-TestArrayAlmostEqualNulp.test_complex128_failcCs$d}tjdddtjd}d|}tj| |f}||d}t|jj}||||d}t|||d|t|||d|||||d }t|||d|t|jj}||||d}t|||d|t|||d|||||d }t|||d|dS) Nrvirr)r.rYy?g@g@) r&rrrrr.rrr)rrrQrrrRrrrr test_complex64_passs" z,TestArrayAlmostEqualNulp.test_complex64_passcCs@d}tjdddtjd}d|}tj| |f}||d}t|jj}||||d}|tt |||d||tt |||d|||||}|tt |||d|t|jj }||||d}|tt |||d||tt |||d|||||}|tt |||d|dS) Nrvirr)r.rYy?g@) r&rrrrr.rrtr"rr)rrrQrrrRrrrr test_complex64_fails. z,TestArrayAlmostEqualNulp.test_complex64_failN) r2r3r4rrrrrrrrrrrr r4src@s4eZdZddZddZddZddZd d Zd S) TestULPcCstjd}t||dddS)NrYr)maxulp)r&randomrandnr)rrQrrr test_equals zTestULP.test_equalcCsRtdtj}|dtjdtj7}ttjj}t|||dddS)NrYg{Gz?r)r) r&rastyperrrrrr)rrQrrrr test_singleszTestULP.test_singlecCsRtdtj}|dtjdtj7}ttjj}t|||dddS)NrYg{Gz?)r) r&rrrrrrrr)rrQrrrr test_doubleszTestULP.test_doublecCsPxJtjtjgD]:}ttjg|}tt|jg}t||ddqWdS)Nr)r) r&rrr'r]rrmaxr)rdtr]bigrrr r|szTestULP.test_infcs"xtjtjgD]}|tjkr&dndttjg|ttjg|tt|jgtt|j gttj g|ttj g|| t fdd| t fdd| t fdd| t fdd| t fddqWdS) Ng.AgmBcstdS)N)r)rr)r]rrArr rrsz"TestULP.test_nan..cstdS)N)r)rr)rrrArr rrscstdS)N)r)rr)rrAtinyrr rr scstdS)N)r)rr)rrAzerorr rr scstdS)N)r)rr)rrAnzerorr rrs)r&rrr'r]rrArrrrhrirtr")rrr)rr]rrArrrr r{s( zTestULP.test_nanN)r2r3r4rrrr|r{rrrr rs rc@seZdZddZdS)TestStringEqualc CsptddtddytddWn0tk rR}ztt|dWdd}~XYn Xtd|tdddS) Nhellozhello multilinezfoo barz hello barz%Differences in strings: - foo + hellozexception not raisedcSs tddS)Nr<r)rrrrr rr rsz-TestStringEqual.test_simple..)rr"rrmrt)rrrrr rws   zTestStringEqual.test_simpleN)r2r3r4rwrrrr rsrcCs@|j}d|kr.|dkr|}tt|d|ntt||dS)Nversionr$)__warningregistry__rrK)modZ n_in_contextZpy3_n_in_contextZ mod_warnsrrr assert_warn_len_equal#s rcCs2tjt}y|jWntk r,YnX|S)N)rrr2rclearAttributeError)my_modrrr _get_fresh_mod1s  rc Cst}tt|diit|gdtdtdWdQRXt|jittdtdWdQRXt|dt|gdtdtdWdQRXt|dttdtdWdQRXt|dddS)Nr)rignorez Some warningr$zAnother warningr%) rrgetattrrrrrrr)rrrr test_clear_and_catch_warnings;s$       rc Cs,t}tt|diidd}t0}|t|jtjj dt d|WdQRXt t |jdkt |jdjjddkt|dt}|j|d|t dWdQRXt|d|j|d|t dWdQRXt|dtt dt dWdQRXt|ddS) NrcSsdd}t|ddgdS)NcSstjddd|S)NzSome warning 2r%) stacklevel)rr)arrrrr r]szFtest_suppress_warnings_module..warn_other_module..warnr)r&apply_along_axis)rrrr warn_other_moduleZsz8test_suppress_warnings_module..warn_other_module)modulez Some warningr$rr)rrrrrIrfilterr&libZ shape_baserrrrKlogrGrrr)rrrLrrr test_suppress_warnings_moduleUs0         rc Cst}tt|diit}|ttdWdQRXt|dt}|t|tdWdQRXt|d|j|d|tdWdQRXt|dtt dtdWdQRXt|ddS)Nrz Some warningr)rrr$) rrrrrrrrrr)rrLrrr test_suppress_warnings_types&       r c Csbt}|t|dd}tjdd0}td|t|ttt|dkWdQRXdS)NcSstd|dS)Nz Some warning)rr)categoryrrr rsz7test_suppress_warnings_decorate_no_record..warnT)rIalwaysr$) rrrrrrRuntimeWarningrrK)rLrwrrr )test_suppress_warnings_decorate_no_records   rc Cst}|}||jdd}|jddtdtdtdtt|jdktt|dktt|dkt|djj ddkWdQRX||jdd}|jddtdtdtdtt|jdktt|dktt|dkt|djj ddkWdQRXtd}|t8}|jddtdtdtt|jdkWdQRXtt|jdkWdQRXdS)NzSome other warning 2)rGz Some warningzSome other warningr%r$r) rrIrrrrrKrrGr)rLZlog1Zlog2Zsup2rrr test_suppress_warnings_records<     "     "   rc Csdd}tP}|td"xtdD]}tdq,WWdQRXtt|jdkWdQRXtZ}|td,x$tdD]}tdtdqWWdQRXtt|jdkWdQRXt`}|td2x*tdD]}tdtd|qWWdQRXtt|jdkWdQRXtb}|td4x,tdD] }tdtd |qZWWdQRXtt|jdkWdQRXdS) NcSsdd}t|ddgdS)NcSstjddd|S)Nz Some warningr%)r)rr)rrrr rszJtest_suppress_warnings_forwarding..warn_other_module..warnr)r&r)rrrr rsz.warn_other_moduler r%z Some warninglocationroncezSome other warning)rrIrangerrrrKr)rrLirrr !test_suppress_warnings_forwardings<         rc Cst*}tj|d}t|dWdQRXWdQRXttj| d}yt }tWdQRXWntk rd}YnXt|ttj| dS)NZtmpr FT)rospathjoinopenrisdir ValueError)Ztdirfpathraisedrrr test_tempdirs  rc Cst}t|d}WdQRXWdQRXttj| d}yt }tWdQRXWntk rrd}YnXt|ttj| dS)Nr FT)rrrrrisfiler)rrrrrr test_temppaths  rc@seZdZejefZdS)my_cacwN)r2r3r4rrZ class_modulesrrrr r &sr c Cs<t}ttdtdWdQRXt|jidS)Nrz Some warning)rr rrrrr)rrrr %test_clear_and_catch_warnings_inherit+s  r!__main__)N)>Z __future__rrrrrrrbZnumpyr&Z numpy.testingrrrrr r r r r rrrrrrrrrrrrZunittestr/rZTestCaser5rOr[rprrrrrrrrrrrrrr rrrrrr r!r2rrrr sJ\ 2S-Q[q1 "3>(8  .(/