https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/numpy/lib/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/numpy/lib/tests/__pycache__/test_recfunctions.cpython-310.pyc
o

6��aà�@s.ddlZddlZddlmZddlmZddlmZddl	m
Z
mZddlm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZejjjZejjj Z ejjj!Z!ejjj"Z#ejjj$Z%Gdd�d�Z&Gdd	�d	�Z'Gd
d�d�Z(Gdd
�d
�Z)Gdd�d�Z*Gdd�d�Z+Gdd�d�Z,Gdd�d�Z-dS)�N)�
MaskedRecords)�assert_equal)�assert_�
assert_raises)�drop_fields�
rename_fields�get_fieldstructure�recursive_fill_fields�find_duplicates�merge_arrays�
append_fields�stack_arrays�join_by�
repack_fields�unstructured_to_structured�structured_to_unstructured�apply_along_fields�require_fields�assign_fields_by_namec@sleZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�TestRecFunctionscC�rt�ddg�}t�gd��}tjddgddtfgd�}tjd	d
gdtfdd
tfdtfgfgd�}||||f|_dS�N����
����A��?��B�@�rz|S3r"��dtype�r�r�@�����@�a�b�ba�bb��np�array�float�int�data��self�x�y�z�w�r?�C/usr/lib/python3/dist-packages/numpy/lib/tests/test_recfunctions.py�setups

�
�zTestRecFunctions.setupcCsH|j\}}}}t||fdd�}t|t�dtfdtfg��t||fdd�}t|t�dtfdtfg��t||fdd�}t|t�dtfddtfg��t||fdd�}t|t�dtfdddtfgfg��t||fdd�}t|t�dtfdtfdtfd	tfg��t||fdd�}t|t�dtfddtfd
dtfd	tfgfgfg��dS)NT��flatten�Fr$r"r/r1r2r0)r8�	zip_descrrr4r&r7r6)r:r>r;r<r=�testr?r?r@�test_zip_descr sD���
��
��
���zTestRecFunctions.test_zip_descrcCs&tjddgdtfddtfdtfgfgd�}t|d�}tjdd	gddtfdtfgfgd�}t||�t|d�}tjd
dgdtfgd�}t||�t|dg�}tjdd
gdtfddtfgfgd�}t||�t|ddg�}tjd
dgdtfgd�}t||�t|ddg�}tjddggd�}t||�dS)Nr'r*r/r0r1r2r%)r()r,�r�r+)r)r))r+)r.r?)r4r5r7r6rr�r:r/rF�controlr?r?r@�test_drop_fieldsAs,
�

�



�

z!TestRecFunctions.test_drop_fieldscCs�tjddddgffddddgffgd	tfd
dtfdtdffgfgd
�}t|ddd��}dtfd
dtfdtdffgfg}|�|�}t|j|�t||�dS)Nrrr)�>@r+r-r.gN@r/r0r1r2r%r�BB)r/r2)r4r5r7r6r�viewrr&)r:r/rF�newdtyperKr?r?r@�test_rename_fieldsas"�� 
z#TestRecFunctions.test_rename_fieldscC�t�ddtfg�}t|�}t|d�t�dtfddtfdtfgfg�}t|�}t|d�t�dtfdgfg�}t|�}t|d	�t�g�}t|�}t|d
�dS)Nr$r"�rr"r/r0r1r2)r/)r0)r1r2)r/)r0r?r?)r4r&r6�	get_namesrr7�r:�ndtyperFr?r?r@�test_get_namesl�
"


zTestRecFunctions.test_get_namescCrR)Nr$r"rSr/r0r1r2)r/r0r1r2�r/r0r?)r4r&r6�get_names_flatrr7rUr?r?r@�test_get_names_flat~rXz$TestRecFunctions.test_get_names_flatc	Cs�t�ddtfg�}t|�}t|ggd��t�dtfddtfdgfg�}t|�}t|ggdgdgd��t�dtfddtfdd	tfd
tfgfgfg�}t|�}ggdgdgddgddgd�}t||�t�g�}t|�}t|i�dS)Nr$r"rSr�BA�rNz|S1)rr"r\rNrN�BBA�BBB)rr"r\rNr^r_)r4r&r6rrr7)r:rVrFrKr?r?r@�test_get_fieldstructure�s&
���

z(TestRecFunctions.test_get_fieldstructurecCsftjgd�gd�dtfddtfdgfgd�}t|dd	d
�}ddg}tt|d
�|�t|d||d
�t|dd	d�}gd�}tt|d
�|�t|d||d
�t|dd	d�}gd�}tt|d
�|�t|d||d
�t|dd	d�}gd�}tt|d
�|�t|d||d
�t|dd	d�}gd�}tt|d
�|�t|d||d
�dS)N)�r�r#r")rrbra)r)r r"ra)r)r#�C)�r�rrrdrdrd)rre)r�rrrr"r\r]��maskr&FT��
ignoremask�return_indexrr���)�keyrk)rrr�r-)rrrr+rN)rrrrnr+)�mar5r7r6r
r�sortedrJr?r?r@�test_find_duplicates�s0
�z%TestRecFunctions.test_find_duplicatescCs�dtfg}tjgd�gd�d��|�}t|ddd�}gd�}tt|d�|�t|d	||d�t|d
dd�}gd�}tt|d�|�t|d	||d�dS)Nr/)rrrrrrnrn)rrrrrrr�rhTri)rrrnr+rlrF)rrrrnr+�)r7ror5rOr
rrp)r:rVr/rFrKr?r?r@�test_find_duplicates_ignoremask�s

��z0TestRecFunctions.test_find_duplicates_ignoremaskcCs~tjddd�}tjd|d�}tt|�t�d��tt|�jd�ttt|�dd�|�t�tj|f�}tt|�jtju�dS)Nzu1,f4,i8T��alignrr%�
)	r4r&�zerosrr�itemsize�recordr�type)r:�dtr/r?r?r@�test_repack_fields�sz#TestRecFunctions.test_repack_fieldscCs�tjdgd�d�}t|�}t|tjddd��tjgd�gd�d�}tjt|dd	g�d
d�}t|t�gd���tjt|dg�d
d�}t|t�gd
���t�d��d�}t||j	�}tjddddgfddddgfddddgfddddgfgdd d!d"gfd#gd�}t||�tjgd�gd�d�}tt
tj|�t�gd$���tt
tj|dd	g�t�gd���tjgd�gd%�d�}t|�}t||j	�}t|j|u�t|j|u�tjd&d'd(gddgd)d*ggfd+d,dgd-d.gd/d0ggfggd1�d�}t|�}t||j	�}t|j|u�t|j|u�t�	dt
fd2t
fg�}	t�	d3|	fd |	fd4|	fg�}
t�d|
�}t|t
d�}t|tjd5t
d��d6d7�}
d8d9�}dAd:d;�}||
|tjtj�d(��}t||�d<tj|f�||
|
tjd'�d'��}t||�d=tj|f�|tj�}t||�d>tj|f�|tj|
|
tjd'�d'��}t||�d?tj|f�|�}tttt�d(|��tttt�d(|�tjd�ttttjd@tjd��dS)BNr+)�r/�i4)r0zf4,u2)�c�f4rr%)r+r-�f8))rrr-)r+r-�)r���)rr��)�r;r)r<r�)r=r�r;r=rl)�axis)r)g@�"@�&@)r �@�@�$@rr)r rr)r�r-)r.r�� @r�r)r�r�g*@g,@�)g0@�g2@g3@r~r0)�f0r�)�f1�u2)r�r��r)gUUUUUU@gUUUUUU@gUUUUUU!@r�)r�)r<r)r=rrrrnrsr�r��	r�r�rw�))�x0r)�x1)rr)�x2)r�rrr<r/r�)rrscSst�||f�S�N)r4r&)r|�shaper?r?r@�subarray szBTestRecFunctions.test_structured_to_unstructured.<locals>.subarraycWst�dd�t|�D��S)NcSsg|]\}}d�|�|f�qS)zx{})�format)�.0�ir|r?r?r@�
<listcomp>$szXTestRecFunctions.test_structured_to_unstructured.<locals>.structured.<locals>.<listcomp>)r4r&�	enumerate)�dtsr?r?r@�
structured#szDTestRecFunctions.test_structured_to_unstructured.<locals>.structuredcSs2t�d|�}t||d�}t||�}|j|j|jfS)Nr?r%)r4rxrrr�r&)r|r&�arr�ret�backarrr?r?r@�inspect&s
zATestRecFunctions.test_structured_to_unstructured.<locals>.inspect)rsrIrH)r-)rnrr�)r4rxrrr5�mean�arange�reshaperr&rr�baser7�int32r�
ValueError�NotImplementedError)r:r/�outr0r��want�d�dd�ddd�point�triangler��resr�r�r�r|r?r?r@�test_structured_to_unstructured�s�
��
��

���
���

��z0TestRecFunctions.test_structured_to_unstructuredcCs\tjdgd�d�}ddg}tt||�t�d|��tjddg|d�}t||dd	�t|tjd
dg|jd��t||�t|tjdd
g|jd��tjddddgfgd�}ddgfg}tt||�t�d|��tjddg|d�}t||dd	�t|tjddg|jd��t||�t|tjddg|jd��t�d�t�d�}}t||�t|dd�dS)Nr)r~�r0r��r��u1r%�r0r�r��rr)rnr+F)�zero_unassigned)rrr)rrnr+)rrr)rrnr+r/r�)r�)�rn)r�)�rrn))rr))rrnrnrr?)r4�onesrrr5rr&)r:r/�newdtr0r?r?r@�test_field_assignment_by_nameAs&


z.TestRecFunctions.test_field_assignment_by_nameN)�__name__�
__module__�__qualname__rArGrLrQrWr[r`rqrtr}r�r�r?r?r?r@rs	! !Zrc@seZdZdd�Zdd�ZdS)�TestRecursiveFillFieldscCsdtjddgdtfdtfgd�}tjd|jd�}t||�}tjgd�dtfdtfgd�}t||�dS)N�rr��r�4@rr"r%r��r�r�)r�)r4r5r7r6rxr&r	r�r:r/r0rFrKr?r?r@�test_simple_flexible_s

�z,TestRecursiveFillFields.test_simple_flexiblecCsptjddgddgdtfdtfgd�}tjd|jd	�}t||�}tjgd
�gd�dtfdtfgd�}t||�dS)Nr�r��rrrfrr"rgr�r%r�)r�rfre)ror5r7r6rxr&r	rr�r?r?r@�test_masked_flexiblehs�

�z,TestRecursiveFillFields.test_masked_flexibleN)r�r�r�r�r�r?r?r?r@r�]s	r�c@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�TestMergeArrayscCsxt�ddg�}t�gd��}tjddgddtfgd�}tjd	d
gdtfdd
tfdtfdgfgfgd�}||||f|_dS)Nrrrrr!r$r"r%�r)rr)r?�r+)r-r.r?r/r0r1r2�bcr3r9r?r?r@rAws� �zTestMergeArrays.setupcCs||j\}}}}t|�}tjddgdtfgd�}t||�t|f�}t||�t|dd�}t||�t|dd�}t||�dS)NrHr�r�r%FrBT)r8rr4r5r7r�r:�_r;r=rFrKr?r?r@�	test_solo�s



zTestMergeArrays.test_solocCs^|jd}t|dd�}t||�t|dd�}tjddgdtfdtfd	tfgd
�}t||�dS)NrFrBT)rrr))r+r-r.r/r1r2r%)r8rrr4r5r7r6�r:r>rFrKr?r?r@�test_solo_w_flatten�s


�z#TestMergeArrays.test_solo_w_flattencCs�|j\}}}}t||fdd�}tjgd�dtfdtfgd�}t||�t||fdd�}tjgd�gd�dtfdtfgd	�}t||�t|j|j�dS)
NF��usemask�)rr)rr)rlrr�r�r%T�rererfrg)r8rr4r5r7rrorh�r:r�r;r<rFrKr?r?r@�
test_standard�s
�

�
zTestMergeArrays.test_standardcCs�|j\}}}}t||fdd�}tjddgdtfddtfgd�}t||�t||fd	d�}tjd
dgdtfdddtfgfgd�}t||�dS)
NTrB)rrr )rr"r#r�r$r"r%F)rr)rr!r��r8rr4r5r7r6rr�r?r?r@�test_flatten�s
�

��zTestMergeArrays.test_flattencCs�|j\}}}}t||fdd�}tjddgdtfdtfdtfdtfgd	�}t||�t||fd
d�}dtfddtfddtfdtfd
gfgfgfg}tjddg|d	�}t||�dS)NTrB)rrrr))rr+r-r.r�r/r1r2r%Fr�r0r�)r r�)rr�r�)r:r>r;r�rFrK�controldtyper?r?r@�test_flatten_wflexible�s$
��
��
�z&TestMergeArrays.test_flatten_wflexiblecCs�|j\}}}}tjgd�gd�d�}t||fdd�}tjgd�gd�dtfd	tfgd
�}t||�t||fddd�}t||�tt|t��dS)N�rrrn�rrrrrTr�)�rrr�)rlrn)r�rerfr�r�rg)r��
asrecarray)	r8ror5rr7rr�
isinstancer)r:r�r;�mxrFrKr?r?r@�test_wmasked_arrays�s
�

z#TestMergeArrays.test_wmasked_arrayscCs^tt�ddg��dtfg�t�gd��f�}tjgd�gd�dtfdtfgd�}t||�dS)	Nrrr/)r�r�rM)r�r�)rlrMr�r�rg)rr4r5rOr7ror6r)r:rFrKr?r?r@�test_w_singlefield�s�
�z"TestMergeArrays.test_w_singlefieldcCsP|jd}t|t�gd���dtfg�f�tjgd�ddtfdtfgd�dS)Nrlrrc)�rr r�r"r#r)z-1rlrr$r"r%)r8rr4r5rOr7r6)r:r=r?r?r@�test_w_shorter_flex�s

"	

�z#TestMergeArrays.test_w_shorter_flexcCsd|j\}}}}t|d|d|dfdd�}tjdgdtfdtfddd	tfgfgd
�}t||�dS)NrFr�)rr�rrr�r��f2r$r"r%r�)r:r�r;r<r=rFrKr?r?r@�test_singlerecord�s��z!TestMergeArrays.test_singlerecordN)
r�r�r�rAr�r�r�r�r�r�r�r�r�r?r?r?r@r�ts

	r�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestAppendFieldscCrrr3r9r?r?r@rA���
�zTestAppendFields.setupcCsR|j\}}}}t|dgd�d�}tjgd�gd�dtfdtfgd�}t||�dS)Nrr�r8r�r�r�rg�r8rror5r7r�r:r�r;rFrKr?r?r@�test_append_singles
�z#TestAppendFields.test_append_singlecCs`|j\}}}}t|dgd�ddggd�}tjgd�gd�dtfd	tfd
tfgd�}t||�dS)NrSr�d��r�))rrr�)rrr�)rlrrl)�rrrr�)rrrr�rr"rgr�r�r?r?r@�test_append_doubles
�z#TestAppendFields.test_append_doublecCsP|jd}t|dgd�d�}tjgd�gd�ddtfdtfgd	�}t||�dS)
Nrlrcrr�)r�r�)rl��r)r�r��rrrr$r"rg)r8rror5r6r7r)r:r=rFrKr?r?r@�test_append_on_flexs

�z$TestAppendFields.test_append_on_flexcCs`|jd}t|dgd�d�}tjgd�gd�dtfdd	tfd
tfgfdtfgd�}t||�dS)Nrrcrr�))rr(r)r+r,r)rl)rlr�r)�rrerr�)rr�rr/r0r1r2rg)r8rror5r7r6rr�r?r?r@�test_append_on_nested s

��z&TestAppendFields.test_append_on_nestedN)r�r�r�rAr�r�r�rr?r?r?r@r��s				r�c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�TestStackArrayscCrrr3r9r?r?r@rA1r�zTestStackArrays.setupcCsP|j\}}}}t|f�}t||�t||u�t|�}t||�t||u�dSr�)r8r
rr)r:r�r;rFr?r?r@r�:s


zTestStackArrays.test_solocCs�|j\}}}}t||fdd�}t�gd��}t||�t||fdd�}t�gd��}t||�t||fdd�}t�gd��}t||�dS)NFr�)rrrr)rrrrr)rrrrr)r8r
r4r5rr�r?r?r@�test_unnamed_fieldsEs

z#TestStackArrays.test_unnamed_fieldscCs�|j\}}}}t||f�}tjgd�gd�dtfddtfgd�}t||�t|j|j�t||f�}tjgd�gd�ddtfd	tfgd�}t||�t|j|j�t|||f�}tjgd
�gd�ddtfd	tfgd�}t||�dS)N))rrlrl)rrlrl)rlrr)rlr"r)�rrrrr�r�r�r$r"rg)�rrrl�r"rrl�rlrlr�rlrlr)�rrrrr�r�r�)rrrrrr)rrrrr�r�)r8r
ror5r7r6rrhr�r?r?r@�test_unnamed_and_named_fieldsUs*
�

�

�z-TestStackArrays.test_unnamed_and_named_fieldscCs�|j\}}}}tjgd�ddtfdtfgd�}t||f�}tjgd�ddtfdtfggd�d�}t||�t|j|j�t|||f�}ddtfdtfd	tfg}tjgd
�|gd�d�}t||�t|j|j�dS)N��r/r��Y@�r0r��i@�r�rM��r@r$r"rcr%)rrrr
r�rrr�r�r��r&rh�f3))rrrlrl)r"rrlrl)r/r�rrl)r0r�rrl)r�rMrrl)rlrlrlr)rlrlrlr)�rrrrr�rrrrrr�rrrrr)	r8r4r5r6r
rorrhr7)r:r�r;r=�zzrFrKrVr?r?r@�test_matching_named_fieldsus&
�
�

�
z*TestStackArrays.test_matching_named_fieldscCs�|j\}}}}tjgd�ddtfdtfgd�}dddd	d
�}t||f|d�}tjgd�ddtfdtfggd
�d�}t||�t|j|j�t|j|j�dS)Nr
r$r"rcr%z???g8������g�i��)rr"rc�D)�defaults))rrr)r"rrrr
rrr)r8r4r5r6r
rorrh)r:r�r=rrrFrKr?r?r@�
test_defaults�s
�
�
zTestStackArrays.test_defaultscCs�dtfdtfdtfg}tjdgdg|d�}dtfdtfdtfg}tjdg|d�}tjddgdd	g|d�}t||fd
d�}t||�t|j|j�tt	��t||fdd�Wd�dS1s`wYdS)
Nrr"rcr��rrrrg�r+r-rsr%r�T)�autoconvertF)
r7�boolr6ror5r
rrhr�	TypeError)r:�adtyper/�bdtyper0rKrFr?r?r@�test_autoconversion�s�

"�z#TestStackArrays.test_autoconversioncCs�dtfdtfdtfg}tjdgdg|d�}dtfdtfdtfg}tjdg|d�}t||f�}tjddgdd	g|d�}t||�t|j|j�dS)
N)r/r)r0r")r�rcr�rrgrr%r�)r7r r6ror5r
rrh)r:r"r/r#r0rFrKr?r?r@�test_checktitles�s�
z TestStackArrays.test_checktitlesc	Cstjddgddtdfgd�}tjddgd	fd
dgdfd
dgdfgddtdfdtfgd�}t||f�}tjddgdfddgdfddgd	fddgdfddgdfgddgdfddgdfddgdfddgdfddgdfg|jd�}t|j|j�t||�t|j|j�dS)Nr�)r"rr$r"rHr%r/r�rr0r�rr�rMrrc�Ar r�Br#�a�b�cFT)r8rhr&)r4r5r6r
ror&rrh)r:r=rr��expectedr?r?r@�
test_subdtype�s:����




�




��
zTestStackArrays.test_subdtypeN)r�r�r�rAr�rr	rrr$r%r,r?r?r?r@r/s	 rc@szeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
ejj
dd�dd��Zdd�Zdd�Zdd�ZdS)�
TestJoinByc	Cs�tjttt�d�t�dd�t�dd���dtfdtfdtfgd	�|_tjttt�d
d�t�dd
�t�dd���dtfdtfdtfgd	�|_dS)Nr�2�<r��nr/r0r�r%r-r��A�Kr��r4r5�list�zipr�r7r/r0�r:r?r?r@rA�s
��
��zTestJoinBy.setupcCs\|j|j}}td||dd�}tjgd�dtfdtfdtfdtfdtfgd	�}t||�dS)
Nr/�inner)�jointype))r-�7r1�ir�)rs�8�B�j�e)r��9�C�k�f)r��:�D�l�g)r��;�E�m�h�b1�b2r�r�r%�r/r0rr4r5r7rr�r?r?r@�test_inner_join�s
��zTestJoinBy.test_inner_joincCsH|j|j}}td||�tjgd�dtfdtfdtfdtfgd�dS)NrY))r-r9r:r�)rsr;r=r>)r�r?rArB)r�rCrErF)r�rGrIrJr/r0r�r�r%)r/r0rr4r5r7�r:r/r0r?r?r@�	test_join�s
�
�zTestJoinBy.test_joincCs^tjdgdtfgd�}tjdt�gd��fgdtfdgd�}td||�}t||�tj��dS)NrHrmr%rr�)�value�uint16rn)r4r5r7rrrOro�MaskedArray)r:�foo�barr�r?r?r@�test_join_subdtypes�
�zTestJoinBy.test_join_subdtypecC�Z|j|j}}td||d�}tjgd�gd�dtfdtfdtfdtfgd	�}t||�dS)
NrY�outer)�rr.r�rl�r�3r>rl�r�4rBrl�rn�5rFrl�r+�6rJrl�r-r9r:rl)r-r1rlr��rsr;r=rl)rsr<rlr>�r�r?rArl)r�r@rlrB�r�rCrErl)r�rDrlrF�r�rGrIrl)r�rHrlrJ)r�Frlr:)r��Grlr=)r��HrlrA)rw�IrlrE)r��JrlrI)rrrrrr�rrrrrrlrrlrrlrrlrlrlrlrlrlr/r0r�r�rg�r/r0rror5r7rr�r?r?r@�test_outer_joins


��zTestJoinBy.test_outer_joincCrW)
NrY�	leftouter)
rYrZr\r^r`rbrcrdrerf)
rrrrrrrrrrr/r0r�r�rgrmr�r?r?r@�test_leftouter_join(s
�zTestJoinBy.test_leftouter_joincCsPtjdgd�d�}tjdgd�d�}tddg||ddd	�}t|jjgd
��dS)Nrn�r~r�r�r%�r�r�r~r�r0r7F)r8r�)r0r��a1�a2)r4rxr�rrr&�names)r:r/r0�jr?r?r@�test_different_field_order9sz%TestJoinBy.test_different_field_ordercCs<tjdgd�d�}tjdgd�d�}tttgd�||�dS)Nrnrqr%rr)r/r0r0)r4rxr�rr�rrOr?r?r@�test_duplicate_keysAszTestJoinBy.test_duplicate_keyszSee comment at gh-9343)�reasoncCsjt�ddg�}t�ddg�}t�gd��}tjddg|d�}tjdd	g|d�}td
||�}t|j|�dS)N)rm�S5�rQ�<f4�rm�S10)r}��value1r|)�value2r|��Sarahr���Johnr.r%�r�r��r�r�rm�r4r&r5rr�r:�a_dtype�b_dtype�expected_dtyper/r0r�r?r?r@�#test_same_name_different_dtypes_keyF�z.TestJoinBy.test_same_name_different_dtypes_keycCsjt�ddg�}t�ddg�}t�gd��}tjddg|d�}tjdd	g|d�}td
||�}t|j|�dS)Nr}r{)rQ�<f8))rmz|S10r)r�r�r�r�r%r�r�rmr�r�r?r?r@�test_same_name_different_dtypesSr�z*TestJoinBy.test_same_name_different_dtypescCs�t�dtdfdg�}tjgd�tjfgd�dfg|d�}t�dtdfdg�}tjgd�dfgd	�dfg|d�}t�dtdfddg�}tjgd�tjdfg|d�}td||�}t|j|�t||�dS)
N�posrn)�fr|)rrrr�r�r%)�gr|)rnrr)r4r&r7r5�pirr)r:r�r/r�r0r�r+r�r?r?r@�test_subarray_key`s$"zTestJoinBy.test_subarray_keycCsntjddd�}d|_tt|j�d�t�ddg|�}t�dd	g|�}td
||�}t�gd��}t|j|�dS)Nzi1,f4Tru)�k�vrnr�)rnrr�r�r�))r��i1)�v1r�)�v2r�)	r4r&rur�len�descrr5rr)r:r|r/r0r�r�r?r?r@�test_padded_dtypenszTestJoinBy.test_padded_dtypeN)r�r�r�rArNrPrVrnrprwrx�pytest�mark�xfailr�r�r�r�r?r?r?r@r-�s	

r-c@s8eZdZedd��Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestJoinBy2c	Cs�tjttt�d�t�dd�t�dd���dtfdtfdtfgd	�|_tjttt�d�t�d
d�t�dd���dtfdtfdtfgd	�|_dS)
Nrr.r/r�r0r/r0r�r%r1r2r�r3)�clsr?r?r@rA�s
��
��zTestJoinBy2.setupcC�`|j|j}}td||dddd�}tjgd�dtfdtfdtfd	tfd
tfgd�}t||�dS)Nr/rD�2r7��	r1postfix�	r2postfixr8�
)rr.r1r�r�)rr[r<r>r>)rr]r@rBrB)rnr_rDrFrF)r+rarHrJrJ)r-r9rgr:r:)rsr;rhr=r=)r�r?rirArA)r�rCrjrErE)r�rGrkrIrIr0rLr�r�r%rMr�r?r?r@�test_no_r1postfix���
��zTestJoinBy2.test_no_r1postfixc	Cstttd|j|jddd�dS)Nr/rD)r�r�)rr�rr/r0r6r?r?r@�test_no_postfix�s
�zTestJoinBy2.test_no_postfixcCr�)Nr/�1rDr7r�r�rKr0r�r�r%rMr�r?r?r@�test_no_r2postfix�r�zTestJoinBy2.test_no_r2postfixc
Cs&tjttt�ddgd�t�t�d�d�t�dd�t�dd���dtfd	tfd
tfdtfgd�}tjttt�ddgd�t�t�d�d�t�d
d�t�dd���dtfd	tfd
tfdtfgd�}tjgd�dtfd	tfdtfdtfdtfdtfgd�}td	dg||dddd�}t	|j
|j
�t	||�dS)Nrr�r-rr.r/rr�r/r0r�r%r1r2r)
)rrr.r1rr)r�rr[r<r�r)rrr]r@r�r)r�rr_rDrwrn)rrrarHr�r+)r�rr9rgr�r-)rrnr;rh�rs)r�rnr?rir�r�)rr+rCrj�r�)r�r+rGrk�r�rKrL�c1�c2r�r�r7r�)r4r5r4r5�tile�repeatr�r7rrr&)r:r/r0rKrFr?r?r@�test_two_keys_two_vars�s(&��&��
���z"TestJoinBy2.test_two_keys_two_varsN)	r�r�r��classmethodrAr�r�r�r�r?r?r?r@r�s
r�c@s eZdZdZdd�Zdd�ZdS)�TestAppendFieldsObjz;
    Test append_fields with arrays containing objects
    cCs$ddlm}t|ddd�d�|_dS)Nr)�datei�r)�obj)�datetimer��dictr8)r:r�r?r?r@rA�szTestAppendFieldsObj.setupcCs�|jd}tj|df|dfgdtfdtfgd�}tjddgtd�}t|d	|d
d�}tj|ddf|ddfgdtfdtfd	tfgd�}t||�dS)
z7Test append_fields when the base array contains objectsr�r r#rr"r%rrrcF)r8r�N)r8r4r5�objectr6r7rr)r:r�r;r<rFrKr?r?r@�test_append_to_objects�s
��z*TestAppendFieldsObj.test_append_to_objectsN)r�r�r��__doc__rAr�r?r?r?r@r��sr�).r��numpyr4�numpy.maro�numpy.ma.mrecordsr�numpy.ma.testutilsr�
numpy.testingrr�numpy.lib.recfunctionsrrrr	r
rrr
rrrrrrr�lib�recfunctions�_get_fieldspec�
get_fieldspecrTrZ�
_zip_descrrE�
_zip_dtype�	zip_dtyperr�r�r�rr-r�r�r?r?r?r@�<module>s2D




K6,&A

https://t.me/RX1948 - 2025