K irddlZddlZddlZddlZddlZddlZddlZddlZddl m cm Z ddl mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"GddZ#Gdde#Z$GddZ%Gd d e$Z&Gd d e#Z'Gd de#Z(GddZ)GddZ*GddZ+GddZ,GddZ-GddZ.GddZ/dZ0dZ1dZ2d Z3d!Z4d"Z5d#Z6d$Z7d%Z8d&Z9d'Z:Gd(d)eZ;d*Z * $   a # $ $ $s,5ctjddg}tjddg}|j||y)z/Test two equal array of rank 1 are found equal.Nnparrayr#rs r"test_array_rank1_eqz _GenericTest.test_array_rank1_eq.s6 HHaV  HHaV  Ar$ctjddg}tjddg}|j||y)z7Test two different array of rank 1 are found not equal.r)r*Nr,r-r'rs r"test_array_rank1_noteqz#_GenericTest.test_array_rank1_noteq5s6 HHaV  HHaV  Q"r$ctjddgddgg}tjddgddgg}|j||y)z/Test two equal array of rank 2 are found equal.r)r*Nr+rs r"test_array_rank2_eqz _GenericTest.test_array_rank2_eq<sH HHq!fq!f% & HHq!fq!f% & Ar$ctjddg}tjddgddgg}|j||y):Test two arrays with different shapes are found not equal.r)r*Nr0rs r"test_array_diffshapez!_GenericTest.test_array_diffshapeCs? HHaV  HHq!fq!f% & Q"r$cbtjddgt}|j|dy)zTest object arrays.r)dtypeN)r,r-objectr#rr s r" test_objarrayz_GenericTest.test_objarrayJs& HHaV6 * Ar$c,|jgddy)Nr)r*r3)r#rs r"test_array_likesz_GenericTest.test_array_likesOs I.r$N) __name__ __module__ __qualname__r#r'r.r1r5r8r>rBr$r"rr%s* $## /r$rcleZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZy)TestArrayEqualct|_yr)r rrAs r" setup_methodzTestArrayEqual.setup_methodUs .r$cLfd}dD] }|| dD] }|| y)z!Test rank 1 array for all dtypes.ctjd|}|jd|j}|j}|jdj ||j ||y)Nr*r)rr,emptyfillcopyr#r'tr r!crs r"fooz.TestArrayEqual.test_generic_rank1..fooZs^AA FF1IAA FF1I   Q "  A &r$?bhilqpBHILQPfdgFDGS1U1NrFrrTrRs` r"test_generic_rank1z!TestArrayEqual.test_generic_rank1X8 '' A F  A F r$cntjd}tjd}tjt5}|j ||dddt j}td|v|}|j ||tjd}tjd}d}tjttj|5|j ||ddd|}|j ||y#1swYxYw#1swY*xYw)NlCj * $h   a # $(..!5   !Q HH3 4 HHQKJ ]]><1H I $   a # $  !Q' $ $ $ $sD/D+D(+D4cLfd}dD] }|| dD] }|| y)z!Test rank 3 array for all dtypes.ctjd|}|jd|j}|j}|jdj ||j ||y)N)r4r*r3r)rrMrQs r"rTz.TestArrayEqual.test_generic_rank3..foos_A&A FF1IAA FF1I   Q "  A &r$rUrVNrFrYs` r"test_generic_rank3z!TestArrayEqual.test_generic_rank3r[r$ctjddtjg}tjddtjg}|j||tjgd}|j ||y)z$Test arrays with nan values in them.r)r*r@N)r,r-nanr#r'rr r!rSs r"test_nan_arrayzTestArrayEqual.test_nan_arrays` HHaBFF^ $ HHaBFF^ $ A HHY  Q"r$ctjddg}tjddg}|j||tjddg}|j||y)r7floupifloupafloupipiN)r,r-r#r'rps r"test_string_arraysz!TestArrayEqual.test_string_arrayss[ HHh) * HHh) * A HHj(+ , Q"r$ctjddtfdtfg}ddg|d<ddg|d<|j}|j ||tjddtfdtfdtfg}|dj|d<|dj|d<t j t5|j||dddy#1swYyxYw)zTest record arrays.r*rsrtr)ruN) r,rNfloatrPr#r_r` TypeErrorr'rps r"test_recarrayszTestArrayEqual.test_recarrayss HHQ(E*Xu,=> ?!f( !f( FFH A HHQ*e,"E*Xu,=? @( ((** k&&(( ]]9 % '  A & ' ' 's C!!C*ctjjgdgd}tjdtjdg}|j |||j ||tjjgdgd}tjtj ddg}|j |||j ||y)N@@@)FTFmaskr}r)TFFr~)r,ma MaskedArrayr-ror#infrs r"test_masked_nan_infz"TestArrayEqual.test_masked_nan_infs EE  m2F  G HHb"&&#& ' A A EE  m2F  G HHbffb#& ' A Ar$cRGddtj}tjddgj|}tjddgj|}t t ||k(t t ||k(t ||k7|j|||j|||j||d}tjttj|5|j||dddtjdd gj|}d }tjttj|5|j||dddy#1swY{xYw#1swYyxYw) NceZdZdZdZy)?TestArrayEqual.test_subclass_that_overrides_eq..MyArrayc\ttj||jSr)boolr,equalallrothers r"__eq__zFTestArrayEqual.test_subclass_that_overrides_eq..MyArray.__eq__s!BHHT5155788r$c||k( SrrFrs r"__ne__zFTestArrayEqual.test_subclass_that_overrides_eq..MyArray.__ne__s5=((r$N)rCrDrErrrFr$r"MyArrayrs  9 )r$r?@r}z{Mismatched elements: 1 / 2 (50%) Max absolute difference among violations: 1. Max relative difference among violations: 0.5r]g333333@z{Mismatched elements: 1 / 2 (50%) Max absolute difference among violations: 2. Max relative difference among violations: inf)r,ndarrayr-viewrtyperr#r'r_r`r&rcrd)rrr r!rirSs r"test_subclass_that_overrides_eqz.TestArrayEqual.test_subclass_that_overrides_eqsV  )bjj ) HHb"X  # #G , HHb"X  # #G ,Q!V d#QQ A Q" Q"H ]]><1H I #   Q " # HHb#Y  $ $W -H ]]><1H I #   Q " # # # # # #sF5FFF&cGddtj}tjddgj|}tjddgj|}t t 5tj |ddd|j|||j|||j||y#1swY@xYw)NceZdZdZy)KTestArrayEqual.test_subclass_that_does_not_implement_npall..MyArrayctSr)NotImplementedrargskwargss r"__array_function__z^TestArrayEqual.test_subclass_that_does_not_implement_npall..MyArray.__array_function__s%%r$N)rCrDrErrFr$r"rrs &r$rrrr}) r,rr-rrryrr#r')rrr r!s r"+test_subclass_that_does_not_implement_npallz:TestArrayEqual.test_subclass_that_does_not_implement_npalls &bjj & HHb"X  # #G , HHb"X  # #G , 9 %  FF1I  A Q" Q"   s 5C  Cc tjt5tjd5tj j tjgdtjtjgdtjddddddy#1swYxYw#1swYyxYw)Nraiserr@)r)gWw'&l7r3) r_r`r&r,errstatetestingr r-float32rAs r"test_suppress_overflow_warningsz.TestArrayEqual.test_suppress_overflow_warningss ]]> * 9) 9 --HHY 3HH]BJJ79 9 9 9 9 9 9 9s#B7A)B+B7+B4 0B77CcZtjgd}d}|j||y)z@Test comparing an array with a scalar when all values are equal.rrrrNr+rs r"test_array_vs_scalar_is_equalz,TestArrayEqual.test_array_vs_scalar_is_equals% HH\ "  Ar$ctjgd}tjgd}d}tjtt j |5|j||dddtjgd}d}tjtt j |5|j||dddy#1swYlxYw#1swYyxYw)z@Test comparing an array with a scalar when not all values equal.)骈Sg6)rrrrzMismatched elements: 1 / 4 (25%) Max absolute difference among violations: 563766 Max relative difference among violations: infr]N)rrg̜ArzMismatched elements: 2 / 4 (50%) Max absolute difference among violations: 563766. Max relative difference among violations: 4.54902139e-07r,r-r_r`r&rcrdrrr r!ris r"test_array_vs_array_not_equalz,TestArrayEqual.test_array_vs_array_not_equals HH4 5 HH/ 0H ]]><1H I $   a # $ HH6 7) ]]><1H I $   a # $ $ $ $ $ $sCC)C&)C2ctjgd}d}tjt5|j ||ddddy#1swYyxYw)z9Test comparing an array with a scalar with strict option.rrTstrictNr,r-r_r`r&rrs r"test_array_vs_scalar_strictz*TestArrayEqual.test_array_vs_scalar_strictsK HH\ "  ]]> * 1   a4  0 1 1 1s AActjgd}tjgd}|j||dy)-Test comparing two arrays with strict option.rTrN)r,r-rrs r"test_array_vs_array_strictz)TestArrayEqual.test_array_vs_array_strict"s3 HH\ " HH\ " !Qt,r$ctjgd}tjgd}tjt5|j ||ddddy#1swYyxYw)r)r)r)r)rTrNrrs r" test_array_vs_float_array_strictz/TestArrayEqual.test_array_vs_float_array_strict)sT HHY  HH\ " ]]> * 1   a4  0 1 1 1s A&&A/N)rCrDrErJrZrjrmrqrvrzrrrrrrrrrrFr$r"rHrHSsS/& 2&# #'"  #D #9$(1-1r$rHc$eZdZdZdZdZdZy)TestBuildErrorMessagectjgd}tjgd}d}t||g|}d}t||y)NgrZ| ?rZ| @&@g㈵?&@㈵@There 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-rr rrerferr_msgr r!s r"test_build_err_msg_defaultsz1TestBuildErrorMessage.test_build_err_msg_defaults4sH HH0 1 HH0 1' 1a&' *" Qr$ctjgd}tjgd}d}t||g|d}d}t||y)NrrrF)verbosez) Items are not equal: There is a mismatchrrs r"test_build_err_msg_no_verbosez3TestBuildErrorMessage.test_build_err_msg_no_verbose?sF HH0 1 HH0 1' 1a&'5 9 8Qr$ctjgd}tjgd}d}t||g|d}d}t||y)Nrrr)FOOBAR)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])rrs r"test_build_err_msg_custom_namesz5TestBuildErrorMessage.test_build_err_msg_custom_namesHsJ HH0 1 HH0 1' 1a&' @ Qr$ctjgd}tjgd}d}t||g|d}d}t||y)N)g0D?rr)g_p?rrr ) 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 ])rrs r"#test_build_err_msg_custom_precisionz9TestBuildErrorMessage.test_build_err_msg_custom_precisionSsJ HH4 5 HH4 5' 1a&'R 87 Qr$N)rCrDrErrrrrFr$r"rr2s   r$rcHeZdZdZdZdZdZdZdZdZ dZ d Z d Z y ) TestEqualct|_yr)r rrAs r"rJzTestEqual.setup_methodas (r$c^|jtjtj|jtjgtjg|jtjtjg|jtjdyNr))rr,ror'rAs r"test_nan_itemszTestEqual.test_nan_itemsdsd "&&"&&) 266(RVVH- RVVbffX. RVVQ'r$c|jtjtj|jtjgtjg|jtjtjgyr)rr,rr'rAs r"test_inf_itemszTestEqual.test_inf_itemsjsP "&&"&&) 266(RVVH- RVVbffX.r$c|jtjddtjdd|jtjddtjdd|jtjddtjdd|jtjddtjddy)N 2017-01-01smz 2017-01-02)r#r, datetime64r'rAs r" test_datetimezTestEqual.test_datetimeos  MM, , MM, ,   MM, , MM, ,  MM, , MM, ,   MM, , MM, , r$c^tjd}tjdd}tjdd}tjd}tjdd}tjdd}|||g}|||g}tj||D]>\} } |j | | |j | g| g|j | g| @tj||D]>\} } |j | | |j | g| g|j | g| @tj||D]\} } |j | | |j | | g|j | g| g|j | gtjdd|j | gtjdd|j | gtjdd|j | gtjddy)NNaTrnsr{)r,r timedelta64 itertoolsproductrr') r nadt_no_unitnadt_snadt_d natd_no_unitnatd_snatd_ddtstdsr r!s r"test_nat_itemszTestEqual.test_nat_itemss}}U+ uc*ud+~~e, s+t,VV,VV,%%c3/ )DAq   a #   qcA3 '  !a ( ) %%c3/ )DAq   a #   qcA3 '  !a ( ) %%c3/ @DAq  A &  QC (  !qc *  !bmmL#&F G  !bmmL#&F G  !bnnS#&> ?  !bnnS#&> ? @r$cL|jdd|jddy)Nababb)rr'rAs r"test_non_numericzTestEqual.test_non_numerics" $% T5)r$c`|jtddtdd|jtdtjtdtj|j tdtjtdd|j ttjdtdtj|j ttjtj ttjdyNr)r*)rcomplexr,ror'rrAs r"test_complex_itemzTestEqual.test_complex_items '!Q-A7 '!RVV,ga.@A WQ/A? WRVVQ/BFF1CD WRVVRVV4gbffa6HIr$c`|jtjtjyr)r'ncuPZERONZEROrAs r"test_negative_zerozTestEqual.test_negative_zeros SYY 2r$ctjtddtdtjg}tjtddtddg}|j |||j ||yrr,r-rrorr'rrerfs r" test_complexzTestEqual.test_complexse HHgamWQ%78 9 HHgamWQ]3 4 !Q Q"r$cddl}tj|jddd|jdddg}|j||dddy)Nrir)r*)datetimer,r-r')rr r s r" test_objectzTestEqual.test_objectsS HHh''a3''a35 6 Q$B$(r$N) rCrDrErJrrrrrrrrr rFr$r"rr_s6)( /  (@>*J3# )r$rcBeZdZdZdZdZdZdZdZdZ dZ d Z y ) TestArrayAlmostEqualct|_yr)rrrAs r"rJz!TestArrayAlmostEqual.setup_methods 5r$cd}tjttj|5|j dddddd|j dgdgdd}tjttj|5|j dgdgdddddd g}d dg}d }tjttj|5|j ||d dddd }tjttj|5|j ||d dddy#1swYxYw#1swYxYw#1swYpxYw#1swYyxYw)Nz}Mismatched elements: 1 / 1 (100%) Max absolute difference among violations: 1.5 Max relative difference among violations: infr]?rrdecimal?ge (?giUMu>gB??zMismatched elements: 1 / 2 (50%) Max absolute difference among violations: 3.e-05 Max relative difference among violations: infz~Mismatched elements: 1 / 2 (50%) Max absolute difference among violations: 3.e-05 Max relative difference among violations: 1.r_r`r&rcrdr)rrir r!s r"test_closenessz#TestArrayAlmostEqual.test_closenesssgH ]]><1H I 3   c3  2 3 8*seQ7H ]]><1H I 7   secUA  6 7  OH ]]><1H I /   aA  . /G ]]><1H I /   aA  . / // 3 3 7 7 / /  / /s/EE#+E/8E;E #E,/E8;Fc^tjdg}tjdg}|j||d|j||dd}tjt t j|5|j||ddddy#1swYyxYw) NgeH@gwH@r3rr4zMismatched elements: 1 / 1 (100%) Max absolute difference among violations: 1.e-04 Max relative difference among violations: 8.10226812e-08r]r,r-rr_r`r&rcrdrrerfris r" test_simplez TestArrayAlmostEqual.test_simples HHi[ ! HHi[ ! !Q* !Q*) ]]><1H I /   aA  . / / /s B##B,cgd}d}d}tjttj|5|j ||ddddd}tjttj|5|j ||ddddddg}d }tjttj|5|j ||d dddd }d }tjttj|5|j ||d dddy#1swYxYw#1swYxYw#1swYqxYw#1swYyxYw) N)mlz@gHPX@rrzMismatched elements: 2 / 3 (66.7%) Max absolute difference among violations: 5498.42354 Max relative difference among violations: 1.r] rzMismatched elements: 2 / 3 (66.7%) Max absolute difference among violations: 5498.42354 Max relative difference among violations: 5.4722099rzMismatched elements: 1 / 2 (50%) Max absolute difference among violations: 5498.42354 Max relative difference among violations: infrrrrs r"test_array_vs_scalarz)TestArrayAlmostEqual.test_array_vs_scalarsP ) G ]]><1H I /   aA  . /N ]]><1H I /   aA  . / H ]]><1H I /   aA  . / H ]]><1H I /   aA  . / // / / / / / / / /s/EEE$E&E EE#&E/cjtjtjgtjdgtjtjgj t t fdt t fdt t fdy)Nr)c(jSrrananaonersr"z/TestArrayAlmostEqual.test_nan..d//d;r$c(jSrrainfr$rsr"r&z/TestArrayAlmostEqual.test_nan.. r'r$c(jSrrr)sr"r&z/TestArrayAlmostEqual.test_nan.."r'r$r,r-rorrrr&rr*r$r%s`@@@r"test_nanzTestArrayAlmostEqual.test_nansqxx!xx}xx! $%n; =n; =n; =r$ctjddgddggjtjd<t t fdtj d<t t fdy)Nrrr}r~)rrc(jSrrr r!rsr"r&z/TestArrayAlmostEqual.test_inf..)d//15r$c(jSrrr1sr"r&z/TestArrayAlmostEqual.test_inf..,r2r$)r,r-rPrrr&rs`@@r"test_infzTestArrayAlmostEqual.test_inf$s_ HHr2hR) * FFH&&$n5 766'$n5 7r$ctjddgddgg}tjjddgddggddgddgg}|j |||j |||j ||tjj dd }tjgd }|j |||j ||tjj}tjgd }|j |||j ||tjj gd gd  }tjgd }|j |||j ||tjj gd gd  }tjd}|j |||j ||y) Nrrr}r~rFTg @rr|)TTT)rrr})r,r-r masked_arrayrrr#maskedrs r" test_subclassz"TestArrayAlmostEqual.test_subclass.s HHr2hR) * EE  R2r(3!&u > @ !Q !Q !Q EE  c  - HH] # A A EELL HH] # A A EE  m2D  E HH\ " A A EE  m2D  E HHRL A Ar$cGddtj}tjddgj|}|j ||tjddgj|}t |tjddgj|}d}t jttj|5|j ||dddy#1swYyxYw) Nc.eZdZfdZfdZdZxZS)5TestArrayAlmostEqual.test_subclass_2..MyArrayc\t||jtjSrsuperrrr,rrr __class__s r"rz.MyArray.__eq__N!w~e,11"**==r$c\t||jtjSrr>__lt__rr,rr?s r"rDz.MyArray.__lt__QrAr$ct|Srrrs r"rz9TestArrayAlmostEqual.test_subclass_2..MyArray.allTs 4y r$rCrDrErrDr __classcell__r@s@r"rr;Ms > > !r$rrrTzMismatched elements: 1 / 2 (50%) Max absolute difference among violations: 200. Max relative difference among violations: 0.99009r]) r,rr-rrrr_r`r&rcrd)rrr zr!ris r"test_subclass_2z$TestArrayAlmostEqual.test_subclass_2Hs  !bjj ! HHb"X  # #G , !Q HHdD\ " ' ' 0 A HHb#Y  $ $W -L ]]><1H I $   a # $ $ $s C55C>cGddtj}tjddgj|}|j ||y)Nc.eZdZfdZfdZdZxZS)GTestArrayAlmostEqual.test_subclass_that_cannot_be_bool..MyArrayc\t||jtjSrr=r?s r"rzNTestArrayAlmostEqual.test_subclass_that_cannot_be_bool..MyArray.__eq__irAr$c\t||jtjSrrCr?s r"rDzNTestArrayAlmostEqual.test_subclass_that_cannot_be_bool..MyArray.__lt__lrAr$ctrNotImplementedErrorrs r"rzKTestArrayAlmostEqual.test_subclass_that_cannot_be_bool..MyArray.allo))r$rFrHs@r"rrNh > > *r$rrrr,rr-rrrrr s r"!test_subclass_that_cannot_be_boolz6TestArrayAlmostEqual.test_subclass_that_cannot_be_boolcA  *bjj * HHb"X  # #G , !Qr$N) rCrDrErJrrr r.r4r8rKrXrFr$r"rrs16#/J //B =74$6 r$rcHeZdZdZdZdZdZdZdZdZ dZ d Z d Z y ) TestAlmostEqualct|_yr)rrrAs r"rJzTestAlmostEqual.setup_methodx /r$cjdddttfdjdgdgdttfdy)Nrrrrc,jdddSNrrrrrrAsr"r&z0TestAlmostEqual.test_closeness..sd//S!/Dr$c0jdgdgdSr`rrAsr"r&z0TestAlmostEqual.test_closeness..sd//ua/Hr$rrr&rAs`r"rzTestAlmostEqual.test_closeness{sQ (C3nD F 8*seQ7nH Jr$cjtjtjttfdttfdttfdy)NcDjtjdSr)rr,rorAsr"r&z/TestAlmostEqual.test_nan_item..d//:r$c`jtjtjSr)rr,rorrAsr"r&z/TestAlmostEqual.test_nan_item..d//?r$c`jtjtjSr)rr,rrorAsr"r&z/TestAlmostEqual.test_nan_item..rgr$)rr,rorr&rAs`r" test_nan_itemzTestAlmostEqual.test_nan_itemsD "&&"&&)n: <n? An? Ar$cjtjtjjtj tj ttfdttfdy)NcDjtjdSrrr,rrAsr"r&z/TestAlmostEqual.test_inf_item..rer$cbjtj tjSrrlrAsr"r&z/TestAlmostEqual.test_inf_item..sd//@r$)rr,rrr&rAs`r" test_inf_itemzTestAlmostEqual.test_inf_itemsR "&&"&&) 266'BFF7+n: <n@ Br$c(|jddyr)r'rAs r"test_simple_itemz TestAlmostEqual.test_simple_items Q"r$c|jtddtdd|jtdtjtdtj|jttjtjttjtj|j tdtjtdd|j ttjdtdtj|j ttjtjttjdyr)rrr,rorr'rAs r"rz!TestAlmostEqual.test_complex_items '!Q-A7 '!RVV,ga.@A '"&&"&&172662663JK WQ/A? WRVVQ/BFF1CD WRVVRVV4gbffa6HIr$ctjtddtdtjg}tjtddttjdg}tjtddtddg}|j |||j |||j ||yrr)rrerJrfs r"rzTestAlmostEqual.test_complexs HHgamWQ%78 9 HHgamWRVVQ%78 9 HHgamWQ]3 4 !Q Q" Q"r$ctjgd}tjgd}d}tjtt j |5|j||ddddd}tjtt j |5|j||dddtjtjd g}tjtjd g}d }tjtt j |5|j||dddtjd d g}tjd d g}d }tjtt j |5|j||dddy#1swYdxYw#1swY&xYw#1swYxYw#1swYyxYw)zCheck the message is formatted correctly for the decimal value. Also check the message when input includes inf or nan (gh12200))g?g@r)g_?g@raMismatched elements: 3 / 3 (100%) Max absolute difference among violations: 1.e-05 Max relative difference among violations: 3.33328889e-06 ACTUAL: array([1.00000000001, 2.00000000002, 3.00003 ]) DESIRED: array([1.00000000002, 2.00000000003, 3.00004 ])r] rNzMismatched elements: 1 / 3 (33.3%) Max absolute difference among violations: 1.e-05 Max relative difference among violations: 3.33328889e-06 ACTUAL: array([1. , 2. , 3.00003]) DESIRED: array([1. , 2. , 3.00004])rr)zMismatched elements: 1 / 2 (50%) Max absolute difference among violations: 1. Max relative difference among violations: 1. ACTUAL: array([inf, 0.]) DESIRED: array([inf, 1.])r*z{Mismatched elements: 2 / 2 (100%) Max absolute difference among violations: 2 Max relative difference among violations: inf) r,r-r_r`r&rcrdrrrs r"test_error_messagez"TestAlmostEqual.test_error_messages HH< = HH< =* ]]><1H I 0   aB  / 0 G ]]><1H I $   a # $ HHbffa[ ! HHbffa[ !6 ]]><1H I $   a # $ HHaV  HHaV H ]]><1H I $   a # $ $A 0 0 $ $ $ $ $ $s0G,G#G0:G<G #G-0G9<Hc d}tjd}d}tjtt j |5|j||dddd}tjd}d}tjtt j |5|j||dddy#1swYlxYw#1swYyxYw)z)Check the message is formatted correctly r*z}Mismatched elements: 20 / 20 (100%) Max absolute difference among violations: 1. Max relative difference among violations: 1.r]Nz~Mismatched elements: 20 / 20 (100%) Max absolute difference among violations: 1. Max relative difference among violations: 0.5)r,onesr_r`r&rcrdrrs r"test_error_message_2z$TestAlmostEqual.test_error_message_2s-  GGBKG ]]><1H I $   a # $  GGBKH ]]><1H I $   a # $ $ $ $ $ $s C+CCCcGddtj}tjddgj|}|j ||y)Nc.eZdZfdZfdZdZxZS)BTestAlmostEqual.test_subclass_that_cannot_be_bool..MyArrayc\t||jtjSrr=r?s r"rzITestAlmostEqual.test_subclass_that_cannot_be_bool..MyArray.__eq__rAr$c\t||jtjSrrCr?s r"rDzITestAlmostEqual.test_subclass_that_cannot_be_bool..MyArray.__lt__rAr$ctrrRrs r"rzFTestAlmostEqual.test_subclass_that_cannot_be_bool..MyArray.allrTr$rFrHs@r"rr|rUr$rrrrVrWs r"rXz1TestAlmostEqual.test_subclass_that_cannot_be_boolrYr$N) rCrDrErJrrirnrprrruryrXrFr$r"r[r[vs90J"AB#J#1$f$& r$r[c*eZdZdZdZdZdZdZy)TestApproxEqualct|_yr)rrrAs r"rJzTestApproxEqual.setup_method r]r$ctjdtjdjdjdttfdy)N{GH@RH@r significantc,jdSNrrrrsr"r&z7TestApproxEqual.test_simple_0d_arrays..d//1!/Dr$)r,r-rrr&rs`@@r"test_simple_0d_arraysz%TestApproxEqual.test_simple_0d_arrayssW HHW  HHW  !QA. !QA.nD Fr$cddjdjdjdttfdy)Nrrr4rrrc,jdSrrrsr"r&z3TestApproxEqual.test_simple_items..rr$rbrs`@@r"test_simple_itemsz!TestApproxEqual.test_simple_itemssZ   !QA. !QA. !QA.nD Fr$cdtjtjtjdtjtjj t t fdt t fdt t fdy)Nr)c(jSrrr#sr"r&z0TestApproxEqual.test_nan_array..&d.?.?d.Kr$c(jSrrr)sr"r&z0TestApproxEqual.test_nan_array..'rr$c(jSrrr)sr"r&z0TestApproxEqual.test_nan_array..(rr$r,r-s`@@@r"rqzTestApproxEqual.test_nan_array!exxxx{xx $%n&KLn&KLn&KLr$cdtjtjtjdtjtjj t t fdt t fdt t fdy)Nr)c(jSrrr#sr"r&z0TestApproxEqual.test_nan_items../rr$c(jSrrr)sr"r&z0TestApproxEqual.test_nan_items..0rr$c(jSrrr)sr"r&z0TestApproxEqual.test_nan_items..1rr$r,r-s`@@@r"rzTestApproxEqual.test_nan_items*rr$N)rCrDrErJrrrqrrFr$r"rr s0FFMMr$rcTeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zy )TestArrayAssertLessct|_yr)r rrAs r"rJz TestArrayAssertLess.setup_method6s -r$c@tjddgtjddgjttfdtjddgttfdttfdtjgd }tjgd }d }t j ttj| 5j||dddy#1swYyxYw) N皙?皙@333333?ffffff@c(jSrrrsr"r&z8TestArrayAssertLess.test_simple_arrays..>d.?.?1.Er$rc(jSrrrsr"r&z8TestArrayAssertLess.test_simple_arrays..Brr$c(jSrrrsr"r&z8TestArrayAssertLess.test_simple_arrays..Crr$)r)r3rrw)r*r4rz{Mismatched elements: 2 / 4 (50%) Max absolute difference among violations: 12 Max relative difference among violations: 1.5r]) r,r-rrr&r_r`rcrd)rr r!rirerfs` @@r"test_simple_arraysz&TestArrayAssertLess.test_simple_arrays9s HHc3Z  HHc3Z  !Qn&EF HHc3Z n&EFn&EF HH] # HH\ "H ]]><1H I $   a # $ $ $s 8DDctjddgddggtjddgddggjd }tjt t j| 5jdddtjd dgddggtt fd tt fd y#1swYOxYw)Nrrffffff @g@rrg333333 @g@zMismatched elements: 4 / 4 (100%) Max absolute difference among violations: 0.1 Max relative difference among violations: 0.09090909r]rc(jSrrrsr"r&z0TestArrayAssertLess.test_rank2..Zrr$c(jSrrrsr"r&z0TestArrayAssertLess.test_rank2..[rr$) r,r-rr_r`r&rcrdrrrirerfs` @@r" test_rank2zTestArrayAssertLess.test_rank2Ns HHsCj3*- . HHsCj3*- . !QO ]]><1H I $   a # $ HHsCj3*- .n&EFn&EF  $ $s <CC&ctjdtjddzjttfddd<d}t j ttj|5jdddttfd y#1swYxYw) N)r*r*r*)shaper)c(jSrrrsr"r&z0TestArrayAssertLess.test_rank3..brr$r)rrrz}Mismatched elements: 1 / 8 (12.5%) Max absolute difference among violations: 1. Max relative difference among violations: infr]c(jSrrrsr"r&z0TestArrayAssertLess.test_rank3..krr$) r,rxrrr&r_r`rcrdrs` @@r" test_rank3zTestArrayAssertLess.test_rank3]s GG) $ GG) $q ( !Qn&EF' H ]]><1H I $   a # $ n&EF $ $s CC cddjd}tjtt j |5jdddt jddgjttfdt jddgttfdy#1swYtxYw) Nrrz|Mismatched elements: 1 / 1 (100%) Max absolute difference among violations: 1.1 Max relative difference among violations: 1.r]rc(jSrrrsr"r&z7TestArrayAssertLess.test_simple_items..{rr$rc(jSrrrsr"r&z7TestArrayAssertLess.test_simple_items..rr$) rr_r`r&rcrdr,r-rrs` @@r"rz%TestArrayAssertLess.test_simple_itemsms   !QG ]]><1H I $   a # $ HHc3Z  !Qn&EF HHc3Z n&EF $ $s CCc,tjgdgdgdg}d}|j||d}|j||tjgdgdgdg}d }d }tjt t j| 5|j||dddd }tjt t j| 5|j||dddy#1swYUxYw#1swYyxYw) N)g.c}j@g镲hx@g|yE@g㥛Ġ@)gQEK@gH}@g*@V-Xy@)(\@Gz @nV@gt@gQ@gmXSY @)gk @g6 G ]]><1H I $   a # $) ]]><1H I $   a # $ $ $ $ $ $sC>"D >D Dctjgd}tjd}d}tjtt j |5|j||dddd}tjtt j |5|j||dddd}d}tjtt j |5|j||dddd}tjtt j |5|j||dddy#1swYxYw#1swYxYw#1swYmxYw#1swYyxYw) N)g0 Arg)\.@g`f@zMismatched elements: 1 / 3 (33.3%) Max absolute difference among violations: 458802. Max relative difference among violations: 5.23423917r]zMismatched elements: 2 / 3 (66.7%) Max absolute difference among violations: 87654. Max relative difference among violations: 5670.5626011rzMismatched elements: 3 / 3 (100%) Max absolute difference among violations: 546456. Max relative difference among violations: infz}Mismatched elements: 1 / 3 (33.3%) Max absolute difference among violations: 0. Max relative difference among violations: infrrs r" test_zeroeszTestArrayAssertLess.test_zeroessB HH) * HHV O ]]><1H I $   a # $' ]]><1H I $   a # $ H ]]><1H I $   a # $H ]]><1H I $   a # $ $+ $ $ $ $ $ $  $ $s0E(E(5E4FE%(E14E=F ctjtjtjdtjtjj t t fdt t fdt t fdt t fdy)Nr)c(jSrrr#sr"r&z9TestArrayAssertLess.test_nan_noncompare..rr$c(jSrrr#sr"r&z9TestArrayAssertLess.test_nan_noncompare..rr$c(jSrrr)sr"r&z9TestArrayAssertLess.test_nan_noncompare..rr$c(jSrrr)sr"r&z9TestArrayAssertLess.test_nan_noncompare..rr$r,r-s`@@@r"test_nan_noncomparez'TestArrayAssertLess.test_nan_noncomparespxxxx{xx $%n&KLn&KLn&KLn&KLr$ctjgdtjtjttfdttfdtjddtjgttfdttfdtjdd tjgj ttfd y) N)rrrc(jSrrr$rresr"r&z?TestArrayAssertLess.test_nan_noncompare_array..d.?.?4.Hr$c(jSrrrsr"r&z?TestArrayAssertLess.test_nan_noncompare_array..d.?.?a.Hr$rrc(jSrrrsr"r&z?TestArrayAssertLess.test_nan_noncompare_array..rr$c(jSrrrsr"r&z?TestArrayAssertLess.test_nan_noncompare_array..rr$rrc(jSrrrsr"r&z?TestArrayAssertLess.test_nan_noncompare_array..rr$)r,r-rorr&r)rr$rerfs`@@@r"test_nan_noncompare_arrayz-TestArrayAssertLess.test_nan_noncompare_arrays HH_ %xxn&HIn&HI HHc3' (n&HIn&HI HHc3' ( !Qn&EFr$ctjdtjtjjj j t t fdt t fdt t fdt t fdt t fdy)Nr)c(jSrrr*r%rsr"r&z6TestArrayAssertLess.test_inf_compare..rr$c*j Srrrsr"r&z6TestArrayAssertLess.test_inf_compare..d.?.?te.Lr$c(jSrrr*rsr"r&z6TestArrayAssertLess.test_inf_compare..rr$c*j Srrrsr"r&z6TestArrayAssertLess.test_inf_compare..rr$c,j Srrrsr"r&z6TestArrayAssertLess.test_inf_compare..sd.?.?u.Mr$)r,r-rrrr&)rr*r%s`@@r"test_inf_comparez$TestArrayAssertLess.test_inf_comparesxx{xx $% 4%& 4%&n&KLn&LMn&KLn&LMn&MNr$ctjddtjgtjtjttfdttfdttfdttfdttfdj  y)Nrrc(jSrrr*rresr"r&z.rr$c(jSrrrsr"r&z.rr$c*j Srrrsr"r&z.sd.?.?D5.Ir$c,j Srrrsr"r&z.sd.?.?TE.Jr$c,j  Srrrsr"r&z.sd.?.?r.Jr$)r,r-rrr&r)rr*res`@@r"test_inf_compare_arrayz*TestArrayAssertLess.test_inf_compare_arraysw HHc3' (xxn&HIn&HIn&IJn&JKn&JK 4%#r$c"tjd}tjd}|j||t j t 5|j||ddddtj||j}|j||t j t 5|j||jtjddddy#1swYxYw#1swYyxYwz)Test the behavior of the `strict` option.r3rFTrN) r,zerosrxrr_r`r& broadcast_torastyperrs r" test_strictzTestArrayAssertLess.test_stricts HHQK GGBK !Q ]]> * 1   a4  0 1 OOAqww ' !Q ]]> * D   a"**!5d  C D D  1 1 D DsC9>2D9DDN)rCrDrErJrrrrrrrrrrrrFr$r"rr4sE.$* GG G($:$>MG" O $ Dr$rc$eZdZdZdZdZdZy) TestWarnsc*d}tjdjdd}tt t |dtjdj}t tt|ttdddt||dy)Nc.tjdy)Nyor3warningswarnrFr$r"fzTestWarns.test_warn..fs MM$ r$rr3c|SrrF)res r"r&z%TestWarns.test_warn.. s!r$r).assert_warns does not preserver warnings state) sysmodulesfiltersr r UserWarningrr&r)rrbefore_filters after_filterss r" test_warnzTestWarns.test_warnsx Z088;\+q115 J/77 n&8!<' Q7; ^]E Gr$c0tjdjdd}tt5t j ddddtjdj}d}tt|t||dy#1swYGxYw)Nrrclt5tjddddy#1swYyxYwNr)rrrrFr$r" no_warningsz3TestWarns.test_context_manager..no_warningss)#% $ d# $ $ $s*3r) rrrrrrrrr&r )rrrrs r"test_context_managerzTestWarns.test_context_managersyZ088; + & MM$   J/77  $ nk2^]E G  s B  Bcjd d}tt|ddk(sJtjt5}ttd5t j dtdddddddtvsJdt|vsJtjt5}ttd 5t j dtdddddddt|vsJdt|vsJy#1swYxYw#1swYxYw#1swYHxYw#1swYLxYw) Nc6tjd||zSrr)r r!s r"rzTestWarns.test_args..fs MM$ q5Lr$rwr!Ar]Brz pytest.warns)wrong)rr))rrr_r` RuntimeErrorrrra)rrexcs r" test_argszTestWarns.test_argss  Kb1R777 ]]< ( 0Ck5 0 c;/ 0 0S)))S))) ]]< ( 0Ck5 0 c;/ 0 0S)))SX--- 0 0 0 0 0 0 0 0sGDD"D)D);DD)D DDD& "D))D2cd}d}tj5tjdt t t |d}ddd|r t dy#t$rY!wxYw#1swY&xYw)Nc8tjdtyr)rrDeprecationWarningrFr$r"rz,TestWarns.test_warn_wrong_warning..f4s MM$ 2 3r$FerrorTz#wrong warning caught by assert_warn)rcatch_warnings simplefilterr rrr&)rrfaileds r"test_warn_wrong_warningz!TestWarns.test_warn_wrong_warning3s~ 4  $ $ &   ! !'+= > [!,    !FG G &     s(A-A A*'A-)A**A--A6N)rCrDrErrrrrFr$r"rrsG G.*Hr$rcHeZdZdZdZdZdZdZdZdZ dZ d Z d Z y ) TestAssertAllclosec<d}d}t||dttt||d}tjtt j |5t||dddd}d}tjtt j |5t||dddd }tjtt j |5t||dddtj||||g}tj||||g}t||dttt|||d z|d <t||ttt||d td dd tttdd d tj||||g}tj||||g}d}tjtt j |5t||dddd}tjtt j |5t||dddy#1swYxYw#1swYxYw#1swYxYw#1swYvxYw#1swYyxYw)NgMbP?g& .>r)atolzMismatched elements: 1 / 1 (100%) Max absolute difference among violations: 0.001 Max relative difference among violations: 999999.r]rzMismatched elements: 1 / 1 (100%) Max absolute difference among violations: 1.e-09 Max relative difference among violations: infzMismatched elements: 1 / 1 (100%) Max absolute difference among violations: 1.e-09 Max relative difference among violations: 1.g1?r )rtolrrg?z~Mismatched elements: 1 / 4 (25%) Max absolute difference among violations: 0.001 Max relative difference among violations: infz}Mismatched elements: 1 / 4 (25%) Max absolute difference among violations: 0.001 Max relative difference among violations: 1.) rrr&r_r`rcrdr,r-)rrerfrirJr r!rSs r"rzTestAssertAllclose.test_simpleGs*  11%noq!<L ]]><1H I " Aq ! " H ]]><1H I " Aq ! "G ]]><1H I " Aq ! " HHaAq\ " HHaAq\ "11%noq!<X"1noq!$G2C(nor13G HHaAq\ " HHaAq\ "H ]]><1H I " Aq ! "G ]]><1H I " Aq ! " "Q " " " "  " "* " "  " "s< I I,% I9 J JI),I69JJJctjtjtjjgtj}t ||y)Nr:)r,r-iinfoint_minrr=s r" test_min_intzTestAssertAllclose.test_min_int|s6 HHbhhrww'++,BGG <1r$ctjgd}tjgd}d}tjtt j |5t||dddy#1swYyxYw)N)r)r)r)r))r)r)r)r*zzMismatched elements: 1 / 4 (25%) Max absolute difference among violations: 1 Max relative difference among violations: 0.5r]r,r-r_r`r&rcrdrrs r"test_report_fail_percentagez.TestAssertAllclose.test_report_fail_percentages^ HH\ " HH\ "H ]]><1H I " Aq ! " " "  A55A>ctjtjg}tjtjg}t||dy)NT equal_nan)r,r-rorrs r"test_equal_nanz!TestAssertAllclose.test_equal_nans6 HHbffX  HHbffX 1-r$ctjtjg}tjtjg}ttt ||dy)NFr)r,r-rorr&rrs r"test_not_equal_nanz%TestAssertAllclose.test_not_equal_nans: HHbffX  HHbffX noq!uMr$ctjtjg}tjtjg}t||t ||t ||t ||yr)r,r-ror rr rrs r"test_equal_nan_defaultz)TestAssertAllclose.test_equal_nan_defaultsT HHbffX  HHbffX 1a !!Q'!Q1r$ctjddg}tjddg}d}tjtt j |5t||dddy#1swYyxYw)Nrr)r*z-Max relative difference among violations: 0.5r]rrs r"test_report_max_relative_errorz1TestAssertAllclose.test_report_max_relative_errorsa HHaV  HHaV F ]]><1H I " Aq ! " " "rcPtjgdgd}t||y)N)r)r*r3rzm8[ns]r:)r,r-rr=s r"test_timedeltaz!TestAssertAllclose.test_timedeltas HH&'x 81r$ctjgdd}tjgdd}d}tjtt j |5t||dd d d y #1swYy xYw) zUCheck the message is formatted correctly when overflow can occur (gh21768))rr)ruint8r:)r4r4r4z+Max absolute difference among violations: 4r]r3rN)r,asarrayr_r`r&rcrdrrs r"test_error_message_unsignedz.TestAssertAllclose.test_error_message_unsignedsa JJy 0 JJy 0D ]]><1H I * Aqq ) * * *s #A;;Bctjd}tjd}t||tjt 5t||ddddt||tjt 5t||j tjddddy#1swYcxYw#1swYyxYwr)r,rxrr_r`r&rrrs r"rzTestAssertAllclose.test_stricts GGAJ GGBK1 ]]> * / Aq . /1 ]]> * B Aqxx 3D A B B / / B BsC ,C C  CN) rCrDrErrrr!r#r%r'r)r-rrFr$r"rrEs73"j ". N " * Br$rcZeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd Zy)TestArrayAlmostEqualNulpcd}tjdddtj}d|z}tj| |f}tj|j j }|||z|zdz z}t|||tj|j j}|||z|zdz z }t|||yNrrw2r:rr r,linspacefloat64r_finfor;epsr epsnegrnulprer:rfr;s r"test_float64_passz*TestArrayAlmostEqualNulp.test_float64_passs KKR2:: 6 E EE1"a%Lhhqww## C$# #&q!T2!''")) F T!B& &&q!T2r$cd}tjdddtj}d|z}tj| |f}tj|j j }|||z|zdzz}ttt|||tj|j j}|||z|zdzz }ttt|||yr2 r,r6r7r8r9r;r:rr&r r;r<s r"test_float64_failz*TestArrayAlmostEqualNulp.test_float64_fail KKR2:: 6 E EE1"a%Lhhqww## C$# #n&DD "!''")) F T!B& &n&DD "r$cntjd}tjtjtjj tj}||z }|j tj}|j tj}t ||dy)Nlr:r)r,uint64r-ror7rr )roffsetnan1_i64nan2_i64nan1_f64nan2_f64s r"test_float64_ignore_nanz0TestArrayAlmostEqualNulp.test_float64_ignore_nanss:&88BFF"**5::299Ef$==,==,Xx3r$cd}tjdddtj}d|z}tj| |f}tj|j j }|||z|zdz z}t|||tj|j j}|||z|zdz z }t|||yr2 r,r6rr8r9r;r:r r;r<s r"test_float32_passz*TestArrayAlmostEqualNulp.test_float32_passs KKR2:: 6 E EE1"a%Lhhqww## C$# #&q!T2!''")) F T!B& &&q!T2r$cd}tjdddtj}d|z}tj| |f}tj|j j }|||z|zdzz}ttt|||tj|j j}|||z|zdzz }ttt|||yr2 r,r6rr8r9r;r:rr&r r;r<s r"test_float32_failz*TestArrayAlmostEqualNulp.test_float32_failrBr$cntjd}tjtjtjj tj}||z }|j tj}|j tj}t ||dy)Nir:r)r,uint32r-rorrr )rrEnan1_i32nan2_i32nan1_f32nan2_f32s r"test_float32_ignore_nanz0TestArrayAlmostEqualNulp.test_float32_ignore_nanss6"88BFF"**5::299Ef$==,==,Xx3r$cd}tjdddtj}d|z}tj| |f}tj|j j }|||z|zdz z}t|||tj|j j}|||z|zdz z }t|||yNrr4rr:r) r,r6float16r8r9r;r:r r;r<s r"test_float16_passz*TestArrayAlmostEqualNulp.test_float16_passs KKAr 4 E EE1"a%Lhhqww## C$# #&q!T2!''")) F T!B& &&q!T2r$cd}tjdddtj}d|z}tj| |f}tj|j j }|||z|zdzz}ttt|||tj|j j}|||z|zdzz }ttt|||yrY) r,r6r[r8r9r;r:rr&r r;r<s r"test_float16_failz*TestArrayAlmostEqualNulp.test_float16_fail-s KKAr 4 E EE1"a%Lhhqww## C$# #n&DD "!''")) F T!B& &n&DD "r$cntjd}tjtjtjj tj}||z }|j tj}|j tj}t ||dy)Nr:r)r,uint16r-ror[rr )rrEnan1_i16nan2_i16nan1_f16nan2_f16s r"test_float16_ignore_nanz0TestArrayAlmostEqualNulp.test_float16_ignore_nan=sr488BFF"**5::299Ef$==,==,Xx3r$cd}tjdddtj}d|z}tj| |f}||dzz}tj|j j }|||z|zdz z}t|||dzz|t|||dzz||||z|zd z z}t|||dzz|tj|j j}|||z|zdz z }t|||dzz|t|||dzz||||z|zd z z }t|||dzz|y Nrr3rwr4r:r?rr~r5rr=rexir:rfr;s r"test_complex128_passz-TestArrayAlmostEqualNulp.test_complex128_passHsP KKR2:: 6 E EE1"a%L RZhhqww## C$# #&r1q2v:t<&r1q2v:t< C$# #&r1q2v:t<!''")) F T!B& &&r1q2v:t<&r1q2v:t< F T!B& &&r1q2v:trArJrMrPrWr\r^rfrlrorqrsrFr$r"r0r0sC3$" 4 3" 4 3" 4=.,:=*,r$r0c*eZdZdZdZdZdZdZy)TestULPc^tjjd}t||dy)Nrrmaxulp)r,randomrandnr )rres r" test_equalzTestULP.test_equals IIOOB Q!,r$chtjdjtj}|dtjj djtjzz }tj tjj}t|||zdy)Nr{Gz?rwrw) r,rxrrryrzr9r:r rrer:s r" test_singlezTestULP.test_singlesq GGBK  rzz * TBIIOOB'..rzz: ::hhrzz"&&QC3r$chtjdjtj}|dtjj djtjzz }tj tjj}t|||zdy)Nrr}rw) r,rxrr7ryrzr9r:r r~s r" test_doublezTestULP.test_doublesq GGBK  rzz * TBIIOOB'..rzz: ::hhrzz"&&QC4r$c6tjtjfD]v}tjtjgj |}tjtj |jg}t||dxy)Nrrw) r,rr7r-rrr9maxr )rdtrbigs r"r4zTestULP.test_infsh::rzz* 7B((BFF8$++B/C((BHHRL,,-.C c# 6 7r$ctjtjfD]}|tjk(rdndtjtjgj |tjtj gj |tjtj|jgtjtj|jgtjdgj |tjdgj |ttfdttfdttfdttfdttfd y) Ng.AgmBrgc tSNrwr )rrxrosr"r&z"TestULP.test_nan.."6sC>D#Fr$c tSrr)rrxrosr"r&z"TestULP.test_nan..rr$c tSrr)rxrotinysr"r&z"TestULP.test_nan.."6sD>D#Fr$c tSrr)rxrozerosr"r&z"TestULP.test_nan..rr$c tSrr)rxronzerosr"r&z"TestULP.test_nan..s"6sE>D#Fr$) r,rr7r-rrror9rrrr&) rrrrrxrorrrs @@@@@@@r"r.zTestULP.test_nansE::rzz* GBRZZ((BFF8$++B/C((BFF8$++B/C((BHHRL,,-.C88RXXb\../0D88SE?))"-DHHdV$++B/E .F G .F G .F G .F G .F G/ Gr$N)rCrDrEr{rrr4r.rFr$r"rurus-457 Gr$ruceZdZdZdZy)TestStringEqualc tddtddtjt5}tdddddt j }t |dttdy#1swY.s1%Ar$)rr_r`r&rarbr r)rrgrhs r"rzTestStringEqual.test_simpleslGW-.0BC ]]> * :h  L 9 :(..!SCDnA C  : :s A::Bc>tddttdy)Nza+*bctddS)Naaaza+brrFr$r"r&z,TestStringEqual.test_regex..s1%?r$)rrr&rAs r" test_regexzTestStringEqual.test_regexsFF+n? Ar$N)rCrDrErrrFr$r"rrs CAr$rc |j}t|}d|vr|dz}t||y#t$ri}Y.wxYw)Nversionr))__warningregistry__AttributeErrorlenr )mod n_in_context mod_warns num_warnss r"assert_warn_len_equalrsR ++ III Q L)#  s / ==c|Gdd}|}t|dGdd}|}t|dy)Nc eZdZy)/test_warn_len_equal_call_scenarios..modN)rCrDrErFr$r"rrs r$rr)rrceZdZdZy)rcddd|_y)Nr)r*warning1warning2)rrAs r"__init__z8test_warn_len_equal_call_scenarios..mod.__init__#s4545(7D $r$N)rCrDrErrFr$r"rz/test_warn_len_equal_call_scenarios..mod"s 7r$r*)r)rmod_insts r""test_warn_len_equal_call_scenariosrsB  uHh'(* 77 uHh'(*r$ctjt} |jj |S#t $rY|SwxYwr)rrrCrclearrmy_mods r"_get_fresh_modr,sI [[ "F ""((* M   M  s5 AAc$t}tt|diit|g5t j dt j ddddt|jit5t j dt j ddddt|dddd|_t|g5t j dt j d dddt|dt5t j dt j d dddt|dy#1swY xYw#1swYxYw#1swYxxYw#1swY;xYw) Nr)rignore Some warningrr)r*rzAnother warning) rr getattrrrr rrrrs r"test_clear_and_catch_warningsr8sJ  F!6;R@ !6( 3&h' n%&++R0 " #&h' n%&&!$/0./"1F "6( 3)h' '()&!$ " #)h' '()&!$3&& &&)) ))s/+E!+E.+E:!+F!E+.E7:FFct}tt|diid}t|dt 5}|j t |jtjjtjd|dddttjdt|jdjj ddt|dt }|j||5tjddddt|d|j||5tjddddt|dt 5tj"dtjddddt|dy#1swY5xYw#1swYxYw#1swYxxYw#1swY;xYw)Nrc:d}tj|ddgy)Nc4tjdd|S)NzSome warning 2r* stacklevelrarrs r"rzFtest_suppress_warnings_module..warn_other_module..warn`s MM*q 9Jr$rr,apply_along_axisrs r"warn_other_modulez8test_suppress_warnings_module..warn_other_module]  D!aS)r$rmodulerr)r)rr rrrrecordrfilterr,lib_shape_base_implrrrlogmessagerr )rrsups r"test_suppress_warnings_modulerXs  F!6;R@*&!$   ; "&&11 2 n% SWWq!##((+^<&!$  CJJfJ & n%&&!$JJfJ & n%&&!$  &h' n%&&!$9&& && &&s0AG GG# +G/ GG #G,/G8ct}tt|diit5}|j t t jddddt|dt}|j t |5t jddddt|d|j ||5t jddddt|dt5t jdt jddddt|dy#1swYxYw#1swYxYw#1swYwxYw#1swY:xYw)Nrrrrr) rr rrrrrrrr )rrs r"test_suppress_warnings_typers"  F!6;R@  & ; n%&&!$  CJJ{ & n%&&!$JJfJ & n%&&!$  &h' n%&&!$'&& && && &&s/+D> E  E>+E">E EE"E+c,t}|jt|d}tjd5}tj d|t|t tt|ddddy#1swYyxYw)Nc0tjd|y)Nrr)categorys r"rz7test_suppress_warnings_decorate_no_record..warns nh/r$T)ralwaysr)) rrrrr r RuntimeWarningr r)rrws r")test_suppress_warnings_decorate_no_recordrs{  CJJ{0 0   - h' [ ^SVQ    s AB  Bcnt}|j}|5|jd}|jdtjdtjdtjdt t |jdt t |dt t |dt |djjddddd|5|jd}|jdtjdtjdtjdt t |jdt t |dt t |dt |djjdddddt5}|jt5}|jdtjdtjdt t |jddddt t |jddddy#1swYxYw#1swYxYw#1swYJxYw#1swYyxYw)NzSome other warning 2)rrSome other warningr*r)r) rrrrrr rrrr)rlog1log2sup2s r"test_suppress_warnings_recordrs  C :: * n% *+ ,-S\1%SY"SY"T!W__))!,.DE F Fzz"8z9 > * n% *+ ,-S\1%SY"SY"T!W__))!,.DE F  &   +D KKK / MM. ) MM. / TXX *  + S\1%&&5 F F F F + +&&s>CJ:CJJ+:AJ'J+JJJ( $J++J4cLd}t5}|jtd5tdD]}tjd dddt t |jddddt5}|jtd5tdD],}tjdtjd. dddt t |jddddt5}|jtd5tdD]3}tjdtjd|5 dddt t |jddddt5}|jtd5tdD]3}tjdtjd|5 dddt t |jddddy#1swYxYw#1swYxYw#1swY|xYw#1swYbxYw#1swYxYw#1swYxYw#1swY}xYw#1swYyxYw) Nc:d}tj|ddgy)Nc4tjdd|S)Nrr*rrrs r"rzJtest_suppress_warnings_forwarding..warn_other_module..warns MM.Q 7Jr$rrrs r"rz.warn_other_modulerr$rr*rlocationroncer)rrrangerrr rr)rris r"!test_suppress_warnings_forwardingrs*  & x ( .1X . n- . . S\1% &  & z * .1X . n- n- . . S\1%&  & x ( $1X $ n- n-!# $ $ S\1%&  & v & $1X $ n- 23!# $ $ S\1%&&3 . .&& . .&& $ $&& $ $&&sI&I'I I)&;I"'I)J7AI6:'J3JAJ'JI III& !I))I36I? ;JJ J JJ#ct5}tjj|d}t |d5 ddddddt tjj  d} t5}t#1swYNxYw#1swYRxYw#1swYnxYwn#t$rd}YnwxYwt |t tjj | y)NtmprFT)rospathjoinopenrisdir ValueError)tdirfpathraiseds r" test_tempdirrs d T5) %      d# #$ F Y $        FO  d# #$sE-BBB6 B,BB BBB($B,, B:9B:ct5}t|d5 ddddddttjj  d} t5}t #1swYNxYw#1swYRxYw#1swYnxYwn#t $rd}YnwxYwt|ttjj | y)NrFT)rrrrrisfiler)rrs r" test_temppathrs u %     u% %& F Z 5        FO u% %&sE A3A'A3 B A?'A0 ,A33A<?BB BBc,eZdZejefZy)my_cacwN)rCrDrErr class_modulesrFr$r"rr)s[[*,Mr$rct}t5tjdtjddddt |j iy#1swY xYw)Nrr)rrrr rr rrs r"%test_clear_and_catch_warnings_inheritr.sP  F &h' n%&++R0&&s +AA(zPython lacks refcounts)reasoncTeZdZdZdZdZejjdZ y)TestAssertNoGcCyclesz Test assert_no_gc_cycles cld}t5|dddt|y#1swYxYw)Nc,g}|jg|Srappendrs r"no_cyclez2TestAssertNoGcCycles.test_passes..no_cycle<sA HHRLHr$)r)rrs r" test_passesz TestAssertNoGcCycles.test_passes;s3  ! "  J  H%  s*3cd}tt5t5|ddddddtt5t|dddy#1swY5xYw#1swY9xYw#1swYyxYw)NcNg}|j||j||Srr)r s r" make_cyclez5TestAssertNoGcCycles.test_asserts..make_cycleGs"A HHQK HHQKHr$)rr&r)rr s r" test_assertsz!TestAssertNoGcCycles.test_assertsFsr  > * $&    > * ,  + , ,     , ,s- A&AA& A2A# A&&A/2A;c4Gfdd tj} tt5t ddddd_y#1swYxYw#t $r |t jdY.ReferenceCycleInDelz An object that not only contains a reference cycle, but creates new cycles whenever it's garbage-collected and its __del__ runs Tc||_yr)cyclerAs r"rzETestAssertNoGcCycles.test_fails..ReferenceCycleInDel.__init__bs ! r$c<d|_jryyr)rr )rReferenceCycleInDels r"__del__zDTestAssertNoGcCycles.test_fails..ReferenceCycleInDel.__del__es ! &11()2r$N)rCrDrE__doc__r rr)rsr"rr [s J " *r$rcyrrFrFr$r"r&z1TestAssertNoGcCycles.test_fails..ssr$Nz*GC does not call __del__ on cyclic objectsF) weakrefrefrrrr&r_skipr )rrrs @r" test_failszTestAssertNoGcCycles.test_failsTs * *& 3 /12A "<06' 56.3  *66" 3?KK LM# .3  *s?BA" AA"AA""&B B B  B BN) rCrDrErrr r_markslowrrFr$r"rr7s-$ & , [[(3(3r$r)@rrrcrrrr_numpyr,numpy._core._multiarray_umath_core_multiarray_umathr numpy.testingrrrrrrr r r r r rrrrrrrrrrrrHrrrr[rrrrr0rurrrrrrrrrrrrrrrskipifrrFr$r"r!su  ++2+/+/\\1\\1~**Z\)\)~u <u pP lP f(M(MVFDFDREHEHPBBDc,c,L5G5GpAA(*.*8 %@+%\%8  %&P,&^%" ' -&- 1 $-EFE3E3GE3r$