K idddlZddlmZddlmZmZmZmZm Z m Z m Z m Z m Z mZmZmZmZmZmZddlmZddlmZddlmZmZej6j8j:Zej6j8j>Zej6j8j@Z ej6j8jBZ"ej6j8jFZ$GddZ%Gdd Z&Gd d Z'Gd d Z(GddZ)GddZ*GddZ+GddZ,y)N) append_fieldsapply_along_fieldsassign_fields_by_name drop_fieldsfind_duplicatesget_fieldstructurejoin_by merge_arraysrecursive_fill_fields rename_fields repack_fieldsrequire_fields stack_arraysstructured_to_unstructuredunstructured_to_structured) MaskedRecords) assert_equal)assert_ assert_raisescZeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd Zy)TestRecFunctionsctjddg}tjgd}tjddgddtfg}tjd d gd tfd d tfdtfgfg}||||f|_yN A?B@r!z|S3r$dtyperr@@abbabbnparrayfloatintdataselfxyzws g/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/numpy/lib/tests/test_recfunctions.py setup_methodzTestRecFunctions.setup_method#s HHaX  HH\ " HHi+(3,7 9 HHm]3 #Je}tSk.J(KL N1aL c D|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 fgfgfgy) NTflattenFr&r$r1r3r4r2)r: zip_descrrr6r(r9r8)r<r@r=r>r?tests rAtest_zip_descrzTestRecFunctions.test_zip_descr,syy Aq!!Q.TXXCy2s)45 7!Q/TXXCy2s)45 7!Q.TXXCy,e EF H!Q/TXXCy "\C<$@ACD E !Q.TXXCy #Sz $e}tSk;< =!Q/TXXCy "c3Z&)T5MD#;+G%H%J KLM 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 ||y)Nr)r,r1r2r3r4r')r*)r.rr-)r)r+)r-)r0)r6r7r9r8rrr<r1rIcontrols rAtest_drop_fieldsz!TestRecFunctions.test_drop_fieldsMs[ HHm]3 #Je}tSk.J(KL N1c"((K5#&$s (D"E!FHT7#1c"((D$<c |<T7#1th'((K5#&*sdC[M.B!CET7#1tTl+((D$<c |<T7#1sCj)((B82.T7#rCc >tjddddgffddddgffgd tfd d tfd tdffgfg }t |ddd}dtfd d tfdtdffgfg}|j |}t |j|t ||y)Nrrr+>@r-r/r0gN@r1r2r3r4r'r!BB)r1r4)r6r7r9r8r viewrr()r<r1rInewdtyperPs rAtest_rename_fieldsz#TestRecFunctions.test_rename_fieldsms HHq1sCj/*QS#J,@A #J D%=4%2D"EFH IQc 67#Je}teQZ6H&I JK&&"TZZ*T7#rCctjddtfg}t|}t |dtjdt fddtfdt fgfg}t|}t |dtjdt fdgfg}t|}t |d tjg}t|}t |d y) Nr&r$r!r$r1r2r3r4)r1)r2)r3r4)r1)r2rNrN)r6r(r8 get_namesrr9r<ndtyperIs rAtest_get_nameszTestRecFunctions.test_get_namesxs<#u67 T:&C:tUmdC[-I'JKL T56C:Ry12 T+," T2rCctjddtfg}t|}t |dtjdt fddtfdt fgfg}t|}t |dtjdt fdgfg}t|}t |d tjg}t|}t |d y) Nr&r$rYr1r2r3r4)r1r2r3r4r1r2rN)r6r(r8get_names_flatrr9r[s rAtest_get_names_flatz$TestRecFunctions.test_get_names_flats<#u67f%T:&C:tUmdC[-I'JKLf%T12C:Ry12f%T:&"f%T2rCc tjddtfg}t|}t |ggdtjdt fddtfdgfg}t|}t |ggdgdgdtjdt fddt fdd t fd t fgfgfg}t|}ggdgdgddgddgd }t ||tjg}t|}t |iy) Nr&r$rYr!BArTz|S1)r!r$rcrTrTBBABBB)r!r$rcrTrerf)r6r(r8rrr9)r<r\rIrPs rAtest_get_fieldstructurez(TestRecFunctions.test_get_fieldstructures<#u67!&)T"-.C:tUm]-K'LMN!&)T"SGC5IJC:4+#'5#, )E"F"HIJK"&)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 y)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-)mar7r9r8rrsortedrOs rAtest_find_duplicatesz%TestRecFunctions.test_find_duplicatessi HHFB #Je}m.L(MN  P qUFa&VDH%w/T!WaRk*qc=!VDH%w/T!WaRk*qc=VDH%w/T!WaRk*qd>VDH%w/T!WaRk*qd>!VDH%w/T!WaRk*rCcfdtfg}tjgdgdj|}t |dd}gd}t t |d|t |d ||dt |d d}gd }t t |d|t |d ||dy) Nr1)rrrrrrvrv)rrrrrrrrpTrq)rrrvr-rtrF)rrrrvr-)r9rwr7rUrrrx)r<r\r1rIrPs rAtest_find_duplicates_ignoremaskz0TestRecFunctions.test_find_duplicates_ignoremasks* HH*/ 115f qTEVDH%w/T!WaRk*qUF$VDH%w/T!WaRk*rCctjdd}tjd|}tt |tjdtt |j dtt t |d|tjtj |f}tt |jtj uy)Nzu1,f4,i8Talignrr' ) r6r(zerosrr itemsizerecordrtype)r<dtr1s rAtest_repack_fieldsz#TestRecFunctions.test_repack_fieldss XXj - HHQb !]2&(<=]1%..3]=#4DA2FXXryy"o & b!&&"))34rCc 4tjdgd}t|}t|tjddtjgdgd}tj t|dd gd }t|tjgd tj t|dgd }t|tjgd tj djd}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|gd3gd2gtjdtfd;tfg}tjd<|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}|j%tj&}t|dLK}t|dJK} ttj||tt)|tj&utt)| tj&ut||t| |tj*|dMz dN|j|j,O}||ddt|dLK}t|dJK} ttj||tt)|tj*utt)| tj*ut||t| |y)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|c0tj||fSN)r6r()rshapes rAsubarrayzBTestRecFunctions.test_structured_to_unstructured..subarrayFs88RK( (rCcztjt|Dcgc] \}}d||fc}}Scc}}w)Nr=)r6r( enumerate)dtsirs rA structuredzDTestRecFunctions.test_structured_to_unstructured..structuredIs188 #Guq"!gr]GH HGs7 ctjd|}t||}t||}|j|j |j fS)NrNr')r6rrrrr()rr(arrretbackarrs rAinspectzATestRecFunctions.test_structured_to_unstructured..inspectLsC((2r"C,S>C0b9G99cii6 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_unstructureds HHQK L(+S"((667 HHEB Dgg0C:?bIS"((#789gg0C5:DS"((#789 IIbM ! !& )(AGG4xx1i24i24i#s4i#s46( <">?-/ 0 S$ HHEB D'3XXCD F'C:?XX34 6 HHEB D ' *(QWW5  Q'(  a()31c3Z=A ]aVaVb!Wr2h$GH  23 HHq1q'a!HAh#781b'RHr2h#78:4 5( *(QWW5  Q'(  a()$B$+E2V835 6+, 2<@ ]%:%?%A B HHq1q'QFQF#3R81b'RHr2h#7<>G H(*<(= >  Q'(R/46 73*sCj1288c5\C<#uFGhhr8$(C8S"((7#67 ) I 7 BHHbhh!?C DWR[42"67 "((A!6: ;WR[42"67  !WR[42"67 (8BHHa+@!"D EWR[42"67 \j"r')r6rr8r(rr)r<r1test_dtype_args test_dtypefield1field2s rAtest_unstructured_to_structuredz0TestRecFunctions.test_unstructured_to_structuredsR HHW <#u6XXo. +A_E+AZ@VV$rCctjdgd}ddg}tt||tjd|tjddg|}t ||d t|tjd d g|j t ||t|tjd d g|j tjddddgfg}ddgfg}tt||tjd|tjddg|}t ||d t|tjddg|j t ||t|tjddg|j tjdtjd}}t ||t|ddy)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 GGAD Ek*^Au-rwwq%/@A HHff%U 3aE:Q)Y!7qwwGHa#Q)Y!7qwwGH GGAs[+$>?@ A }%&^Au-rwwq%/@A HHgw'u 5aE:Q)Y!7qwwGHa#Q)Y!7qwwGHxx{BHHQK1a#QrUArCN)__name__ __module__ __qualname__rBrJrQrWr]rargryr}rrrrrNrCrArr sI!NB$@ $$$6+B + 5O'b%rCrceZdZdZdZy)TestRecursiveFillFieldsctjddgdtfdtfg}tjd|j }t ||}tjgddtfdtfg}t||y)Nrrr4@r!r$r'rrr)r)r6r7r9r8rr(r rr<r1r2rIrPs rAtest_simple_flexiblez,TestRecursiveFillFields.test_simple_flexibleso HHh)3*sEl1K L HHT )$Q*((8#&*sEl!;=T7#rCctjddgddgdtfdtfg}tjd|j }t ||}tjgd gd dtfdtfg}t||y) Nrrrrrnr!r$rorr'r)rrnrm)rwr7r9r8rr(r rrs rAtest_masked_flexiblez,TestRecursiveFillFields.test_masked_flexibles~ HHh)0@ #Je 5 7 HHT )$Q*((8 8#&*sEl!;= T7#rCN)rrrrrrNrCrArrs $ $rCrcHeZdZdZdZdZdZdZdZdZ dZ d Z d Z y ) TestMergeArraysc  tjddg}tjgd}tjddgddtfg}tjd d gd tfd d tfdtfdgfgfg}||||f|_y)Nrrrr r#r&r$r'r)rr+rNr-)r/r0rNr1r2r3r4bcr5r;s rArBzTestMergeArrays.setup_methods HHaX  HH\ " HH  "<#u*F H HH  1 2:tUmdC[4*%MNO Q1aL rCc(|j\}}}}t|}tjddgdtfg}t ||t|f}t ||t|d}t ||t|d}t ||y)NrLrrr'FrET)r:r r6r7r9rr<_r=r?rIrPs rA test_solozTestMergeArrays.test_solosyy Aq!A((D$<s }=T7#QD!T7#Au-T1At,T1rCc|jd}t|d}t||t|d}tjddgdt fdt fd t fg }t||y) NrFrET)rrr+)r-r/r0r1r3r4r')r:r rr6r7r9r8r<r@rIrPs rAtest_solo_w_flattenz#TestMergeArrays.test_solo_w_flattensg IIaLAu-T1At,((K5#&*tUmdC[!IKT7#rCct|j\}}}}t||fd}tjgddtfdtfg}t ||t||fd}t jgdgddtfdtfg }t ||t |j|jy) NFusemask)rr)rr)rtrrrr'Trmrmrnro)r:r r6r7r9rrwrpr<rr=r>rIrPs rA test_standardzTestMergeArrays.test_standardsyy Aq!QFE2((7#'+c{!;=T7#QFD1((7 8#'+c{!;= T7#TYY -rCc8|j\}}}}t||fd}tjddgdtfddt fg}t ||t||fd }tjd d gdtfd ddt fgfg}t ||y) NTrE)rr!r")rr$r%rr&r$r'F)rr )rr#rr:r r6r7r9r8rrs rA test_flattenzTestMergeArrays.test_flattensyy Aq!QFD1((L,7#'+|c5\!JLT7#QFE2((NN;#'+#',e )E"F"HI T7#rCc||j\}}}}t||fd}tjddgdtfdtfdt fdtfg }t ||t||fd }dtfd dtfd dt fdtfd gfgfgfg}tjddg| }t ||y)NTrE)rrrr+)rr-r/r0rr1r3r4r'Frr2r)r"r)rrr )r<r@r=rrIrP controldtypes rAtest_flatten_wflexiblez&TestMergeArrays.test_flatten_wflexiblesyy Aq!QFD1((NN;#'+#&*tUmdC["JK T7#QFE2s !%c ),e}tSkDRT:.V(W(Y!Z[ ((35KL!-/T7#rCcP|j\}}}}tjgdgd}t||fd}tjgdgddtfd tfg }t ||t||fdd }t ||t t|ty) Nrrrvrrrr{Tr)rrr)rtrv)rrmrnrrro)r asrecarray) r:rwr7r r9rr isinstancer)r<rr=mxrIrPs rAtest_wmasked_arraysz#TestMergeArrays.test_wmasked_arrayssyy Aq! XXii 0QGT2((4 8#'+c{!;= T7#QGTdCT7# 4/0rCc ttjddgjdtfgtjgdf}t jgdgddtfdt fg}t||y) Nrrr1)rrrS)rr)rtrSr rro)r r6r7rUr9rwr8r)r<rIrPs rAtest_w_singlefieldz"TestMergeArrays.test_w_singlefield#smRXXq!f-22S#J<@XXo68:((: 8#&*tUm!<> T7#rCc|jd}t|tjgdj dt fgftjgdddt fdt fgy)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,sZ IIbM a,/44sCj\BCD ?$sElS#J? ArCc |j\}}}}t|d|d|dfd}tjdgdtfdtfddd t fgfg }t ||y) NrFr)rrr!rrrf2r&r$r'r )r<rr=r>r?rIrPs rAtest_singlerecordz!TestMergeArrays.test_singlerecord:sxyy Aq!QqT1Q41.>((-.#'+#'+#',e )E"F"HI T7#rCN) rrrrBrrr rrrrrr#rNrCrArrs5!  $. $$" 1$ A$rCrc*eZdZdZdZdZdZdZy)TestAppendFieldsctjddg}tjgd}tjddgddtfg}tjd d gd tfd d tfdtfgfg}||||f|_yrr5r;s rArBzTestAppendFields.setup_methodG HHaX  HH\ " HH  "<#u*F H HHm]3 #Je}tSk.J(KL N1aL rCc|j\}}}}t|dgd}tjgdgddtfdtfg}t ||y)Nr!rr:rr rror:rrwr7r9rr<rr=rIrPs rAtest_append_singlez#TestAppendFields.test_append_singlePsQyy Aq!Q,7((7 8#'+Sz!:= T7#rCc|j\}}}}t|dgdddgg}tjgdgddtfd tfd tfg }t ||y) NrYrdr)))rrr.)rrr/)rtrrt)rrrr0)rrrrr!r$ror*r+s rAtest_append_doublez#TestAppendFields.test_append_doubleYsayy Aq!Q ,c 1KL((E A#'+SzC:!FI T7#rCc|jd}t|dgd}tjgdgdddtfdt fg }t ||y) Nrtrkrr))rr)rtr)r0r0rrrr&r$ro)r:rrwr7r8r9r)r<r?rIrPs rAtest_append_on_flexz$TestAppendFields.test_append_on_flexbsP IIbMQ,7((H A".e sCj!IL T7#rCc |jd}t|dgd}tjgdgddtfdd t fd tfgfdtfg }t ||y) Nrrkrr)))rr*r)r-r.r)rt)rtr3r)rrmrr7)rrrr1r2r3r4ro)r:rrwr7r9r8rrs rAtest_append_on_nestedz&TestAppendFields.test_append_on_nestedksj IIaLQ,7((1!N#&*#&$s (D"E#&*". 0 T7#rCN)rrrrBr,r1r5r8rNrCrAr%r%Ds!$$$ $rCr%cBeZdZdZdZdZdZdZdZdZ dZ d Z y ) TestStackArraysctjddg}tjgd}tjddgddtfg}tjd d gd tfd d tfdtfgfg}||||f|_yrr5r;s rArBzTestStackArrays.setup_method|r'rCc|j\}}}}t|f}t||t||ut|}t||t||uyr)r:rrr)r<rr=rIs rArzTestStackArrays.test_solosTyy Aq!QD!T1 AT1 rCcR|j\}}}}t||fd}tjgd}t ||t||fd}tjgd}t ||t||fd}tjgd}t ||y)NFr)rrrr)rrrrr)rrrrr)r:rr6r7rr s rAtest_unnamed_fieldsz#TestStackArrays.test_unnamed_fieldssyy Aq!QFE2((<(T7#QFE2((-.T7#QFE2((-.T7#rCc@|j\}}}}t||f}tjgdgddtfddt fg}t ||t |j|jt||f}tjgdgdddt fd tfg}t ||t |j|jt|||f}tjgd gd ddt fd tfg}t ||y) N))rrtrt)rrtrt)rtr!r)rtr$r)rrrr@rrrr&r$ro)r!rrtr$rrtrtrtrrtrtr)rrrrEr4r4r")rArBrArBrCrD)rErErErEr4r4)r:rrwr7r9r8rrprs rAtest_unnamed_and_named_fieldsz-TestStackArrays.test_unnamed_and_named_fieldss yy Aq!QF#((8!7#'+|c5\!J L T7#TYY -QF#((8!7".e tSk!J L T7#TYY -Q1I&((8!7#/e tSk!J L T7#rCc|j\}}}}tjgdddtfdtfg}t ||f}t jgdddtfdtfggd}t ||t |j|jt |||f}ddtfdtfd tfg}t jgd |gd }t ||t |j|jy) Nr1rY@r2ri@rrSr@r&r$rkr')rArBrIrKrMrErEr0r0r0r(rpf3))r!rrtrt)r$rrtrt)r1rrJrt)r2rrLrt)rrSrNrt)rtrtrtr)rtrtrtr)rrrrrRrrrrrSrSrrrrrT) r:r6r7r8rrwrrpr9)r<rr=r?zzrIrPr\s rAtest_matching_named_fieldsz*TestStackArrays.test_matching_named_fieldssyy Aq! XXL)C<#uFHQG$((U#/e sEl!K!B C T7#TYY -QAJ'e sElT3KH((>"(!= > T7#TYY -rCc|j\}}}}tjgdddtfdtfg}dddd d }t ||f| }t jgd ddtfdtfggd }t ||t |j|jt |j|jy)NrHr&r$rkr'z???g8gi)r!r$rkD)defaults))r!rrX)r$rrXrIrKrMrOrP)r:r6r7r8rrwrrp)r<rr?rUrZrIrPs rA test_defaultszTestStackArrays.test_defaultssyy Aq! XXL)C<#uFHUgFQGh7((U#/e sEl!K!B C T7#TYY -TYY -rCcdtfdtfdtfg}tjdgdg|}dtfdtfdtfg}tjdg|}tjddgdd g|}t ||fd }t ||t |j|jtt5t ||fd dddy#1swYyxYw) Nr!r$rkrrrrror-r/r|r'r0T) autoconvertF) r9boolr8rwr7rrrpr TypeError)r<adtyper1bdtyper2rPrIs rAtest_autoconversionz#TestStackArrays.test_autoconversions*sDkC<8 HHi[ {& A*sElS%L9 HHi[ /((Iy1I8N!')QF5T7#TYY - 9 % 4 !QU 3 4 4 4s C  C)cndtfdtfdtfg}tjdgdg|}dtfdtfdtfg}tjdg|}t ||f}tjddgdd g|}t ||t |j|jy) N)r1r!)r2r$)rrkrr]ror^r'r0)r9r`r8rwr7rrrp)r<rbr1rcr2rIrPs rAtest_checktitlesz TestStackArrays.test_checktitlesss#j$%7*e9LM HHi[ {& As#j$%7*e9LM HHi[ /QF#((Iy1I8N!')T7#TYY -rCc tjddgddtdfg}tjddgd fd d gd fd dgdfgddtdfdtfg}t||f}t jddgdfddgdfddgd fdd gd fddgdfgddgdfddgdfddgdfddgdfddgdfg|j }t |j |j t ||t |j|jy)Nr!)r$rr&r$rLr'r1rrJr2rrLrrSrNrkAr"rBr%abcFT)r:rpr()r6r7r8rrwr(rrp)r<r?rUrexpecteds rA test_subdtypezTestStackArrays.test_subdtypesQ HH h eT 23 5XX 3% seT 2S3%4F eT 2S%LACAr7#88ua ua vu%vu%vu% '&&''' ((  SYY/S(#SXXx}}-rCN) rrrrBrr>rFrVr[rdrfrnrNrCrAr:r:zs0! $ $@.8." 4 ..rCr:cTeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zy ) TestJoinByc tjtttjdtjddtjdddt fdt fdt fg |_tjtttjd d tjd d tjdddt fdt fdt fg |_y)Nr2<r.nr1r2rr'r/rAKrr6r7listziprr9r1r2r<s rArBzTestJoinBy.setup_method&s$s299R="))B2C#%99S##6 89"%sc3Z#s DF$s299Q#3RYYr25F#%99S##6 89"%sc3Z#s DFrCc |j|j}}td||d}tjgddt fdt fdt fdt fdt fg }t ||y) Nr1inner)jointype))r/7ruir.)r|8Bje)r9Ckf)r:Dlg)r;Emhb1b2rrr'r1r2r r6r7r9rrs rAtest_inner_joinzTestJoinBy.test_inner_join.sivvtvv1sAq73((3$'*tSkD#;#&*sCj":; T7#rCc|j|j}}td||tjgddt fdt fdt fdt fgy)Nr_))r/r~rr.)r|rrr)rrrr)rrrr)rrrrr1r2rrr')r1r2r r6r7r9r<r1r2s rA test_joinzTestJoinBy.test_join:sSvvtvv1  Aq! %sc3Zsc3Z1 2rCctjdgdtfg}tjdtjgdfgdtfdg}td||}t ||j t jy)NrLrur'rr)valueuint16rv)r6r7r9r rrUrw MaskedArray)r<foobarrs rAtest_join_subdtypezTestJoinBy.test_join_subdtypeMsqhhv$cl^-hhBHHY/01$cl,BCEeS#&S#((2>>23rCc |j|j}}td||d}tjgdgddt fdt fdt fdt fg }t ||y) Nr_outer)rrrr.rtr3rrtr4rrtrv5rrtr-6rrtr/r~rrt)r/rurtr.r|rrrt)r|rrtrrrrrt)rrrtrrrrrt)rrrtrrrrrt)rrrtr)rFrtr)rGrtr)rHrtr)rIrtr)rJrtr)rSrSrSrSrSrSrrrrrSrrSrrSrrSrrrrrrr1r2rrror1r2r rwr7r9rrs rAtest_outer_joinzTestJoinBy.test_outer_joinVsivvtvv1z1a1(( B !=$'*sCj#&*sCj":);, T7#rCc |j|j}}td||d}tjgdgddt fdt fdt fdt fg }t ||y) Nr_ leftouter) rrrrrrrrrr) rSrSrSrSrSrSrSrSrSrSr1r2rrrorrs rAtest_leftouter_joinzTestJoinBy.test_leftouter_joinrsgvvtvv1z1a5((@ != $'*sCj3*sCj!Q S T7#rCctjdgd}tjdgd}tddg||dd }t |j j gd y) Nrvrrrr'rrrrr2r|F)r}r)r2ra1a2)r6rrr rr(names)r<r1r2js rAtest_different_field_orderz%TestJoinBy.test_different_field_ordersM HHQE F GGAD E S#J1w FQWW]]$:;rCctjdgd}tjdgd}ttt gd||y)Nrvrr'r)r1r2r2)r6rrrrr rs rAtest_duplicate_keyszTestJoinBy.test_duplicate_keyss4 HHQE F GGAD Ej'?AqArCc8tjddg}tjddg}tjgd}tjddg|}tjdd g|}td ||}t |j|y) N)ruS5r#BC HHo}5W E HHo}5W EeQ"SYY/rCc8tjddg}tjddg}tjgd}tjddg|}tjdd g|}td ||}t |j|y) Nrr)r((N,<=>#CD HHo}5W E HHo}5W EeQ"SYY/rCctjdtdfdg}tjgdtjfgddfg|}tjdtdfdg}tjgddfgd dfg|}tjdtdfddg}tjgdtjdfg|}t d||}t |j|t ||y) Nposrv)fr)rrrrrr')gr)rvrr)r6r(r9r7pir r)r<rr1rr2rrmrs rAtest_subarray_keyzTestJoinBy.test_subarray_keys((UCO\:; HHy"%%(9c*:;7 K((UCO\:; HHy!ny#&67w GE3?L,"OP88i23>JeQ"SYY/S(#rCcRtjdd}d|_tt |j dtj ddg|}tj dd g|}td ||}tjgd }t|j|y) Nzi1,f4Tr)kvrvr)rvrrrr))ri1)v1r)v2r) r6r(rrlendescrr7r r)r<rr1r2rrs rAtest_padded_dtypezTestJoinBy.test_padded_dtypes XXgT *BHH q! HHff%r * HHff%r *c1a #   SYY/rCN)rrrrBrrrrrrrrrrrrNrCrArprp%s@F $2&4$8$"<B 0 0 $0rCrpc4eZdZedZdZdZdZdZy) TestJoinBy2c tjtttjdtjddtjdddt fdt fdt fg |_tjtttjdtjd d tjdddt fdt fd t fg |_y) Nrrrrsr.rtr1r2rr'rurvrrw)clss rArBzTestJoinBy2.setup_methodsc"))B-2r1B"$))C"578!$c S#Jc CEc"))B-2r1B"$))C"578!$c S#Jc CErCc |j|j}}td||ddd}tjgddt fdt fdt fd t fd t fg }t ||y) Nr1rG2r| r1postfix r2postfixr} )rrrrur.r.)rrrrr)rrrrr)rvrrrr)r-rrrr)r/r~rrr)r|rrrr)rrrrr)rrrrr)rrrrrr2rrrr'rrs rAtest_no_r1postfixzTestJoinBy2.test_no_r1postfixsrvvtvv1 AsWF((J $'*sCj4+#&*sCj": ; T7#rCc `tttd|j|jddy)Nr1rG)rr)rrr r1r2rzs rAtest_no_postfixzTestJoinBy2.test_no_postfixs!j'3 "b 2rCc |j|j}}td||ddd}tjgddt fdt fdt fd t fd t fg }t ||y) Nr11rGr|rrrr2rrr'rrs rAtest_no_r2postfixzTestJoinBy2.test_no_r2postfixsrvvtvv1 AWF((J $'*tSkC:#&*sCj": ; T7#rCc tjtttjddgdtj tj ddtj ddtj dddtfd tfd tfd tfg }tjtttjddgdtj tj ddtj d dtj dddtfd tfd tfd tfg }tjgddtfd tfdtfdtfdtfdtfg }td dg||ddd}t|j|jt||y)Nrrr/rrrrsrrr1r2rr'rurvr) )rrrrrurr)rrrrrr)rrrrrr)rrrrrrv)rrrrrr-)rrr~rrr/)rrvrrr|)rrvrrrr)rr-rrr)rr-rrrrrc1c2rrr|r) r6r7rxrytilerepeatrr9r rr()r<r1r2rPrIs rAtest_two_keys_two_varsz"TestJoinBy2.test_two_keys_two_varss{ HHT#bggr2h2BIIbiilA4N iiB/2r1BDE #Jc S#Jc K M HHT#bggr2h2BIIbiilA4N iiB/1b1ACD #Jc S#Jc K M((L $'*sCj4+#'+c{T3K"I J #J1sWNTZZ/T7#rCN) rrr classmethodrBrrrrrNrCrArrs*EE $2 $$rCrceZdZdZdZdZy)TestAppendFieldsObjz; Test append_fields with arrays containing objects c2ddlm}d|dddi|_y)Nr)dateobjir)datetimerr:)r<rs rArBz TestAppendFieldsObj.setup_methods!Dq!,- rCcP|jd}tj|df|dfgdtfdtfg}tjddgt }t |d |d }tj|ddf|ddfgdtfdtfd t fg}t||y ) z7Test append_fields when the base array contains objectsrr"r%r!r$r'rrrkF)r:rN)r:r6r7objectr8r9rr)r<rr=r>rIrPs rAtest_append_to_objectsz*TestAppendFieldsObj.test_append_to_objectssii HHsBi#r+!6]S%L9 ; HHb"XS )Q!U;((S#rNS#rN;#&-#uSz!JLT7#rCN)rrr__doc__rBr rNrCrArr s . $rCr)-numpyr6numpy.marwnumpy.lib.recfunctionsrrrrrrr r r r r rrrrnumpy.ma.mrecordsrnumpy.ma.testutilsr numpy.testingrrlib recfunctions_get_fieldspec get_fieldspecrZr` _zip_descrrH _zip_dtype zip_dtyperrrr%r:rprrrNrCrArs",+0##22 FF   ) ) $$33 FF   * * FF   * * FFR $$.A$A$H3$3$lh.h.V`0`0F?$?$B$$rC