bgddlZddlZddlmZddlmZddlmZddl m Z m Z ddl m Z mZmZmZmZmZmZmZmZmZmZmZmZmZmZejjjZejjj Z ejjj!Z!ejjj"Z#ejjj$Z%GddZ&Gdd Z'Gd d Z(Gd d Z)GddZ*GddZ+GddZ,GddZ-dS)N) MaskedRecords) assert_equal)assert_ assert_raises) drop_fields rename_fieldsget_fieldstructurerecursive_fill_fieldsfind_duplicates merge_arrays append_fields stack_arraysjoin_by repack_fieldsunstructured_to_structuredstructured_to_unstructuredapply_along_fieldsrequire_fieldsassign_fields_by_namec\eZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdS)TestRecFunctionsctjddg}tjgd}tjddgddtfg}tjd d gd tfd d tfdtfgfg}||||f|_dSN A?B@r!z|S3r$dtyperr@@abbabbnparrayfloatintdataselfxyzws t/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib64/python3.11/site-packages/numpy/lib/tests/test_recfunctions.py setup_methodzTestRecFunctions.setup_methods HaX   H\\\ " " Hi+(3,7 9 9 9 Hm]3 #Je}tSk.J(KL N N N1aL c |j\}}}}t||fd}t|tjdt fdt fgt||fd}t|tjdt fdt fgt||fd}t|tjdt fddt fgt||fd}t|tjdt fdddt fgfgt||fd}t|tjdt fdt fdt fd t fgt||fd}t|tjdt fddt fd dt fd t fgfgfgdS) NTflattenFr&r$r1r3r4r2)r: zip_descrrr6r(r9r8)r<r@r=r>r?tests rAtest_zip_descrzTestRecFunctions.test_zip_descr sy Aq!!Q...TXCy2s)455 7 7 7!Q///TXCy2s)455 7 7 7!Q...TXCy,e EFF H H H!Q///TXCy "\C<$@ACDD E E E !Q...TXCy #Sz $e}tSk;<< = = =!Q///TXCy "c3Z&)T5MD#;+G%H%J KLMM N N N N NrCctjddgdtfddtfdtfgfg}t |d}tjdd gddtfdtfgfg}t ||t |d}tjd d gdtfg}t ||t |dg}tjd d gdtfddtfgfg}t ||t |ddg}tjd d gdtfg}t ||t |ddg}tjddgg}t ||dS)Nr)r,r1r2r3r4r')r*)r.rr-)r)r+)r-)r0)r6r7r9r8rrr<r1rIcontrols rAtest_drop_fieldsz!TestRecFunctions.test_drop_fieldsAs Hm]3 #Je}tSk.J(KL N N N1c""(K5#&$s (D"E!FHHHT7###1c""(D$<c |<<<T7###1th''(K5#&*sdC[M.B!CEEET7###1tTl++(D$<c |<<<T7###1sCj))(B82...T7#####rCc `tjddddgffddddgffgd tfd d tfd tdffgfg }t |ddd}dtfd d tfdtdffgfg}||}t |j|t ||dS)Nrrr+>@r-r/r0gN@r1r2r3r4r'r!BB)r1r4)r6r7r9r8rviewrr()r<r1rInewdtyperPs rAtest_rename_fieldsz#TestRecFunctions.test_rename_fieldsas Hq1sCj/*QS#J,@A #J D%=4%2D"EFH I I IQc 6 677#Je}teQZ6H&I JK&&""TZ***T7#####rCctjddtfg}t|}t |dtjdt fddtfdt fgfg}t|}t |dtjdt fdgfg}t|}t |d tjg}t|}t |d dS) Nr&r$r!r$r1r2r3r4)r1)r2)r3r4)r1)r2rNrN)r6r(r8 get_namesrr9r<ndtyperIs rAtest_get_nameszTestRecFunctions.test_get_namesls<#u677  T:&&&C:tUmdC[-I'JKLL  T5666C:Ry122  T+,,,"  T2rCctjddtfg}t|}t |dtjdt fddtfdt fgfg}t|}t |dtjdt fdgfg}t|}t |d tjg}t|}t |d dS) Nr&r$rYr1r2r3r4)r1r2r3r4r1r2rN)r6r(r8get_names_flatrr9r[s rAtest_get_names_flatz$TestRecFunctions.test_get_names_flat~s<#u677f%%T:&&&C:tUmdC[-I'JKLLf%%T1222C:Ry122f%%T:&&&"f%%T2rCc Vtjddtfg}t|}t |ggdtjdt fddtfdgfg}t|}t |ggdgdgdtjdt fddt fdd t fd t fgfgfg}t|}ggdgdgddgddgd }t ||tjg}t|}t |idS) Nr&r$rYr!BArTz|S1)r!r$rcrTrTBBABBB)r!r$rcrTrerf)r6r(r8r rr9)r<r\rIrPs rAtest_get_fieldstructurez(TestRecFunctions.test_get_fieldstructuresX<#u677!&))T"--...C:tUm]-K'LMNN!&))T"SGC5IIJJJC:4+#'5#, )E"F"HIJKK"&))C5+sDk;;T7###"!&))T2rCctjgdgddtfddtfdgfg}t |dd }d d g}t t |d |t |d ||d t |dd }gd}t t |d |t |d ||d t |dd }gd}t t |d |t |d ||d t |dd }gd}t t |d |t |d ||d t |dd }gd}t t |d |t |d ||d dS)N)rr%r$)rrjri)r)r"r$ri)r)r%C)rrrrlrlrl)rrm)rrrr!r$rcrdmaskr(FT ignoremask return_indexrr)keyrs)rrrr/)rrrr-rT)rrrrvr-)mar7r9r8r rsortedrOs rAtest_find_duplicatesz%TestRecFunctions.test_find_duplicatess  HFFFBBB #Je}m.L(MN  P P P qUFFFa&VDH%%w///T!WaRk***qc===!//VDH%%w///T!WaRk***qc===,,VDH%%w///T!WaRk***qd>>>,,VDH%%w///T!WaRk***qd>>>!//VDH%%w///T!WaRk*****rCcdtfg}tjgdgd|}t |dd}gd}t t |d|t |d ||dt |d d}gd }t t |d|t |d ||ddS) Nr1)rrrrrrvrv)rrrrrrrrpTrq)rrrvr-rtrF)rrrrvr-)r9rwr7rUr rrx)r<r\r1rIrPs rAtest_find_duplicates_ignoremaskz0TestRecFunctions.test_find_duplicates_ignoremasks* H***/// 1 1 115f qTEEE,,VDH%%w///T!WaRk***qUFFF$$$VDH%%w///T!WaRk*****rCctjdd}tjd|}tt |tjdtt |jdtt t |d|tjtj|f}tt |jtjudS)Nzu1,f4,i8Talignrr' ) r6r(zerosrritemsizerecordrtype)r<dtr1s rAtest_repack_fieldsz#TestRecFunctions.test_repack_fieldss Xj - - - HQb ! ! !]2&&(<(<===]1%%.333]=#4#4DAAA2FFFXry"o & & b!!&")344444rCc tjdgd}t|}t|tjddtjgdgd}tjt|dd gd }t|tjgd tjt|dgd }t|tjgd tjdd}t||j }tjddddgfddddgfddddgfddddgfgdd d!d"gfd#g}t||tjgdgd}tttj|tjgd$tttj|dd gtjgd tjgdgd%}t|}t||j } ttj ||ttj | |t|d dg} t| dd&gd'dgd(d'gd)dggttj | |tjd&d*d+gddgd,d'ggfd-d.dgd(d)gd/d0ggfggd1}t|}t||j } ttj ||ttj | ||ddd } t| } t| gd2gd3g|gd4} t| } t| gd5gd6gtjd&d*d+gddgd,d'ggd7fd-d.dgd(d)gd/d0ggd8fggd9}t|gd:}ttj ||t|gd3gd2gtj dtfd;tfg}tj d<|fd |fd=|fg}tjd|}t|t}t|tjd>td?}d@}dPdA}|||tjtjd+}t||dBtj|f|||tjd*d*}t||dCtj|f|tj}t||dDtj|f|tj||tjd*d*}t||dEtj|f|}tt ttjd+|tt"ttjd+|tjtt"ttjdFtjtjdGdHgddIg}t|dJK}|tj}t|dLK}t|dJK} ttj ||tt)|tjutt)| tjut||t| |tj|dMz dN|j |jO}||dd<t|dLK}t|dJK} ttj ||tt)|tjutt)| tjut||t| |dS)QNr-)r1i4)r2zf4,u2)cf4rr')r-r/f8))rrr/)r-r/)r )rr )r=r)r>r)r?rr=r?rt)axis)r+g@"@&@)r"@@$@rr)r"rr+rr/)r0r @rr)rrg*@g,@)g0@g2@g3@rr2)f0r)f1u2)rrr)gUUUUUU@gUUUUUU@gUUUUUU!@r)r)r>r)r?rrrrrrrvr|r r)x0rx1)rrx2)rrr)rrrrrrr)rrrvr-r/r|r)rrr)r-r/r|rrrvr)rrrrrrr @)rrr)ignoredu1)rrrr>r1r)rr|c.tj||fSN)r6r()rshapes rAsubarrayzBTestRecFunctions.test_structured_to_unstructured..subarray;s8RK(( (rCcXtjdt|DS)NcBg|]\}}d||fS)zx{})format).0irs rA zXTestRecFunctions.test_structured_to_unstructured..structured..?s+OOOuq"ell1oor2OOOrC)r6r( enumerate)dtss rA structuredzDTestRecFunctions.test_structured_to_unstructured..structured>s'8OO #OOOPP PrCctjd|}t||}t||}|j|j|jfS)NrNr')r6rrrrr()rr(arrretbackarrs rAinspectzATestRecFunctions.test_structured_to_unstructured..inspectAsG(2r""C,S>>>C0b99G9ci6 6rC)r|rMrL)r/)rvrrrrvr-)r2rT)copyFmemmapzw+)moder(rr)r6rrrr7meanarangereshaperr(rr shares_memoryr9int32r ValueErrorNotImplementedErrorrUrecarrayrrr)r<tmp_pathr1outr2rwantdddddd dd_attrib_revd_revdd_rev d_attrib_revpointtrianglerresrrrrd_plain dd_expecteds rAtest_structured_to_unstructuredz0TestRecFunctions.test_structured_to_unstructuredsK HQKKK L L L(++S"(5555666 HEEEBBB D D Dg0C:??bIIIS"(#;#;#;<<===g0C5::DDDS"(#;#;#;<<=== IbMM ! !% ( ((AG44x1i24i24i#s4i#s46( <">?-/ 000 S$ HEEEBBB D D D'33X>>>?? A A A'C:??X66677 9 9 9 HEEEBBB D D D ' * *(QW55 Q''((( a(()))31c3Z=AA ]aVaVb!Wr2h$GHHH 22333 Hq1q'a!HAh#781b'RHr2h#78:444 5 5 5( * *(QW55 Q''((( a(()))$$B$+E22V8883335 6 6 6+++, 2<@@ ]%:%:%:%?%?%?%A B B B Hq1q'QFQF#3R81b'RHr2h#7<>GGG H H H(*<*<*<(= > > Q''(((R///4446 7 7 73*sCj1228c5\C<#uFGGhr8$$(C888S"(7#666777 ) ) ) Q Q Q 7 7 7 7 ZBHbh!?!?CC D DWWR[[42"6777 Z"(A!6!6:: ; ;WWR[[42"6777 Z ! !WWR[[42"6777 Z((88BHa+@+@!"D"D E EWWR[[42"6777 Z\\j"r')r6rr8r(rr)r<r1test_dtype_args test_dtypefield1field2s rAtest_unstructured_to_structuredz0TestRecFunctions.test_unstructured_to_structuredysl HW  <#u6Xo.. +A_EEE+AZ@@@VV$$$$$rCc tjdgd}ddg}tt||tjd|tjddg|}t ||d t|tjd d g|jt ||t|tjd d g|jtjddddgfg}ddgfg}tt||tjd|tjddg|}t ||d t|tjddg|jt ||t|tjddg|jtjdtjd}}t ||t|dddS)Nr)rr2rrrr'r2rrrrF)zero_unassigned)rrr)rrvr-)rrr)rrvr-r1r)r)rv)r)rrv))rr))rrvrvrrN)r6onesrrr7rr()r<r1newdtr2s rAtest_field_assignment_by_namez.TestRecFunctions.test_field_assignment_by_names GADDD E E Ek*^Au--rwq%/@/@AAA HeU^5 1 1 1aE::::Q''!2!'BBBCCCa###Q''!2!'BBBCCC GAs[+$>?@ A A A }%&^Au--rwq%/@/@AAA Hgw'u 5 5 5aE::::Q(H!5QWEEEFFFa###Q(H!5QWEEEFFFx{{BHQKK1a###QrUArCN)__name__ __module__ __qualname__rBrJrQrWr]rargryr}rrrrrNrCrArrs!!!NNNB$$$@ $ $ $$$6+++B + + + 5 5 5P'P'P'd%%%rCrceZdZdZdZdS)TestRecursiveFillFieldsctjddgdtfdtfg}tjd|j}t ||}tjgddtfdtfg}t||dS)Nrrr4@r!r$r'rrr)r)r6r7r9r8rr(r rr<r1r2rIrPs rAtest_simple_flexiblez,TestRecursiveFillFields.test_simple_flexibles Hh)3*sEl1K L L L HT ) ) )$Q**(888#&*sEl!;===T7#####rCc(tjddgddgdtfdtfg}tjd|j }t ||}tjgd gd dtfdtfg}t||dS) Nrrrrrnr!r$rorr'r)rrnrm)rwr7r9r8rr(r rrs rAtest_masked_flexiblez,TestRecursiveFillFields.test_masked_flexibles Hh)0@ #Je 5 7 7 7 HT ) ) )$Q**(888 8 8 8#&*sEl!;=== T7#####rCN)rrrrrrNrCrArrs2$$$ $ $ $ $ $rCrcJeZdZdZdZdZdZdZdZdZ dZ d Z d Z d S) TestMergeArraysc "tjddg}tjgd}tjddgddtfg}tjd d gd tfd d tfdtfdgfgfg}||||f|_dS)Nrrrr r#r&r$r'r)rr+rNr-)r/r0rNr1r2r3r4bcr5r;s rArBzTestMergeArrays.setup_methods HaX   H\\\ " " H  "<#u*F H H H H  1 2:tUmdC[4*%MNO Q Q Q1aL rCc`|j\}}}}t|}tjddgdtfg}t ||t|f}t ||t|d}t ||t|d}t ||dS)NrLrrr'FrET)r:r r6r7r9rr<_r=r?rIrPs rA test_solozTestMergeArrays.test_solosy Aq!A(D$<s }===T7###QD!!T7###Au---T1At,,,T1rCc|jd}t|d}t||t|d}tjddgdt fdt fd t fg }t||dS) NrFrET)rrr+)r-r/r0r1r3r4r')r:r rr6r7r9r8r<r@rIrPs rAtest_solo_w_flattenz#TestMergeArrays.test_solo_w_flattens IaLAu---T1At,,,(K5#&*tUmdC[!IKKKT7#####rCc|j\}}}}t||fd}tjgddtfdtfg}t ||t||fd}t jgdgddtfdtfg }t ||t |j|jdS) NFusemask)rr)rr)rtrrrr'Trmrmrnro)r:r r6r7r9rrwrpr<rr=r>rIrPs rA test_standardzTestMergeArrays.test_standardsy Aq!QFE222(777#'+c{!;===T7###QFD111(777 8 8 8#'+c{!;=== T7###TY -----rCcT|j\}}}}t||fd}tjddgdtfddt fg}t ||t||fd }tjd d gdtfd ddt fgfg}t ||dS) NTrE)rr!r")rr$r%rr&r$r'F)rr )rr#rr:r r6r7r9r8rrs rA test_flattenzTestMergeArrays.test_flattensy Aq!QFD111(L,7#'+|c5\!JLLLT7###QFE222(NN;#'+#',e )E"F"HIII T7#####rCc|j\}}}}t||fd}tjddgdtfdtfdt fdtfg }t ||t||fd }dtfd dtfd dt fdtfd gfgfgfg}tjddg| }t ||dS)NTrE)rrrr+)rr-r/r0rr1r3r4r'Frr2r)r"r)rrr)r<r@r=rrIrP controldtypes rAtest_flatten_wflexiblez&TestMergeArrays.test_flatten_wflexibles y Aq!QFD111(NN;#'+#&*tUmdC["JKKK T7###QFE222s !%c ),e}tSkDRT:.V(W(Y!Z[ (35KL!-///T7#####rCcz|j\}}}}tjgdgd}t||fd}tjgdgddtfd tfg }t ||t||fdd }t ||t t|tdS) Nrrrvrrrr{Tr )rrr)rtrv)rrmrnrrro)r  asrecarray) r:rwr7r r9rr isinstancer)r<rr=mxrIrPs rAtest_wmasked_arraysz#TestMergeArrays.test_wmasked_arrays sy Aq! Xiiiiii 0 0 0QGT222(444 8 8 8#'+c{!;=== T7###QGTdCCCT7### 4//00000rCc$ttjddgdtfgtjgdf}t jgdgddtfdt fg}t||dS) Nrrr1)rrrS)rr)rtrSr rro)r r6r7rUr9rwr8r)r<rIrPs rAtest_w_singlefieldz"TestMergeArrays.test_w_singlefieldsRXq!f--22S#J<@@Xooo668::(::: 8 8 8#&*tUm!<>>> T7#####rCc|jd}t|tjgddt fgftjgdddt fdt fgdS)Nrtrrk)r!r"rr$r%r)z-1rtrr&r$r')r:r r6r7rUr9r8)r<r?s rAtest_w_shorter_flexz#TestMergeArrays.test_w_shorter_flex!s IbM a,,,//44sCj\BBCDDD ???$sElS#J? A A A A A ArCc |j\}}}}t|d|d|dfd}tjdgdtfdtfddd t fgfg }t ||dS) NrFr )rrr!rrrf2r&r$r'r)r<rr=r>r?rIrPs rAtest_singlerecordz!TestMergeArrays.test_singlerecord0sy Aq!QqT1Q41.>>>(-.#'+#'+#',e )E"F"HIII T7#####rCN) rrrrBrrrrrrrr#r'rNrCrArrs!!!    $ $ $... $ $ $$$$" 1 1 1$$$ A A A$$$$$rCrc,eZdZdZdZdZdZdZdS)TestAppendFieldsctjddg}tjgd}tjddgddtfg}tjd d gd tfd d tfdtfgfg}||||f|_dSrr5r;s rArBzTestAppendFields.setup_method= HaX   H\\\ " " H  "<#u*F H H H Hm]3 #Je}tSk.J(KL N N N1aL rCc|j\}}}}t|dgd}tjgdgddtfdtfg}t ||dS)Nr!rr:r r rror:r rwr7r9rr<rr=rIrPs rAtest_append_singlez#TestAppendFields.test_append_singleFsyy Aq!Q,,,777(777 8 8 8#'+Sz!:=== T7#####rCc|j\}}}}t|dgdddgg}tjgdgddtfd tfd tfg }t ||dS) NrYrdr-))rrr2)rrr3)rtrrt)rrrr4)rrrrr!r$ror.r/s rAtest_append_doublez#TestAppendFields.test_append_doubleOsy Aq!Q ,,,c 1KLLL(EEE A A A#'+SzC:!FIII T7#####rCc|jd}t|dgd}tjgdgdddtfdt fg }t ||dS) Nrtrkrr-)r!r")rtr)r4r4rrrr&r$ro)r:r rwr7r8r9r)r<r?rIrPs rAtest_append_on_flexz$TestAppendFields.test_append_on_flexXsz IbMQ,,,777(HHH A A A".e sCj!ILLL T7#####rCc |jd}t|dgd}tjgdgddtfdd t fd tfgfdtfg }t ||dS) Nrrkrr-))rr*r)r-r.r)rt)rtr7r)rrmrr;)rrrr1r2r3r4ro)r:r rwr7r9r8rrs rAtest_append_on_nestedz&TestAppendFields.test_append_on_nestedas IaLQ,,,777(111!N!N!N#&*#&$s (D"E#&*". 000 T7#####rCN)rrrrBr0r5r9r<rNrCrAr)r):s_!!!$$$$$$$$$ $ $ $ $ $rCr)cDeZdZdZdZdZdZdZdZdZ dZ d Z d S) TestStackArraysctjddg}tjgd}tjddgddtfg}tjd d gd tfd d tfdtfgfg}||||f|_dSrr5r;s rArBzTestStackArrays.setup_methodrr+rCc|j\}}}}t|f}t||t||ut|}t||t||udSr)r:rrr)r<rr=rIs rArzTestStackArrays.test_solo{suy Aq!QD!!T1 AT1 rCct|j\}}}}t||fd}tjgd}t ||t||fd}tjgd}t ||t||fd}tjgd}t ||dS)NFr )rrrr)rrrrr)rrrrr)r:rr6r7rrs rAtest_unnamed_fieldsz#TestStackArrays.test_unnamed_fieldssy Aq!QFE222(<<<((T7###QFE222(---..T7###QFE222(---..T7#####rCcV|j\}}}}t||f}tjgdgddtfddt fg}t ||t |j|jt||f}tjgdgdddt fd tfg}t ||t |j|jt|||f}tjgd gd ddt fd tfg}t ||dS) N))rrtrt)rrtrt)rtr!r)rtr$r)rrrrDrrrr&r$ro)r!rrtr$rrtrtrtrrtrtr)rrrrIr8r8r&)rErFrErFrGrH)rIrIrIrIr8r8)r:rrwr7r9r8rrprs rAtest_unnamed_and_named_fieldsz-TestStackArrays.test_unnamed_and_named_fieldssy Aq!QF##(888!7!7!7#'+|c5\!J LLL T7###TY ---QF##(888!7!7!7".e tSk!J LLL T7###TY ---Q1I&&(888!7!7!7#/e tSk!J LLL T7#####rCc"|j\}}}}tjgdddtfdtfg}t ||f}t jgdddtfdtfggd}t ||t |j|jt |||f}ddtfdtfd tfg}t jgd |gd }t ||t |j|jdS) Nr1rY@r2ri@rrSr@r&r$rkr')rErFrMrOrQrIrIr4r4r4r(rpf3))r!rrtrt)r$rrtrt)r1rrNrt)r2rrPrt)rrSrRrt)rtrtrtr)rtrtrtr)rrrrrVrrrrrWrWrrrrrX) r:r6r7r8rrwrrpr9)r<rr=r?zzrIrPr\s rAtest_matching_named_fieldsz*TestStackArrays.test_matching_named_fieldss_y Aq! XLLL)C<#uFHHHQG$$(UUU#/e sEl!K!B!B!B CCC T7###TY ---QAJ''e sElT3KH(>>>"(!=!=!= >>> T7###TY -----rCc|j\}}}}tjgdddtfdtfg}dddd d }t ||f| }t jgd ddtfdtfggd }t ||t |j|jt |j|jdS)NrLr&r$rkr'z???g8gi)r!r$rkD)defaults))r!rr\)r$rr\rMrOrQrSrT)r:r6r7r8rrwrrp)r<rr?rYr^rIrPs rA test_defaultszTestStackArrays.test_defaultssy Aq! XLLL)C<#uFHHHUgFFQGh777(UUU#/e sEl!K!B!B!B CCC T7###TY ---TY -----rCcdtfdtfdtfg}tjdgdg|}dtfdtfdtfg}tjdg|}tjddgdd g|}t ||fd }t ||t |j|jtt5t ||fd ddddS#1swxYwYdS) Nr!r$rkrrrrror-r/r|r'r4T) autoconvertF) r9boolr8rwr7rrrpr TypeError)r<adtyper1bdtyper2rPrIs rAtest_autoconversionz#TestStackArrays.test_autoconversionsL*sDkC<8 Hi[ {& A A A*sElS%L9 Hi[ / / /(Iy1I8N!')))QF555T7###TY --- 9 % % 4 4 !QU 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4sC22C69C6czdtfdtfdtfg}tjdgdg|}dtfdtfdtfg}tjdg|}t ||f}tjddgdd g|}t ||t |j|jdS) N)r1r!)r2r$)rrkrrarorbr'r4)r9rdr8rwr7rrrp)r<rfr1rgr2rIrPs rAtest_checktitlesz TestStackArrays.test_checktitlesss#j$%7*e9LM Hi[ {& A A As#j$%7*e9LM Hi[ / / /QF##(Iy1I8N!')))T7###TY -----rCc tjddgddtdfg}tjddgd fd d gd fd dgdfgddtdfdtfg}t||f}t jddgdfddgdfddgd fdd gd fddgdfgddgdfddgdfddgdfddgdfddgdfg|j}t |j|jt ||t |j|jdS)Nr%)r$rr&r$rLr'r1rrNr2rrPrrSrRrkAr"rBr%abcFT)r:rpr()r6r7r8rrwr(rrp)r<r?rYrexpecteds rA test_subdtypezTestStackArrays.test_subdtypes| H h eT 23 5 5 5X 3% seT 2S3%4F eT 2S%LACCCAr7##8ua ua vu%vu%vu% '$'$'''' (    SY///S(###SXx}-----rCN) rrrrBrrBrJrZr_rhrjrrrNrCrAr>r>ps!!!   $$$ $$$@...8..." 4 4 4 . . ......rCr>cVeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd S) TestJoinByc $tjtttjdtjddtjdddt fdt fdt fg |_tjtttjd d tjd d tjdddt fdt fdt fg |_dS)Nr2<r2nr1r2rr'r/rAKrr6r7listziprr9r1r2r<s rArBzTestJoinBy.setup_methods$s29R==")B2C2C#%9S##6#6 8 899"%sc3Z#s DFFF$s29Q#3#3RYr25F5F#%9S##6#6 8 899"%sc3Z#s DFFFrCc |j|j}}td||d}tjgddt fdt fdt fdt fdt fg }t ||dS) Nr1inner)jointype))r/7ryir2)r|8Bje)r9Ckf)r:Dlg)r;Emhb1b2rrr'r1r2rr6r7r9rrs rAtest_inner_joinzTestJoinBy.test_inner_join$svtv1sAq7333(333$'*tSkD#;#&*sCj":;;; T7#####rCc|j|j}}td||tjgddt fdt fdt fdt fgdS)Nr_))r/rrr2)r|rrr)rrrr)rrrr)rrrrr1r2rrr')r1r2rr6r7r9r<r1r2s rA test_joinzTestJoinBy.test_join0svvtv1  Aq!!! %%%sc3Zsc3Z1 2 2 2 2 2 2rCc,tjdgdtfg}tjdtjgdfgdtfdg}td||}t ||t jdS)NrLrur'rr)valueuint16rv)r6r7r9rrrUrw MaskedArray)r<foobarrs rAtest_join_subdtypezTestJoinBy.test_join_subdtypeDshv$cl^---hBHWWW--./$cl,BCEEEeS#&&S#((2>2233333rCc |j|j}}td||d}tjgdgddt fdt fdt fdt fg }t ||dS) Nr_outer)rrvr2rtr3rrtr4rrtrv5rrtr-6rrtr/rrrt)r/ryrtr2r|rrrt)r|rrtrrrrrt)rrrtrrrrrt)rrrtrrrrrt)rrrtr)rFrtr)rGrtr)rHrtr)rIrtr)rJrtr)rWrWrWrWrWrWrrrrrWrrWrrWrrWrrrrrrr1r2rrror1r2rrwr7r9rrs rAtest_outer_joinzTestJoinBy.test_outer_joinMsvtv1z1a11( B B B != != !=$'*sCj#&*sCj":);;;, T7#####rCc |j|j}}td||d}tjgdgddt fdt fdt fdt fg }t ||dS) Nr_ leftouter) rrrrrrrrrr) rWrWrWrWrWrWrWrWrWrWr1r2rrrorrs rAtest_leftouter_joinzTestJoinBy.test_leftouter_joinisvtv1z1a55(@@@ !=!=!= $'*sCj3*sCj!Q S S S T7#####rCctjdgd}tjdgd}tddg||dd }t |jjgd dS) Nrvrrrr'rrrrr2rF)rr )r2ra1a2)r6rrrrr(names)r<r1r2js rAtest_different_field_orderz%TestJoinBy.test_different_field_orderzsu HQEEE F F F GADDD E E E S#J1w F F FQW]$:$:$:;;;;;rCctjdgd}tjdgd}ttt gd||dS)Nrvrr'r)r1r2r2)r6rrrrrrs rAtest_duplicate_keyszTestJoinBy.test_duplicate_keyssX HQEEE F F F GADDD E E Ej'???AqAAAAArCc6tjddg}tjddg}tjgd}tjddg|}tjdd g|}td ||}t |j|dS) N)ruS5r>#B#B#BCC Ho}5W E E E Ho}5W E E EeQ""SY/////rCc6tjddg}tjddg}tjgd}tjddg|}tjdd g|}td ||}t |j|dS) Nrr)r>(N,<=>>#C#C#CDD Ho}5W E E E Ho}5W E E EeQ""SY/////rCctjdtdfdg}tjgdtjfgddfg|}tjdtdfdg}tjgddfgd dfg|}tjdtdfddg}tjgdtjdfg|}t d||}t |j|t ||dS) Nposrv)fr)rrrrrr')gr)rvrr)r6r(r9r7pirr)r<rr1rr2rrqrs rAtest_subarray_keyzTestJoinBy.test_subarray_keys(UCO\:;; Hyyy"%(999c*:;7 K K K(UCO\:;; Hyyy!nyyy#&67w G G GE3?L,"OPP8iii23>JJJeQ""SY///S(#####rCcXtjdd}d|_tt |jdtjddg|}tjdd g|}td ||}tjgd }t|j|dS) Nzi1,f4Tr)kvrvr)rvrrrr))ri1)v1r)v2r) r6r(rrlendescrr7rr)r<rr1r2rrs rAtest_padded_dtypezTestJoinBy.test_padded_dtypes XgT * * *BH q!!! Hff%r * * Hff%r * *c1a  # # #    SY/////rCN)rrrrBrrrrrrrrrrrrNrCrArtrtsFFF $ $ $222(444$$$8$$$"<<<BBB 0 0 0 0 0 0 $ $ $00000rCrtc<eZdZedZdZdZdZdZdS) TestJoinBy2c "tjtttjdtjddtjdddt fdt fdt fg |_tjtttjdtjd d tjdddt fdt fd t fg |_dS) Nrrvrwr2rxr1r2rr'ryrzrr{)clss rArBzTestJoinBy2.setup_methodsc")B--2r1B1B"$)C"5"57788!$c S#Jc CEEEc")B--2r1B1B"$)C"5"57788!$c S#Jc CEEErCc |j|j}}td||ddd}tjgddt fdt fdt fd t fd t fg }t ||dS) Nr1rG2r r1postfix r2postfixr )rrvryr2r2)rrrrr)rrrrr)rvrrrr)r-rrrr)r/rrrr)r|rrrr)rrrrr)rrrrr)rrrrrr2rrrr'rrs rAtest_no_r1postfixzTestJoinBy2.test_no_r1postfixsvtv1 AsWFFF(JJJ $'*sCj4+#&*sCj": ;;; T7#####rCc Ztttd|j|jdddS)Nr1rG)rr)rrrr1r2r~s rAtest_no_postfixzTestJoinBy2.test_no_postfixs6j'3 "b 2 2 2 2 2 2rCc |j|j}}td||ddd}tjgddt fdt fdt fd t fd t fg }t ||dS) Nr11rGrrrrr2rrr'rrs rAtest_no_r2postfixzTestJoinBy2.test_no_r2postfixsvtv1 AWFFF(JJJ $'*tSkC:#&*sCj": ;;; T7#####rCc tjtttjddgdtjtjddtjddtjdddtfd tfd tfd tfg }tjtttjddgdtjtjddtjd dtjdddtfd tfd tfd tfg }tjgddtfd tfdtfdtfdtfdtfg }td dg||ddd}t|j |j t||dS)Nrrr/rrvrwrrr1r2rr'ryrzr) )rrrvryrr)rrrrrr)rrrrrr)rrrrrrv)rrrrrr-)rrrrrr/)rrvrrr|)rrvrrrr)rr-rrr)rr-rrrrrc1c2rrrr) r6r7r|r}tilerepeatrr9rrr()r<r1r2rPrIs rAtest_two_keys_two_varsz"TestJoinBy2.test_two_keys_two_varss HT#bgr2h22BIbillA4N4N iB//2r1B1BDDEE #Jc S#Jc K M M M HT#bgr2h22BIbillA4N4N iB//1b1A1ACCDD #Jc S#Jc K M M M(LLL $'*sCj4+#'+c{T3K"I JJJ #J1sWNNNTZ///T7#####rCN) rrr classmethodrBrrrrrNrCrArrslEE[E $ $ $222 $ $ $$$$$$rCrceZdZdZdZdZdS)TestAppendFieldsObjz; Test append_fields with arrays containing objects cRddlm}t|ddd|_dS)Nr)dateir)obj)datetimer dictr:)r<r s rArBz TestAppendFieldsObj.setup_methods8!!!!!!TT$1--... rCcd|jd}tj|df|dfgdtfdtfg}tjddgt }t |d |d }tj|ddf|ddfgdtfdtfd t fg}t||d S) z7Test append_fields when the base array contains objectsr r"r%r!r$r'rrrkF)r:r N)r:r6r7objectr8r9r r)r<r r=r>rIrPs rAtest_append_to_objectsz*TestAppendFieldsObj.test_append_to_objects si HsBi#r+!6]S%L9 ; ; ; Hb"XS ) ) )Q!U;;;(S#rNS#rN;#&-#uSz!JLLLT7#####rCN)rrr__doc__rBrrNrCrAr r s< /// $ $ $ $ $rCr ).pytestnumpyr6numpy.marwnumpy.ma.mrecordsrnumpy.ma.testutilsr numpy.testingrrnumpy.lib.recfunctionsrrr r r r r rrrrrrrrlib recfunctions_get_fieldspec get_fieldspecrZr` _zip_descrrH _zip_dtype zip_dtyperrrr)r>rtrr rNrCrAr!s ++++++++++++00000000?????????????????????????????????? #2 F  ) $3 F  * F  * GGGGGGGGT $$$$$$$$.B$B$B$B$B$B$B$B$J3$3$3$3$3$3$3$3$lh.h.h.h.h.h.h.h.Va0a0a0a0a0a0a0a0H?$?$?$?$?$?$?$?$B$$$$$$$$$$rC