HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/local/lib/python3.10/dist-packages/numpy/lib/tests/__pycache__/test_io.cpython-310.pyc
o

���gs��@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZddlm
Z
ddlmZmZddlmZddlZddlmZmZddlmZddlZddlmZddlmZmZdd	lmZdd
l m!Z!ddl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1ddl2m3Z3Gd
d�de�Z4ej5dkZ6zddl7Z7dZ8Wne9y�dZ8Ynwzddl:Z:dZ;Wne9y�dZ;Ynwd:dd�Z<Gdd�d�Z=Gdd�de=�Z>Gdd�de=�Z?Gdd�d�Z@Gdd�d�ZAGdd�deA�ZBGd d!�d!�ZCGd"d#�d#eA�ZDGd$d%�d%�ZEd&d'�ZFGd(d)�d)�ZGGd*d+�d+�ZHd,d-�ZId.d/�ZJd0d1�ZKd2d3�ZLe	jMjNe,d4d5�d6d7��ZOd8d9�ZPdS);�N)�Path)�NamedTemporaryFile)�BytesIO�StringIO)�datetime)�Value�get_context)�c_bool)�ConverterError�ConversionWarning��asbytes)�assert_equal)�assert_warns�assert_�assert_raises_regex�
assert_raises�assert_allclose�assert_array_equal�temppath�tempdir�IS_PYPY�HAS_REFCOUNT�suppress_warnings�assert_no_gc_cycles�assert_no_warnings�break_cycles�IS_WASM)�requires_memoryc@s*eZdZdZd
dd�Zdd�Zdd�Zd	S)�TextIOz�Helper IO class.

    Writes encode strings to bytes if needed, reads return bytes.
    This makes it easier to emulate files opened in binary mode
    without needing to explicitly convert strings to bytes in
    setting up the test data.

    �cC�t�|t|��dS�N)r�__init__r
��self�s�r'�B/usr/local/lib/python3.10/dist-packages/numpy/lib/tests/test_io.pyr#*�zTextIO.__init__cCr!r")r�writer
r$r'r'r(r*-r)zTextIO.writecCst�|dd�|D��dS)NcSsg|]}t|��qSr'r)�.0r&r'r'r(�
<listcomp>1�z%TextIO.writelines.<locals>.<listcomp>)r�
writelines)r%�linesr'r'r(r.0szTextIO.writelinesN)r )�__name__�
__module__�__qualname__�__doc__r#r*r.r'r'r'r(r!s

rlTFcCs.t|�tkr|�d�}tt�||�dd��S)zY
    This function is available in the datetime module only from Python >=
    2.5.

    �latin1N�)�type�bytes�decoder�time�strptime)r&�fmtr'r'r(r:As
r:c@sjeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zej	j
ejdkdd
�dd��Z
dd�Zej	jdd��ZdS)�
RoundtripTestc	Os:|�di�}|�dddi�}|�dd�}|rtdd�}|j}nt�}|}zX|}	||g|	�Ri|��|��|�d�tjd	krIt|t�sI|�	�t
j|fi|��}
|	|_|
|_
Wt|t�sw|�	�d
t�vryt|
t
jjj�s{t�|j�dSdSdSdSt|t�s�|�	�d
t�vr�t|
t
jjj�s�t�|j�wwww)a�
        save_func : callable
            Function used to save arrays to file.
        file_on_disk : bool
            If true, store the file on disk, instead of in a
            string buffer.
        save_kwds : dict
            Parameters passed to `save_func`.
        load_kwds : dict
            Parameters passed to `numpy.load`.
        args : tuple of arrays
            Arrays stored to file.

        �	save_kwds�	load_kwds�allow_pickleT�file_on_diskF)�deleter�win32�arr_reloadedN)�getr�namer�flush�seek�sys�platform�
isinstance�close�np�load�arrrC�locals�lib�npyio�NpzFile�os�remove)r%�	save_func�args�kwargsr=r>r@�target_file�	load_filerNrCr'r'r(�	roundtripMsD



�
�
�zRoundtripTest.roundtripcCs�|�|�|j|dd�|�t�|��|jt�|�dd�|jddkrA|�t�|�dd��|jt�|�dd�dd�dSdS)NT)r@r�)rZrL�asfortranarray�shape�r%�ar'r'r(�check_roundtrips}s
 �zRoundtripTest.check_roundtripscCs�t�gt�}|�|�t�ddgddggt�}|�|�t�ddgddggt�}|�|�tjddgddggtjd	�}|�|�tjddgddggtjd	�}|�|�dS)
Nr[�r5�y�?@y@@y@@y@ @��dtype)rL�array�floatr`�int�csingle�cdoubler^r'r'r(�
test_array�s



zRoundtripTest.test_arraycCs<t�gt�}|�|�t�ddgddggt�}|�|�dS)Nr[rar5rb)rLre�objectr`r^r'r'r(�test_array_object�s
zRoundtripTest.test_array_objectcCst�gd�t�}|�|�dS)N�r[rar5rb)rLrergrZr^r'r'r(�test_1D�szRoundtripTest.test_1DrBzFails on Win32��reasoncCsXt�ddgddgg�}|j|dddid�t�ddgddgg�}|j|dddid�dS)	Nr[g@rbg333333@T�	mmap_mode�r)r@r>)rLrerZr\r^r'r'r(�	test_mmap�szRoundtripTest.test_mmapcCs$tjddgddgd�}|�|�dS)N�r[ra�r5rb��x�i4��yrxrc)rLrer`r^r'r'r(�test_record�szRoundtripTest.test_recordcCsjdd�td�D�}tjd|d�}tjdd��t�dd	t�|�|�Wd�dS1s.wYdS)
NcSsg|]
}d|dtf�qS)�%d�d�rf�r+�ir'r'r(r,�sz1RoundtripTest.test_format_2_0.<locals>.<listcomp>��i�rcT��record�alwaysr )�rangerL�ones�warnings�catch_warnings�filterwarnings�UserWarningr`)r%�dtr_r'r'r(�test_format_2_0�s"�zRoundtripTest.test_format_2_0N)r0r1r2rZr`rjrlrn�pytest�mark�skipifrHrIrsr{�slowr�r'r'r'r(r<Ls0

r<c@�eZdZdd�ZdS)�TestSaveLoadcOsbtj|tjg|�Ri|��t|jd|j�t|jdj|jj�t|jdjj	|jjj	�dS)Nr)
r<rZrL�saverrNrCrd�flags�fnc)r%rVrWr'r'r(rZ�szTestSaveLoad.roundtripN)r0r1r2rZr'r'r'r(r���r�c@s�eZdZdd�Zejjedd�ejjedd�ejj	dd����Z
dd	�Zd
d�Zdd
�Z
dd�Zejjedd�dd��Zdd�Zejjdd��Zdd�Zej�dgd��dd��ZdS)�
TestSavezLoadc	Os�tj|tjg|�Ri|��z=t|j�D] \}}|jd|}t||�t|j|j�t|j	j
|j	j
�qW|jjrJ|jj��t
�|jjj�dSdS|jjr_|jj��t
�|jjj�ww)Nzarr_%d)r<rZrL�savez�	enumeraterNrCrrdr�r��fidrKrSrTrE)r%rVrW�nrN�reloadedr'r'r(rZ�s
���zTestSavezLoad.roundtripz
Hangs on PyPyrozNeeds 64bit platformcCsrd}tj|tjd�}tddd��}tj||d�~t�|�}|d}|��~Wd�dS1s2wYdS)Nl�rc�numpy_test_big_arrays_�.npz)�prefix�suffix�r_r_)rL�empty�uint8rr�rMrK)r%�Lr_�tmp�npfiler'r'r(�test_big_arrays�s
"�zTestSavezLoad.test_big_arrayscCs@t�ddgddggt�}t�ddgddggt�}|�||�dS)	Nr[rar5rb��?@�@@�@��@(@)rLrerf�complexrZ)r%r_�br'r'r(�test_multiple_arrays�sz"TestSavezLoad.test_multiple_arrayscCszt�ddgddggt�}t�ddgddggt�}t�}tj|||d	�|�d
�t�|�}t||d�t||d�dS�
Nr[rar5rbr�r�r�r�)�file_a�file_brr�r�)	rLrerfr�rr�rGrMr�r%r_r��c�lr'r'r(�test_named_arrays�s

zTestSavezLoad.test_named_arrayscCsrt�gd��}t�}tj||d�|�d�t�|�}tjtdd��
|dWd�dS1s2wYdS)N�r[rar5r�rz(1, 2)��matchrt)	rLrerr�rGrMr��raises�KeyError)r%r_�fr�r'r'r(�test_tuple_getitem_raises�s


"�z'TestSavezLoad.test_tuple_getitem_raisescCs�t�ddgddggt�}t�ddgddggt�}t�}tj|||d	�|�d
�t�|�}tt	t
|j��ddg�t||jj�t||jj
�dSr�)rLrerfr�rr�rGrMr�sorted�dirr�r�r�r�r'r'r(�test_BagObj�s

zTestSavezLoad.test_BagObjzCannot start threadcsXdd��g���fdd�td�D�}|D]}|��q|D]}|��q�r*t���dS)NcSs�tdd��9}tj�dd�}z	tj||d�Wnty-}z|�|�WYd}~n
d}~wwWd�dSWd�dS1sAwYdS)Nr��r�r�)rN)rrL�random�randnr��OSError�append)�
error_listr�rN�errr'r'r(�writers����"�z9TestSavezLoad.test_savez_filename_clashes.<locals>.writercsg|]
}tj��fd��qS)��targetrV)�	threading�Thread)r+�j��errorsr�r'r(r,s�z=TestSavezLoad.test_savez_filename_clashes.<locals>.<listcomp>r5)r��start�join�AssertionError)r%�threads�tr'r�r(�test_savez_filename_clashess�

�z)TestSavezLoad.test_savez_filename_clashesc	Cs�tdd��f}t|d��}tj|dd�Wd�n1swYt|dd��+}|�d�t|j�t�|�d	t|j�|�d�t|j�Wd�n1sVwYWd�dSWd�dS1snwYdS)
Nr�r��wb�LOVELY LOAD��data�rbi'rr�)r�openrLr�rGr�closedrM)r%r��fpr'r'r(�test_not_closing_opened_fids�

��"�z)TestSavezLoad.test_not_closing_opened_fidc
Cs�tdd��f}tj|dd�t��C}|�t�tdd�D]0}z&z	t�|�dWnty;}zd|}t	|��d}~wwWt
rCt��qt
rKt��wwWd�n1sVwYWd�dSWd�dS1snwYdS)	Nr�r�r�r�r[ir�z#Failed to load data from a file: %s)
rrLr�r�filter�ResourceWarningr�rM�	Exceptionr�r�gc�collect)r%r��supr��e�msgr'r'r(�test_closing_fid(s0
�����
����"�zTestSavezLoad.test_closing_fidcCshd}td|d��"}tj|dd�t�|�}|jj}|��t|j�Wd�dS1s-wYdS)N�&numpy_test_closing_zipfile_after_load_r�)r�r��place holder��lab)	rrLr�rM�zipr�rKrr�)r%r�r�r�r�r'r'r(�test_closing_zipfile_after_loadBs
"�z-TestSavezLoad.test_closing_zipfile_after_loadzcount, expected_repr))r[z"NpzFile {fname!r} with keys: arr_0)�z>NpzFile {fname!r} with keys: arr_0, arr_1, arr_2, arr_3, arr_4)�zANpzFile {fname!r} with keys: arr_0, arr_1, arr_2, arr_3, arr_4...cCs�t�ddgddggt�}tdd��*}tj|g|g|�R�t�|�}t|�|j|d�ks/J�|��Wd�dS1s>wYdS)Nr[rar5rbr�r�)�fname)	rLrerfrr�rM�repr�formatrK)r%�count�
expected_reprr_r�r�r'r'r(�test_repr_lists_keysOs

"�z"TestSavezLoad.test_repr_lists_keysN)r0r1r2rZr�r�r�r�IS_64BITr�r�r�r�r�r�rr�r��	slow_pypyr�r��parametrizer�r'r'r'r(r��s$



r�c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zej�d#d$d%g�ej�d&eeg�d'd(���Zejjejd)kd*d+�ejjed,d-�d.d/����Zd0S)1�TestSaveTxtcCs�t�ddgddggt�}d}t�}tj|||d�|�d�t|��t|d|d	d
�t|d|d	d�g�t�ddgddggt	�}t�}tj||dd�|�d�t|��d
dg�dS)Nr[rar5rbz%.18e�r;r� �
rtrur|�1 2
�3 4
)
rLrerfr�savetxtrGr�	readlinesr
rg)r%r_r;r�r'r'r(rj`s
��
zTestSaveTxt.test_arraycCsJt�gd�t�}t�}tj||dd�|�d�|��}t|gd��dS)Nrmr|r�r)s1
s2
s3
s4
)rLrergrr�rGr�r�r%r_r�r/r'r'r(rnps
zTestSaveTxt.test_1DcCs@t�}tttj|t�d��tttj|t�dgdggg��dS)Nr[ra)rr�
ValueErrorrLr�re�r%r�r'r'r(�
test_0D_3Dxs$zTestSaveTxt.test_0D_3DcCsLtjddgddgd�}t�}tj||dd�|�d�t|��d	d
g�dS)Nrtrurvryrcr|r�rr�r��rLrerr�rGrr��r%r_r�r'r'r(�test_structured}s

zTestSaveTxt.test_structuredcCsTtjddggd�d�}t�}tj||ddgdd�|�d	�t|��d
dg�dS)Nr��rbr�r�))�foorx)�barrx)�bazrxrcrr
r|r�rs1 3
s4 6
rrr'r'r(�test_structured_padded�s

z"TestSaveTxt.test_structured_paddedcCsvtjdgd�d�}|ddg}tdd��}t|�}t�||�t�|�}t||�Wd�dS1s4wYdS)Nr[)rvry)�z�f4rcrwr�.npyr�)rLr�rrr�rMr)r%r_�v�pathr�r'r'r(�test_multifield_view�s
"�z TestSaveTxt.test_multifield_viewcCsNt�ddgddgg�}t�}tj||ddd�|�d�t|��d	d
g�dS)N��?�@�@�@�,r|)�	delimiterr;rs1,2
s3,4
rrr'r'r(�test_delimiter�s

zTestSaveTxt.test_delimitercCs�t�ddg�}t�}tj||ddgd�|�d�t|��ddg�t�}tj||d	d�|�d�|��}t|d
dg�t�}tj||d	dd
�|�d�|��}t|d
dg�t�}tttj||dd�dS)Nrtruz%02dz%3.1fr�rs01 2.0
s03 4.0
z%02d : %3.1fs	01 : 2.0
s	03 : 4.0
r)r;r�c)	rLrerr�rGrr�rrrr'r'r(�test_format�s"


zTestSaveTxt.test_formatcCst�}tjddgtd�}d}tj||d|d�|�d�t|��td|d	��t�}tj||d|d
�|�d�t|��td|d��t�}d
}tj||d||d�|�d�t|��t||dd��t�}d
}tj||d||d�|�d�t|��td||d��dS)NrtrurczTest header / footerz%1d)r;�headerrz# z	
1 2
3 4
)r;�footerz
1 2
3 4
# r�z% )r;r�commentsz1 2
3 4
)r;rr)	rrLrergr�rGr�readr
)r%r�r_�test_header_footer�
commentstrr'r'r(r�s@
�
�
�
�
�
�zTestSaveTxt.test_header_footercCsZt�� }t�ddg�}t�||�t�|�}t||�Wd�dS1s&wYdS)Nrtru)rrLrer��loadtxtr)r%rEr_r�r'r'r(�test_file_roundtrip�s
"�zTestSaveTxt.test_file_roundtripcCs�d}d}tj||ftjd�}tj}tj}|d||dd�<t�}tj||dd�|�d�|��}t	|ddg�t�}tj||d|d�|�d�|��}t	|d	d	g�t�}tj||d
g|d�|�d�|��}t	|ddg�dS)Nrarc��?z %+.3er�rs8 ( +3.142e+00+ +2.718e+00j)  ( +3.142e+00+ +2.718e+00j)
z  %+.3e  %+.3es1  +3.142e+00  +2.718e+00  +3.142e+00  +2.718e+00
z(%.3e%+.3ej)s.(3.142e+00+2.718e+00j) (3.142e+00+2.718e+00j)
�
rL�zeros�
complex128�pir�rr�rGr�r�r%�ncols�nrowsr_�re�imr�r/r'r'r(�test_complex_arrays�sH
��
��
��zTestSaveTxt.test_complex_arrayscCsvd}d}tj||ftjd�}tj}tj}|d||dd�<t�}tj||dd�|�d�|��}t	|ddg�dS)Nrarcr#z%.3er�rs0 (3.142e+00-2.718e+00j)  (3.142e+00-2.718e+00j)
r$r(r'r'r(�test_complex_negative_exponents 
��z*TestSaveTxt.test_complex_negative_exponentcCsHGdd�dt�}|�}t�ddg�}t�||�t�|�}t||�dS)Nc@r�)z4TestSaveTxt.test_custom_writer.<locals>.CustomWritercSs|�|�d��dS)N�
)�extend�split)r%�textr'r'r(r*r)z:TestSaveTxt.test_custom_writer.<locals>.CustomWriter.writeN)r0r1r2r*r'r'r'r(�CustomWriterr�r3rtru)�listrLrer�r!r)r%r3�wr_r�r'r'r(�test_custom_writers
zTestSaveTxt.test_custom_writercCsfd�d�}tj|gtjd�}t��}tjtj�|d�|dgdd�Wd�dS1s,wYdS)N�ϖ�UTF-8rc�test.csv�%s�r;�encoding)	r8rLre�str_rr�rSrr�)r%�utf8r_�tmpdirr'r'r(�test_unicode%s
�"�zTestSaveTxt.test_unicodecCs�d�d�}tj|gtjd�}ddg}tr|�d�tr"|�ddg�t��4}|D](}tj	t
j�|d	|�|d
gdd�tj
t
j�|d	|�dtjd
�}t||�q(Wd�dS1s\wYdS)Nr7r8rcr �.gz�.bz2�.xz�.lzmar9r:z	UTF-16-LEr;�r<rd)r8rLrer=�HAS_BZ2r��HAS_LZMAr0rr�rSrr�r!r)r%r>r_�suffixesr?r�r�r'r'r(�test_unicode_roundtrip-s$

���"�z"TestSaveTxt.test_unicode_roundtripcCs\d�d�}tj|gtjd�}t�}tj||dgdd�|�d�t|���d�|d�dS�Nr7r8rcr:r;rr�)	r8rLrer=rr�rGrr�r%r>r_r&r'r'r(�test_unicode_bytestream>s

z#TestSaveTxt.test_unicode_bytestreamcCsVd�d�}tj|gtjd�}t�}tj||dgdd�|�d�t|��|d�dSrJ)	r8rLrer=rr�rGrrrKr'r'r(�test_unicode_stringstreamFs

z%TestSaveTxt.test_unicode_stringstreamr;�%fs%f�iotypecCs`t�dg�}|�}tj|||d�|�d�|tur%t|��dd�dSt|��dd�dS)Nrr�rz%f
s%f
)rLrer�rGrrr)r%r;rOr_r&r'r'r(�test_unicode_and_bytes_fmtNs
z&TestSaveTxt.test_unicode_and_bytes_fmtrBzfiles>4GB may not workrog`��A)�
free_bytescCsldd�}tt�}td�}|j||fd�}|��|��|jr#td��|jdkr-t	�
d�|jdks4J�dS)	NcSs�d|_z2tjdd�td�D�td�}t��}tjtj�	|d�|d�Wd�WdS1s.wYWdSt
y@d|_�w)	NFcSs$g|]}tj�tj�dd�d��qS)�2r}rb)rLr��rand�randintrr'r'r(r,ds
��zGTestSaveTxt.test_large_zip.<locals>.check_large_zip.<locals>.<listcomp>i5rcztest.npz)�	test_dataT)�valuerL�asarrayr�rkrr�rSrr��MemoryError)�memoryerror_raisedrUr?r'r'r(�check_large_zip_s 
���&��z3TestSaveTxt.test_large_zip.<locals>.check_large_zip�forkr�z,Child process raised a MemoryError exception���zCsubprocess got a SIGKILL, apparently free memory was not sufficientr)rr	r�Processr�r�rVrX�exitcoder��xfail)r%rZrY�ctx�pr'r'r(�test_large_zip[s

zTestSaveTxt.test_large_zipN) r0r1r2rjrnrrrrrrrr"r-r.r6r@rIrLrMr�r�r�rrrPr�rHrIr�rrbr'r'r'r(r�_s2
	"&r�c@sxeZdZdd�Zdd�Zejjedd�dd��Z	ejje
d	d�d
d��Zdd
�Zdd�Z
dd�Zdd�Zdd�ZdS)�LoadTxtBasecCs�t�d��d�}d}|D]k}d|d}|D]`}t|d��Q}||ddd	��
}	|	�|�Wd�n1s5wY|j|dd
�}
t|
|�||ddd
��
}	|�|	�}
Wd�n1s]wYt|
|�Wd�n1sqwYqqdS)Nr��rar5�r�z
�
�0 1 2�3 4 5r��wtz	UTF-32-LE)�moder<�r<�rt)rL�arange�reshaperr*�loadfuncr)r%�fopenrH�wanted�linesep�sepr�r�rEr��resr'r'r(�check_compressed�s&�
�����zLoadTxtBase.check_compressedcC�|�tjd�dS)N)rA)ru�gzipr��r%r'r'r(�test_compressed_gzip�sz LoadTxtBase.test_compressed_gzipz	Needs bz2rocCrv)N)rB)ru�bz2r�rxr'r'r(�test_compressed_bz2��zLoadTxtBase.test_compressed_bz2z
Needs lzmacCrv)N)rCrD)ru�lzmar�rxr'r'r(�test_compressed_lzma�r|z LoadTxtBase.test_compressed_lzmac	Cs�t��4}t|d��}|�d�d��Wd�n1swY|j|dd�}t|gd��Wd�dS1s:wYdS)Nr�z0.
1.
2.�UTF-16rk)�rr)rr�r*�encoderor)r%rr�rwr'r'r(�
test_encoding�s�"�zLoadTxtBase.test_encodingc	Cs�d�d�}t��4}t|d��}|�|�d��Wd�n1s!wY|j|dtjd�}t||�Wd�dS1s?wYdS)Nsöüör8r�rrE)	r8rr�r*r�rorLr=r)r%�nonasciirr�rwr'r'r(�test_stringload�s
�"�zLoadTxtBase.test_stringloadcCs8d}|jt|�tjdd�}t|t�|�d�����dS�Ns��h i jr)rdr<)rorrLr=rrer8r1�r%�utf16rr'r'r(�test_binary_decode�szLoadTxtBase.test_binary_decodecCsTt�}|�d�|�d�|j|tjddd�id�}t�d�d�g�}t||�dS)Nr7rcS�
|�d�S)Nr8�r8�rwr'r'r(�<lambda>��
z4LoadTxtBase.test_converters_decode.<locals>.<lambda>)rd�
convertersr8)	rr*rGrorLr=rer8r�r%r�rwr_r'r'r(�test_converters_decode�s



�z"LoadTxtBase.test_converters_decodec	Cs�d�d�}t��A}tj|ddd��
}|�|�Wd�n1s!wY|j|tjddd�idd�}t�|d	g�}t	||�Wd�dS1sLwYdS)
Nr7r8rirkrcSs|dS)Nr�r'r�r'r'r(r��sz6LoadTxtBase.test_converters_nodecode.<locals>.<lambda>�rdr�r<r�)
r8r�ior�r*rorLr=rer)r%r>rr�rwr_r'r'r(�test_converters_nodecode�s
�

�"�z$LoadTxtBase.test_converters_nodecodeN)r0r1r2ruryr�r�r�rFr{rGr~r�r�r�r�r�r'r'r'r(rc�s

	
rcc@seZdZeej�Zdd�Zdd�Zdd�Z	dd�Z
d	d
�Zdd�Zd
d�Z
dd�Zdd�Zdd�Zejjeo;ejjdkdd�dd��Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Z d*d+�Z!d,d-�Z"d.d/�Z#d0d1�Z$d2d3�Z%ejjeo�ejjdkdd�d4d5��Z&ejjeo�ejjdkdd�d6d7��Z'd8d9�Z(d:d;�Z)d<d=�Z*d>d?�Z+d@dA�Z,dBdC�Z-dDdE�Z.dFdG�Z/dHdI�Z0ejje1�2�dJkdKd�dLdM��Z3dNdO�Z4dPdQ�Z5dRdS�Z6dTdU�Z7ej�8dVdWgdXgdY�fdXgdZ�fdXe9d[�fd\gd]�fd\gd^�fd\e9d_�fg�d`da��Z:dbS)c�TestLoadTxtcCstjjj|_dtjj_dS�Nr[)rLrPrQ�_loadtxt_chunksize�
orig_chunkrxr'r'r(�setup_method�szTestLoadTxt.setup_methodcCs|jtjj_dSr")r�rLrPrQr�rxr'r'r(�teardown_method�szTestLoadTxt.teardown_methodcCs�t�}|�d�|�d�tj|dtjfdtjfgd�}tjddgdd	gd�}t||�t�}|�d
�|�d�ddd
�}tjddg|d�}tj||d�}t||�dS)N�1 2
3 4rrwrzrcrtrurvryzM 64 75.0
F 25 60.0��gender�age�weight��S1rxr
��names�formats��M�P@��R@��F�9@�N@)rr*rGrLr!�int32rer)r%r�rwr_�d�mydescriptorr�rzr'r'r(r{�s&




���zTestLoadTxt.test_recordcCs�t�}|�d�|�d�tj|td�}t�ddgddggt�}t||�|�d�tj|td�}t�ddgddggt�}t||�dS)Nr�rrcr[rar5rb)	rr*rGrLr!rgrerrfr�r'r'r(rj�s



zTestLoadTxt.test_arraycCs�t�}|�d�|�d�tj|td�}t�gd�t�}t||�t�}|�d�|�d�tj|tdd�}t�gd�t�}t||�dS)N�1
2
3
4
rrcrm�1,2,3,4
r�rdr�rr*rGrLr!rgrerr�r'r'r(rn�s




zTestLoadTxt.test_1DcCsRt�}|�d�|�d�tj|tdddd�id�}t�gd�t�}t||�dS)	N�	1,2,3,,5
rrr5cS�t|pd�S�N�����rg�r&r'r'r(r��z*TestLoadTxt.test_missing.<locals>.<lambda>�rdrr��r[rar5r�r�r�r�r'r'r(�test_missings



�zTestLoadTxt.test_missingcCs\t�}|�d�|�d�tj|tdddd�idd�}t�d	d
gddggt�}t||�dS)
N�1,2,3,,5
6,7,8,9,10
rrr5cSr�r�r�r�r'r'r(r�r�z:TestLoadTxt.test_converters_with_usecols.<locals>.<lambda>�r[r5�rdrr��usecolsrar���	r�r�r'r'r(�test_converters_with_usecolss



�z(TestLoadTxt.test_converters_with_usecolscC�Jt�}|�d�|�d�tj|tddd�}t�gd�t�}t||�dS)N�# comment
1,2,3,5
rr�#�rdrr�r[rar5r�r�r�r'r'r(�test_comments_unicode�


�z!TestLoadTxt.test_comments_unicodecCr�)Nr�rr�#r�r�r�r�r'r'r(�test_comments_byter�zTestLoadTxt.test_comments_bytecCsVt�}|�d�|�d�tj|tdgd�d�}t�gd�gd�gt�}t||�dS)Nz,# comment
1,2,3
@ comment2
4,5,6 // comment3rr)r��@z//r�r�rr�r�r'r'r(�test_comments_multiple's


�z"TestLoadTxt.test_comments_multiple)r�r5�zPyPy bug in error formattingrocCszt�}|�d�|�d�tj|tddd�}t�gd�t�}t||�t�}|�d�|�d�tt	tj|tddd�dS)Nz/* comment
1,2,3,5
rrz/*r�r�z*/ comment
1,2,3,5
)
rr*rGrLr!rgrerrrr�r'r'r(�test_comments_multi_chars0s


�



�z%TestLoadTxt.test_comments_multi_charscCs�t�}|�d�|�d�tj|tddd�}t�gd�t�}t||�t�}|�d�|�d�tj|tddd�}t�gd�t�}t||�dS)N�comment
1,2,3,5
rrr[)rdr�skiprowsr�r�r�r�r'r'r(�
test_skiprowsBs 


�



�zTestLoadTxt.test_skiprowsc
	Cs~t�ddgddggt�}t�}t�||�|�d�tj|tdd�}t||dd�df�t�gd�gd	�gt�}t�}t�||�|�d�tj|td
d�}t||dd�dd�f�|�d�tj|tt�ddg�d�}t||dd�dd�f�ttj	tj
tjtjtj
tjtjtjf	D]}|d�}|�d�tj|t|d�}t||dd�df�q�Gdd�d�}|�}|�d�tj|t|d�}t||dd�df�|�d�tj|t|fd�}t||dd�df�d
}t|�}ddg}	ddg}
tj|dtt|	|
��d�}t|dddg�t|dddg�|�d�d}ttdt|�jtj||d�ttdt|�jtj|d|dgd�dS)Nr[rar5rbr�r[�rdr�r��r5rbr�rtc@r�)z*TestLoadTxt.test_usecols.<locals>.CrazyIntcSsdSr�r'rxr'r'r(�	__index__rsz4TestLoadTxt.test_usecols.<locals>.CrazyInt.__index__N)r0r1r2r�r'r'r'r(�CrazyIntqr�r�z<JOE 70.1 25.3
                BOB 60.5 27.9
                �stid�temp�S4�f8�rra�r�rd�JOE�BOB������L9@�fffff�;@��?z^usecols must be.*%s�r�)rLrerfrr�rGr!rrg�int8�int16r��int64r��uint16�uint32�uint64rr4r�rr�	TypeErrorr6r0)
r%r_r�rw�int_type�to_readr��	crazy_intr�r��dtypesrN�	bogus_idxr'r'r(�test_usecolsSsd



�



�
�zTestLoadTxt.test_usecolscCs�t�t��tjdgdgdd�Wd�n1swYt�ttf��tjdgdgdd�Wd�n1s;wYtjtdd��tjdgd	d
gdd�Wd�dS1s^wYdS)Nz1
lr)r�rlzQIf a structured dtype .*. But 1 usecols were given and the number of fields is 3.r�z1,1
zi,(2)ir)rdr�r)r�r��
OverflowErrorrLr!rr�rxr'r'r(�test_bad_usecols�s���"�zTestLoadTxt.test_bad_usecolscCsjt�}|�d�|�d�t�dtfddtfdtfgfg�}tj||dd�}t�d	d
g|�}t	||�dS)N�1,2,3.0
4,5,6.0
rrwrzr�r&rr��r[)rar�rb)r��@)
rr*rGrLrdrgrfr!rer�r%r�r�rwr_r'r'r(�test_fancy_dtype�s

"zTestLoadTxt.test_fancy_dtypecC�htd�}t�ddtfdtfdtdfg�}tj||d�}tjdd	d
gd�gd�gfg|d�}t||�dS�
Nzaaaa  1.0  8.0  1 2 3 4 5 6�rEr�rwrz�blockrdrc�aaaar� @r�r�rrLrdrfrgr!rerr�r'r'r(�test_shaped_dtype����zTestLoadTxt.test_shaped_dtypecCsxtd�}t�ddtfdtfdtdfg�}tj||d�}tjdd	d
gd�gd�ggd
�gd�ggfg|d�}t||�dS)Nz*aaaa  1.0  8.0  1 2 3 4 5 6 7 8 9 10 11 12r�rwrzr�)rarar5rcr�rr�r�r)r�r�r�)�
��rr�r'r'r(�test_3d_shaped_dtype�s�
��z TestLoadTxt.test_3d_shaped_dtypecCsFddg}ttjfD]}tjddg|d�}tj||d�}t||�q	dS)N�str1�str2rc)�strrL�bytes_rer!r)r%r�r�r_rwr'r'r(�test_str_dtype�s�zTestLoadTxt.test_str_dtypecCs|tjtdd��-t�}t�|�}t|jd�tj|tjd�}t|jd�t	|j
tjk�Wd�dS1s7wYdS)N�input contained no datar��rrc)r��warnsr�rrLr!rr]r�rrd)r%r�rwr'r'r(�test_empty_file�s
"�zTestLoadTxt.test_empty_filecCsxt�}|�ddg�|�d�tj|dddd�id�}t|dd	g�|�d�tj|dd
dd�id�}t|dd
g�dS)Nz1 21
z3 42
rr�cS�
t|d�S�N�r�r�r'r'r(r��r�z3TestLoadTxt.test_unused_converter.<locals>.<lambda>�r�r���*r[cSrrr�r�r'r'r(r��r��!�B)rr.rGrLr!r)r%r�r�r'r'r(�test_unused_converter�s

�

�z!TestLoadTxt.test_unused_convertercCsrd}dtfdtfg}dd�}d|i}tjt|�d||d�}tjdtd	dd�fd
tddd�fg|d
�}t||�dS)N�0 1; 2001-01-01
                   2; 2002-01-31 �idx�codecS�t|��d�S�Nz%Y-%m-%d�r:�stripr�r'r'r(r���z4TestLoadTxt.test_dtype_with_object.<locals>.<lambda>r[�;�rrdr���ra���rc)rgrkrLr!rrerr�r%r��ndtype�funcr��test�controlr'r'r(�test_dtype_with_object�s��z"TestLoadTxt.test_dtype_with_objectcC�@d}t�}|�d|�|�d�tj|tjd�}t||�dS)N)l+&�|l-(�|�%s %srrc)rr*rGrLr!r�r�r%�tgtr�rtr'r'r(�test_uint64_type��
zTestLoadTxt.test_uint64_typecCr,)N)l��������l����r-rrc)rr*rGrLr!r�rr.r'r'r(�test_int64_type�r1zTestLoadTxt.test_int64_typecCs�t�ddd��tj�}t�||f��t�}d�ttj|��}t	�}|�
|�ttjfD]}|�d�tj||tj
dd�}t||d|d	�q,dS)
Ni����rr�r�rr4r�r:)�err_msg)rL�logspace�astype�float32�hstackrfr��map�hexrr*rGr!�fromhexr)r%r/�inpr�r�rtr'r'r(�test_from_float_hex�s


��zTestLoadTxt.test_from_float_hexcC�Ftd�}tjtdd��t�|�Wd�dS1swYdS)z�
        Ensure that fromhex is only used for values with the correct prefix and
        is not called by default. Regression test related to gh-19598.
        za b cz2.*convert string 'a' to float64 at row 0, column 1r�N�rr�r�rrLr!rr'r'r(�6test_default_float_converter_no_default_hex_conversion
��"�zBTestLoadTxt.test_default_float_converter_no_default_hex_conversioncCr=)z�
        Ensure that the exception message raised during failed floating point
        conversion is correct. Regression test related to gh-19598.
        zqrs tuvz)could not convert string 'qrs' to float64r�Nr>rr'r'r(�&test_default_float_converter_exceptionr@z2TestLoadTxt.test_default_float_converter_exceptioncCsNtdd�tdd�f}t�}|�d|�|�d�tj|td�}t||�dS)Nr[���r-rrc)r�rr*rGrLr!rr.r'r'r(�test_from_complex"s
zTestLoadTxt.test_from_complexcCs�tjdtjd�}tj}tj}|d||dd�<t�}tj||dd�|�d�|��}|�d�|�	dd�}t
||k�|�|�|�d�tj|t
d�}t||�dS)	N�rararcr#z%.16er�rse+00-se00+-)rLr%r&r'r�rr�rGr�replacerr*r!r�r)r%r_r+r,r��txt�txt_badrtr'r'r(�test_complex_misformatted*s



z%TestLoadTxt.test_complex_misformattedc	Cs~t��'}t|d��
}|�d�Wd�n1swYt�|�}Wd�n1s-wYt|ddgddgg�dS)Nr5z
1 21
3 42
r[rr5r)rr�r*rLr!r)r%rEr�r�r'r'r(�test_universal_newline>s��z"TestLoadTxt.test_universal_newlinecCsTt�}|�d�|�d�ddd�}tj||dd�}t�gd��}t|d	|�dS)
Nz 1 	2 	3	start 
4	5	6	  
7	8	9.5	r)rwrzr�comment)�<i4rK�<f4�|S8r��	r�)sstart s  �rJ)rr*rGrLr!rerr�r'r'r(�test_empty_field_after_tabEs

�z&TestLoadTxt.test_empty_field_after_tabcCs�td�}ddd�}tj||dd�\}}}t|jjdk�t|jjdk�t|jjd	k�t|t�d
dg��t|t�dd
g��t|t�ddg��dS)N�M 21 72
F 35 58�r_r�r�)�|S1rKrLr�T�rd�unpackrSrKrL�M�Fr�#�R@�M@)rrLr!rrdr	rre�r%rFr�r_r�r�r'r'r(�test_unpack_structuredOs
z"TestLoadTxt.test_unpack_structuredcCs
t�}|�d�|�d�tttj|dd�|�d�tttj|dd�|�d�tj|tddd�}t�gd	�gd
�g�}t	||�t�}|�d�|�d�tj|tddd�}t
|jd
k�|�d�tj|tddd�}t
|jdk�|�d�tj|tddd�}t
|jdk�t�}|�d�|�d�tj|tddd�}t
|jdk�|�d�tj|tddd�}t
|jdk�|�d�tj|tddd�}t
|jdk�tj
tdd��$t�}t
tj|dd�jdk�t
tj|dd�jdk�Wd�dS1s�wYdS)Nz1,2,3
4,5,6rr5��ndminr�rr[)rdrr^r�rz0,1,2rar�)r5z0
1
2)r5r[rr��rr[r
)rr*rGrrrLr!rgrerrr]r�rr�)r%r�rwr_r�r�r�r'r'r(�test_ndmin_keywordZsJ












"�zTestLoadTxt.test_ndmin_keywordcC�(dd�}t�|��}t|t�d��dS)Ncss�td�D]}d|VqdS�Nrr|)r��r�r'r'r(r��s��z0TestLoadTxt.test_generator_source.<locals>.countr)rLr!rrm�r%r�rtr'r'r(�test_generator_source�sz!TestLoadTxt.test_generator_sourcecCs.t�}|�d�|�d�ttdtj|�dS)Nz1 2 3
4 5 6
2 3r�3)rr*rGrrrLr!rr'r'r(�
test_bad_line�s

zTestLoadTxt.test_bad_linecCsHt�}|�d�|�d�t�dtfddtfg�}tj|d|dd�dS)Nz100,foo,200
300,None,400rrw)r_�S10rzr)rrdr)rr*rGrLrdrgr!)r%r�r�r'r'r(�test_none_as_string�s


zTestLoadTxt.test_none_as_stringzANSI_X3.4-1968zWrong preferred encodingc	Csd}|�d��dd���}t��q}t|d��
}|�|�Wd�n1s&wYt|d��}tj|dtjd�}Wd�n1sDwYt	||�t|d��}tj|ddd�}Wd�n1sfwYgd	�}t	|tj
|dd
��Wd�dS1s�wYdS)Ns/5,6,7,Õscarscar
15,2,3,hello
20,2,3,Õscar
r8rfr r�r�rE�S)s5,6,7,Õscarscars15,2,3,hellos
20,2,3,Õscarrc)r8rE�
splitlinesrr�r*rLr!r=rre)r%�butf8�sutf8rr�rwr'r'r(�test_binary_load�s ��
�"�zTestLoadTxt.test_binary_loadcCr�)N�1,2,3,5
4,5,7,8
2,1,4,5rrr[�rdr�max_rowsr�r�r�r'r'r(�
test_max_rows�r�zTestLoadTxt.test_max_rowscCs�t�}|�d�|�d�tj|tdddd�}t�gd�t�}t||�t�}|�d�|�d�tj|tdddd�}t�gd�gd	�gt�}t||�dS)
Nz comments
1,2,3,5
4,5,7,8
2,1,4,5rrr[�rdrr�rqr��comment
1,2,3,5
4,5,7,8
2,1,4,5ra�rbr�r�r�r�r�r'r'r(�test_max_rows_with_skiprows�s 


�



�z'TestLoadTxt.test_max_rows_with_skiprowscCs|t�}|�d�|�d�tj|tddd�}t�gd�gd�gt�}t||�tj|tdd�}t�gd	�t�}t||�dS)
Nrorrrarpr�rur��rar[rbr�r�r�r'r'r(�$test_max_rows_with_read_continuation�s


�
z0TestLoadTxt.test_max_rows_with_read_continuationcCsZt�}|�d�|�d�tj|tdddd�}t�gd�gd�gd	�gt�}t||�dS)
Nrtrrr[r�rsr�rurwr�r�r'r'r(�test_max_rows_larger�s


�z TestLoadTxt.test_max_rows_larger�skipr�r[)zignored
�1,2
r��3,4
)�ignored�1,2r �3,4zignored
1,2

3,4r)z-1,0
r{r�r|)z-1,0r~r rz
-1,0
1,2

3,4c	Cstjtdd|��d��&tj|t|dd|d�}t|ddgdd	gdd
gg|d��Wd�n1s5wYt|t�rD|�	d�t
���8t
�dt�t�
t��tj|t|dd|d�Wd�n1skwYWd�dSWd�dS1s�wYdS)NzInput line 3.*max_rows=r5r�r)rdr�rrqrBrr[rarb�error)r�rr�rLr!rgrrJrrGr�r��simplefilterr�)r%rzr�rtr'r'r(�test_max_rows_empty_lines�s(
��&�


���"�z%TestLoadTxt.test_max_rows_empty_linesN);r0r1r2�staticmethodrLr!ror�r�r{rjrnr�r�r�r�r�r�r�r�rrH�implementation�versionr�r�r�r�r�rrrrrr+r0r2r<r?rArCrHrIrPr\r`rergri�locale�getpreferredencodingrnrrrvrxryr�rr�r'r'r'r(r��s~
	
			�
E		
		
�

�


*�
	







�	r�c@sNeZdZdd�Zdd�Zdd�Zej�de	e
g�dd	��Zd
d�Zdd
�Z
dS)�
TestfromregexcC�Vt�}|�d�|�d�dtjfdg}t�|d|�}tjgd�|d�}t||�dS)Nz1.312 foo
1.534 bar
4.444 quxr�num��val�S3z([0-9.]+)\s+(...)))�ˡE���?r�g%��C��?r	�g-����@�quxrc�rr*rGrL�float64�	fromregexrerr�r'r'r(r{��


�zTestfromregex.test_recordcCr�)N�1312 foo
1534 bar
4444 quxrr�r�z
(\d+)\s+(...)))� r)�r	)�\r�rc)rr*rGrLr�r�rerr�r'r'r(�
test_record_2r�zTestfromregex.test_record_2cCsTt�}|�d�|�d�dtjfg}t�|d|�}tjgd�|d�}t||�dS)Nr�rr�z(\d+)\s+...))r�)r�)r�rcr�r�r'r'r(�
test_record_3s

zTestfromregex.test_record_3�	path_typec
	Cs�d}t��f}||�}t|d��}|�d|d�Wd�n1s#wYdtjfdg}tj|d|dd	�}tjd
d|�d�fdd
g|d�}t||�t	�
dt	j�}	tj||	|dd	�}t||�Wd�dS1snwYdS)Nr7r�s	1.312 foos 
1.534 bar
4.444 quxr�)r��U4z(?u)([0-9.]+)\s+(\w+)r8rkr�rr�r�rcz([0-9.]+)\s+(\w+))rr�r*rLr�r�rer8rr+�compile�UNICODE)
r%r�r>�str_pathrr�r�rwr_�regexpr'r'r(�test_record_unicodes$���
"�z!Testfromregex.test_record_unicodecCsLt�d�}td�}dtjfg}tjgd�|d�}t�|||�}t||�dS)N�(\d)�123r�r�rc)r+r�rrLr�rer�r)r%r�r�r�r_rwr'r'r(�test_compiled_bytes+s
z!Testfromregex.test_compiled_bytescCsXt�d�}td�}tjtdd��tj||tjd�Wd�dS1s%wYdS)Nr�r�zstructured datatyper�rc)	r+r�rr�r�r�rLr�r�)r%r�r�r'r'r(�test_bad_dtype_not_structured3s

"�z+Testfromregex.test_bad_dtype_not_structuredN)r0r1r2r{r�r�r�r�r�r	rr�r�r�r'r'r'r(r��s

r�c@s�eZdZeej�Zdd�Zdd�Zdd�Z	dd�Z
d	d
�Zdd�Zd
d�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Z d5d6�Z!d7d8�Z"d9d:�Z#d;d<�Z$d=d>�Z%d?d@�Z&dAdB�Z'dCdD�Z(dEdF�Z)dGdH�Z*dIdJ�Z+dKdL�Z,dMdN�Z-dOdP�Z.dQdR�Z/dSdT�Z0dUdV�Z1dWdX�Z2dYdZ�Z3d[d\�Z4d]d^�Z5d_d`�Z6dadb�Z7dcdd�Z8dedf�Z9dgdh�Z:didj�Z;dkdl�Z<dmdn�Z=dodp�Z>dqdr�Z?dsdt�Z@dudv�ZAdwdx�ZBdydz�ZCd{d|�ZDd}d~�ZEdd��ZFd�d��ZGd�d��ZHd�d��ZId�d��ZJd�d��ZKd�d��ZLd�d��ZMd�d��ZNd�d��ZOd�d��ZPd�d��ZQd�d��ZRd�d��ZSd�d��ZTd�d��ZUd�d��ZVd�d��ZWd�d��ZXeYjZ�[d�gd���d�e\fd�d���Z]d�S)��TestFromTxtcCs�td�}tj|dtjfdtjfgd�}tjddgddgd�}t||�td	�}d
dd�}tjd
dg|d�}tj||d�}t||�dS)Nr�rwrzrcrtrurvryzM 64.0 75.0
F 25.0 60.0r�r�r�r�r�)rrL�
genfromtxtr�rer)r%r�r)r*�
descriptorr'r'r(r{@s
�
�zTestFromTxt.test_recordcCsztd�}tjddgddggtd�}tj|td�}t||�|�d�tjddgddggtd�}tj|td�}t||�dS)Nr�r[rar5rbrcr)	rrLrergr�rrGrfr!)r%r�r*r)r'r'r(rjOs

zTestFromTxt.test_arraycCsVt�gd�t�}td�}tj|td�}t||�td�}tj|tdd�}t||�dS)Nrmr�rcr�rr�)rLrergrr�r�r%r*r�r)r'r'r(rn[s
zTestFromTxt.test_1DcCs\t�gd�t�}td�}tj|tddd�}t||�td�}tj|tddd�}t||�dS)Nr�r�rr�r�z1,2,3,5# comment
)rLrergrr�rr�r'r'r(�
test_commentsgs
zTestFromTxt.test_commentscCspt�gd�t�}ttdd�}td�}tj|fddi|��}t||�td�}tj|fddi|��}t||�dS)	Nr�rr�r��skip_headerr[r�r�)rLrerg�dictrr�rr!)r%r*rWr�r)r'r'r(r�ss
zTestFromTxt.test_skiprowscCs�dd�tdd�D�}|�d�|�dd�td�D��d|d	<td
ddd
d�}tjtd�|��fi|��}tjdd�td�D�dd�dD�d�}t	||�dS)NcSsg|]}d|�qS)z# %ir'rr'r'r(r,�r-z0TestFromTxt.test_skip_footer.<locals>.<listcomp>r[r�zA, B, CcSsg|]	}d|||f�qS)z
%i,%3.1f,%03sr'rr'r'r(r,�s�3z99,99rBrTr�r)rr�r��skip_footerr�cSs"g|]
}d|d|d|f�qS)rNr'rr'r'r(r,�s"�)cS�g|]}|tf�qSr'r~�r+�_r'r'r(r,�r-�ABCrc)
r�r�r0r�rLr�rr�rer)r%r�rWr)�ctrlr'r'r(�test_skip_footer�s
�zTestFromTxt.test_skip_footerc
Cs<t���}|�t�d}tttjt|�dd�tjt|�ddd�}t|t�	ddgddgddgd	d	gg��tjt|�d
d�}t|t�	ddgddgddgd	d	gg��d}tjt|�ddd�}t|t�	ddgddgd	d	gddgg��tjt|�d
dd�}t|t�	ddgddgd	d	gg��Wd�dS1s�wYdS)
Nz1 1
2 2
3 3
4 4
5  
6  
7  
r[)r�F)r��
invalid_raiserrrrr5z1 1
2  
3 3
4 4
5  
6 6
7 7
r�)
rr�rrrrLr�rrre)r%r��basestrr_r'r'r(�test_skip_footer_with_invalid�s,
�
�((
�(
�$"�z)TestFromTxt.test_skip_footer_with_invalidcCs�td�}tjdd��"}t�ddtj�tj|ddd�}t|djtju�Wd�n1s/wYt�	dd	g�t�	d
dg�t�	dd
g�d�}t
|d|d�t
|d|d�t
|d|d�dS)Nz)gender age weight
M 64.0 75.0
F 25.0 60.0Tr�r�r �rdr�rrVrWr�r�r�r�r�r�r�r�)rr�r�r�rL�VisibleDeprecationWarningr�r�categoryrer�r%r�r5r)r*r'r'r(�test_header�s��zTestFromTxt.test_headercCs�td�}tjdd��!}t�ddtj�tj|dd�}t|djtju�Wd�n1s.wYt�	dd	g�t�	d
dg�t�	dd
g�t�	ddg�t�	ddg�g}t
|jjgd��t
|�D]
\}}t
|d||�q`dS)Nz*A 64 75.0 3+4j True
BCD 25 60.0 5+6j FalseTr�r�r rcr�AsBCD�@�r�r�y@@y@@F)�f0�f1�f2�f3r
zf%i)rr�r�r�rLr�r�rr�rerrdr�r�)r%r�r5r)r*r�r�r'r'r(�test_auto_dtype�s ���zTestFromTxt.test_auto_dtypecCs:td�}tj|dd�}t�gd�gd�g�}t||�dS)Nz1 2 3 4
5 6 7 8
rcrm)r�r�r�r��rrLr�rer�r%r�r)r*r'r'r(�test_auto_dtype_uniform�sz#TestFromTxt.test_auto_dtype_uniformcCsZtd�}t�dtfddtfdtfgfg�}tj||dd�}tjdd	g|d
�}t||�dS)Nr�rwrzr�r&rr�r�r�rc)rrLrdrgrfr�rer�r%r��
fancydtyper)r*r'r'r(r��s
"zTestFromTxt.test_fancy_dtypecCsNddd�}td�}d}tj|||d�}||d<tjdd	g|d
�}t||�dS)N)�gr_r5r�r�sM 64.0 75.0
F 25.0 60.0r�r�r�r�r�rcr�)r%r�r�r�r)r*r'r'r(�test_names_overwrite�s���z TestFromTxt.test_names_overwritecCs>tjtdd��t�d�Wd�dS1swYdS)Nzfname must be a string,r��{)r�r�r�rLr�rxr'r'r(�test_bad_fname�s"�zTestFromTxt.test_bad_fnamecCstd�}tjdd��"}t�ddtj�tj|ddd�}t|djtju�Wd�n1s/wYtj	gd�d	d
t
fdtfgd�}t||�td
�}tjdd��"}t�ddtj�tj|ddd�}t|djtju�Wd�n1sxwYt||�dS)NzN
#gender age weight
M   21  72.100000
F   35  58.330000
M   33  21.99
        Tr�r�r )r�rdr))r�rgfffffR@)r�rXg
ףp=*M@)r�rg=
ףp�5@)r�rSr�r�rcsO
# gender age weight
M   21  72.100000
F   35  58.330000
M   33  21.99
        �
rr�r�r�rLr�r�rr�rergrfr)r%r�r5r)r�r'r'r(�test_commented_header�s"�
�
�z!TestFromTxt.test_commented_headercCsJtd�}tj|ttfddd�}tjddgdtfdtfgd�}t||�dS)	Nzcol1 col2
 1 2
 3 4T)rdrr�rtru�col1�col2rc�rrLr�rgrerr�r'r'r(�test_names_and_comments_none�sz(TestFromTxt.test_names_and_comments_nonec
Cs�t��c}tj�|d�}t|d��}|�d���Wd�n1s"wYt��$t�	t
��tj|dd�Wd�n1sBwYWd�n1sQwYWd�dSWd�dS1siwYdS)Nr9r��ϖ�asciirk)
rrSrr�r�r*r�rr�r��UnicodeDecodeErrorrLr�)r%r?�fpathr�r'r'r(�test_file_is_closed_on_errors�����"�z(TestFromTxt.test_file_is_closed_on_errorcCs�td�}tjdd��#}t�ddtj�tj|dddd�}t|djtju�Wd�n1s0wYtj	d	d
dt
fdtfgd
�}t||�dS)N�A B C D
 aaaa 121 45 9.1Tr�r�r ��A�C�D)r�r�rdr)r��-�333333"@�r��|S4r�r�rcr�r�r'r'r(�test_autonames_and_usecolss���z&TestFromTxt.test_autonames_and_usecolscCsJtd�}tj|tdddd�idd�}t�dd	gd
dggt�}t||�dS)Nr�rr5cSr�r�r�r�r'r'r(r�!r�z:TestFromTxt.test_converters_with_usecols.<locals>.<lambda>r�r�rar�r�r�r�r�r'r'r(r�s

�z(TestFromTxt.test_converters_with_usecolsc	Cs�td�}tjdd��(}t�ddtj�tj|dddddd	�id
�}t|djtju�Wd�n1s5wYtj	dd
dt
fdtfgd�}t||�dS)Nr�Tr�r�r r�r�cSsdt|�S)Nrar�r�r'r'r(r�-r�zDTestFromTxt.test_converters_with_usecols_and_names.<locals>.<lambda>)r�r�rdr�r)r��Zr�r�r�rcr�r�r'r'r(�&test_converters_with_usecols_and_names&s

���z2TestFromTxt.test_converters_with_usecols_and_namescCsbddd�i}td�}tj|ddddg|d�}tjtdd	d
�dfdtjfdtfgd�}t||�dS)
N�datecSr�Nz%Y-%m-%d %H:%M:%SZ)r:r�r'r'r(r�6r�z9TestFromTxt.test_converters_cornercases.<locals>.<lambda>�2009-02-03 12:00:00Z, 72214.0rr��rrdr�r���rar5�`��@rc)rrLr�rer�object_rfr�r%�	converterr�r)r*r'r'r(�test_converters_cornercases3s�
��z'TestFromTxt.test_converters_cornercasescCs\ddd�i}td�}tj|ddddg|d�}tjtdd	d
�dfddtfgd
�}t||�dS)Nr�cSst�t|d��Sr�)rL�
datetime64r:r�r'r'r(r�A�z:TestFromTxt.test_converters_cornercases2.<locals>.<lambda>r�rr�r�r�rar5r�)r�zdatetime64[us]rc)rrLr�rerrfrr�r'r'r(�test_converters_cornercases2>s�
�
�z(TestFromTxt.test_converters_cornercases2cCsbtd�}tj|dddd�id�}t|ddg�|�d�tj|dd	d
d�id�}t|ddg�dS)
Nz1 21
  3 42
r�rcSrrr�r�r'r'r(r�Mr�z3TestFromTxt.test_unused_converter.<locals>.<lambda>rrrr[cSrrr�r�r'r'r(r�Rr�rr)rrLr�rrG�r%r�r)r'r'r(rIs
�

�z!TestFromTxt.test_unused_convertercCsFdd�}dd�}td�}t||d�ddd�}tttj|fi|��dS)NcS�4td|��vr
|��dpd|��vr|��pd�S)N�rrBr��rf�lowerr1rr�r'r'r(r�V��z4TestFromTxt.test_invalid_converter.<locals>.<lambda>cSr�)N�%rr�r�r�r'r'r(r�Xr�zgD01N01,10/1/2003 ,1 %,R 75,400,600
L24U05,12/5/2003, 2 %,1,300, 150.5
D02N03,10/10/2004,R 1,,7,145.55rdr)r�rrd)rr�rr
rLr�)r%�
strip_rand�	strip_perr&rWr'r'r(�test_invalid_converterUs
�z"TestFromTxt.test_invalid_convertercCsHtd�}dd�}tj|dd|id�}t�ddgd	d
gg�}t||�dS)Nz	q1,2
q3,4cSst|dd��Sr�r~r�r'r'r(r�er�z;TestFromTxt.test_tricky_converter_bug1666.<locals>.<lambda>rr)rr�rrrrr�)r%r&�cnvr)r*r'r'r(�test_tricky_converter_bug1666bs
z)TestFromTxt.test_tricky_converter_bug1666cCs|d}tjt|�dtdtid�}tjdgddtfdtfgd	�}t||�tjt|�dtdtid�}t�gd
��}t||�dS)Nz2009; 23; 46r!rr")�2009�7@�.)r�r�r�r�rc)gd�@rr)rLr�rrfr7rer)r%�dstrr)r*r'r'r(�test_dtype_with_convertersjs

��


�z&TestFromTxt.test_dtype_with_converterscs�d}ddddd��gd�}ttt�fdd	�d
�}tjt|�|dd|d�}tjjgd
�|d�}t||�gd�}tjt|�|ddd|d�}tjjgd�|d�}t||�dS)Nz!1,5,-1,1:1
2,8,-1,1:n
3,3,-2,m:n
rr[rar5)z1:1z1:nzm:1zm:n)��e1rx��e2rx)�e3�i2�r��i1cs�|��Sr"r�)rr��dmapr'r(r�zr�zDTestFromTxt.test_dtype_with_converters_and_usecols.<locals>.<lambda>)rr[rar5r)rdrr�r�))r[r�rBr)rar�rBr[)r5r5���r5rc)rrr)rr[r5)rdrr�r�r�))r[r�r)rar�r[)r5r5r5)rgrL�
recfromcsvr�recrer)r%r�dtyp�convr)r*r'r
r(�&test_dtype_with_converters_and_usecolsvs�
�z2TestFromTxt.test_dtype_with_converters_and_usecolscCs d}dtfdtfg}dd�}d|i}tjt|�d||d�}tjdtd	dd�fd
tddd�fg|d
�}t||�ddtfdtfgfg}tt	d��tjt|�d||d�}Wd�n1s]wYdtfdtfdgfg}tt	d��tjt|�d||d�}Wd�dS1s�wYdS)NrrrcSrrrr�r'r'r(r��r z4TestFromTxt.test_dtype_with_object.<locals>.<lambda>r[r!r"r#rar$r%rc�nestzNested fields.* not supported.*)
rgrkrLr�rrerrr�NotImplementedErrorr&r'r'r(r+�s8��
�����"�z"TestFromTxt.test_dtype_with_objectcCsHtjtd�td�}|ddksJ�tjtd�td�}|ddks"J�dS)N�1rcr'�1�stringsstring)rLr�rrk)r%�parsedr'r'r(�#test_dtype_with_object_no_converter�sz/TestFromTxt.test_dtype_with_object_no_convertercCsHtd�}tj|ddtddtid�}tjdgddtfgd	�}t||�dS)
Nzskip,skip,2001-01-01,1.0,skiprrdra)rr�rdr�r�)�
2001-01-01r)r �|S10r rc)rrLr�rfr7rerr�r'r'r(�'test_userconverters_with_explicit_dtype�s�
�z3TestFromTxt.test_userconverters_with_explicit_dtypec
Cs�d}t��6}t|d��}|�d|d�Wd�n1swYtj|ddtddtjjidd	�}Wd�n1s>wYtjd
|�	d�dfgdd
tfgd�}t
||�dS)Nr7r�sskip,skip,2001-01-01s	,1.0,skiprrdrar8)rr�rdr�r�r<rr)r z|U11r rc)rr�r*rLr�rf�compat�unicoderer8r)r%r>rr�r)r*r'r'r(�,test_utf8_userconverters_with_explicit_dtype�s���
�z8TestFromTxt.test_utf8_userconverters_with_explicit_dtypecCs6td�}t�|�}t�gd�gd�g�}t||�dS)Nz1  2  3  4   5
6  7  8  9  10)rrrr�@)r��@r��"@g$@r�r�r'r'r(�test_spacedelimiter�s

�zTestFromTxt.test_spacedelimitercCs@d}tjt|�dd�}t�gd�gd�gd�g�}t||�dS)Nz  1  2  3
  4  5 67
890123  4r5)rr�)rbr��C)izr�rb�rLr�rrerr�r'r'r(�test_integer_delimiter�sz"TestFromTxt.test_integer_delimitercCs@td�}tj|tdddd�id�}t�gd�t�}t||�dS)Nr�rr5cSr�r�r�r�r'r'r(r��r�z*TestFromTxt.test_missing.<locals>.<lambda>r�r�r�r�r'r'r(r��s

�zTestFromTxt.test_missingcCshd}tjt|�ddd�}t�dtjdtjfdtjdfg�}tjgd	�td
�}t|j|�t|j|�dS)Nz1	2	3
	2	
1		3rNT)r�usemaskr�rar[r5)�rrr�r[rr[�rr[rrc)	rLr�rre�nan�boolrr��mask)r%rFr)�ctrl_d�ctrl_mr'r'r(�test_missing_with_tabs�s�"z"TestFromTxt.test_missing_with_tabscCs�t�ddgddggt�}t�}t�||�|�d�tj|tdd�}t||dd�df�t�gd�gd	�gt�}t�}t�||�|�d�tj|td
d�}t||dd�dd�f�|�d�tj|tt�ddg�d�}t||dd�dd�f�dS)Nr[rar5rbrr�r�r�r�rt)rLrerfrr�rGr�rr�r'r'r(r��s


zTestFromTxt.test_usecolscCsBd}tjt|�ddd�}tjddgdd�d	D�d
�}t||�dS)N�1 2 3
4 5 6�a, b, cza, c)r�r�r��rbr�cSr�r'r~r�r'r'r(r,�r-z3TestFromTxt.test_usecols_as_css.<locals>.<listcomp>�acrcr'�r%r�r)r�r'r'r(�test_usecols_as_css�s
�zTestFromTxt.test_usecols_as_csscCsZtd�}ddg}ddg}tj|dtt||��d�}t|ddd	g�t|dd
dg�dS)NzJOE 70.1 25.3
BOB 60.5 27.9r�r�r�r�r�r�r�r�r�r�)rrLr�r4r�r)r%r�r�r�r)r'r'r(�"test_usecols_with_structured_dtype�s�z.TestFromTxt.test_usecols_with_structured_dtypecCs*tjtd�dd�}t|t�ddg��dS)Ns1 2 3
4 5 6rr�rr)rLr�rrre)r%r)r'r'r(�test_usecols_with_integersz%TestFromTxt.test_usecols_with_integercCsxtjddgdtfdtfgd�}d}tdd�}tjt|�fd	d
i|��}t||�tjt|�fd	di|��}t||�dS)Nr�r5r_r�rcr3r4)r�r��rrB)r_r�)rLrerfr�r�rr)r%r�r�rWr)r'r'r(�test_usecols_with_named_columnss

��z+TestFromTxt.test_usecols_with_named_columnscCsvt��.}|jdd�t�}t�|�}t|t�g��tj|dd�}t|t�g��Wd�dS1s4wYdS)Nzgenfromtxt: Empty input file:)�messager[)r�)rr�rrLr�rre)r%r�r�r)r'r'r(rs
"�zTestFromTxt.test_empty_filecCs\td�}t�dtfddtfdtfgfg�}tj||ddd�}tjd	d
g|d�}t||�dS)Nr�rwrzr�r&rT)rdrr)r�r�rc)	rrLrdrgrfr��marerr�r'r'r(�test_fancy_dtype_alts
"z TestFromTxt.test_fancy_dtype_altcCr�r�)rrLrdrfrgr�rerr�r'r'r(r'rzTestFromTxt.test_shaped_dtypecCs�td�}tdddd�}tj|fddd�|��}tjddgd	d
gdtfdtfgd
�}t||�t|j|j�|�	d�tj|fddi|��}tjddgd	d
gdt
fdt
fgd
�}t||�t|j|j�dS)N�
A,B
0,1
2,N/Ar�N/AT�r�missing_valuesr��rdr)r_�rarB�FF�FTr��B�r/rdrr))rr�rLr�r>rergrr/rGrf�r%r�rWr)r*r'r'r(�test_withmissing0s"
�


�
zTestFromTxt.test_withmissingcCs�d}tdddd�}dtfdtfdtfg}tjt|�fdd	i|��}tjgd
�gd�|d�}t	||�||d
<tjt|�fdddd�dd�|��}tjgd
�gd�|d�}t	||�tjt|�fdddd�dd�|��}tjgd
�gd�|d�}t	||�dS)Nz4A, B, C
0, 0., 0j
1, N/A, 1j
-9, 2.2, N/A
3, -99, 3jrT)rdrr�r�rHr�rCrA))rr�y)r[r�r#)r\g������@��8��)r5���y@)r*r,)rrr[r*rIrdr\rMrL�rr[ra)rCr))r*r,r+r,)rrHr�)
r�rgrfr�rLr�rr>rer)r%r��
basekwargs�mdtyper)r*r'r'r(�test_user_missing_valuesBsB�
�
��
�

��
�z$TestFromTxt.test_user_missing_valuesc	Cs8tjddgdtfdtfgd�}d}tdtdd	d
dd�d
d
dd�d�}tjt|�fi|��}tjddgdd�dD�d�}t||�tjt|�fddi|��}tjddgdd�dD�d�}t||�d}tjt|�dtdd
d�}t�gd�gd�g�}t||�tjt|�dtddd�}t�gd�gd �g�}t||�dS)!N)rr5)rbr�r_r�rczN/A, 2, 3
4, ,???rza,b,crAr�z???)rr�rarr�)rrdr�rC�filling_values)rrar5)rbrr�cSr�r'r�r�r'r'r(r,mr-z8TestFromTxt.test_user_filling_values.<locals>.<listcomp>�abcr�r;cSr�r'r�r�r'r'r(r,qr-r6z1,2,*,4
5,*,7,8
�*)rrdrCrR)r[rarrb)r�rr�r�rB)r[rarBrb)r�rBr�r�)rLrergr�r�rr)r%r�r�rWr)�data2r'r'r(�test_user_filling_valuesbs6

�
�

�
�z$TestFromTxt.test_user_filling_valuescCs^td�}tj|dddddd�}tjddgdd	gd
tfdtfgd�}t||�t|j|j�dS)
NzA,B
0,1.5
2,-999.00rz-999.0T)rdrrCr�r))rr�)rag�rFrGr�rHrI)	rrLr�r>rergrfrr/r�r'r'r(�test_withmissing_float~s
�
�
z"TestFromTxt.test_withmissing_floatcCsNtd�}tj|dddd�}tjgd�gd�ggd�gd�gd�}t||�dS)	Nz1 2 3
4 5 6
�2,5T�rdrCr)r�rr,)r/)rrLr�r>rerr�r'r'r(�test_with_masked_column_uniform�s�&z+TestFromTxt.test_with_masked_column_uniformcCsRtd�}tj|dddd�}tjddgddgdtfd	tfd
tfgd�}t||�dS)NzTrue 2 3
False 5 6
rXTrYr�)rr�r�r,r�r�r�rI)rrLr�r>rer.rgrr�r'r'r(�test_with_masked_column_various�s�
�z+TestFromTxt.test_with_masked_column_variouscs�dgd}td�D]}d|d|<q	|�dd�td�|���td	dd
d����fdd
�}tt|�}tt|�d�t|t	j
ddd�dD�d����d�tt
t	j�d	d
d�dS)N�
1, 1, 1, 1, 1rRr��2, 2, 2, 2 2rr�
a, b, c, d, er�rT�rrdr�c�tj�fddi���S)Nr�F�rLr�r'�rW�mdatar'r(r���z)TestFromTxt.test_invalid_raise.<locals>.fr�cSr�r'r�r�r'r'r(r,�r-z2TestFromTxt.test_invalid_raise.<locals>.<listcomp>�abcderc�rr�)r��insertrr�r�rrr�lenrLr�rGrrr�)r%r�r�r��mtestr'rbr(�test_invalid_raise�s




�zTestFromTxt.test_invalid_raisecs�dgd}td�D]}d|d|<q	|�dd�td�|���td	dd
dd����fd
d�}tt|�}tt|�d�t|t	j
ddd�dD�d����d�t	j�fddi���}tt|�d�t	j
ddd�dD�d�}d|dd�td�D�<t||�dS)Nr\rRr�r]rrr^r�rTF)rrdr�r�cr`)Nr�)rrbrar'rbr'r(r��rdz6TestFromTxt.test_invalid_raise_with_usecols.<locals>.fr�cSr�r'r�r�r'r'r(r,�r-z?TestFromTxt.test_invalid_raise_with_usecols.<locals>.<listcomp>�aercr�r_cSr�r'r�r�r'r'r(r,�r-�abrDcSsg|]}d|�qS)rr'r�r'r'r(r,�r-)
r�rgrr�r�rrrrhrLr�rGr�)r%r�r�r�rir*r'rbr(�test_invalid_raise_with_usecols�s$
�

z+TestFromTxt.test_invalid_raise_with_usecolscCsVdgd}td�|��}ddd�i}td|dd	�d
D�d�}tttj|fi|��dS)Nz1, 1, 1, 1, -1.1rRr�rbcSsd|��S)Nz(%s)r�r�r'r'r(r��r�z5TestFromTxt.test_inconsistent_dtype.<locals>.<lambda>rcSr�r'r�r�r'r'r(r,�r-z7TestFromTxt.test_inconsistent_dtype.<locals>.<listcomp>re)rr�rd)rr�r�rrrLr�)r%r�rcr�rWr'r'r(�test_inconsistent_dtype�s
�z#TestFromTxt.test_inconsistent_dtypecCsLd}tjt|�dddd�}tjddgdtfdtfd	tfgd
�}t||�dS)N�0, 1, 2.3
4, 5, 6.7r�f%02i�rrd�
defaultfmt�rr[�ffffff@)rbr��������@�f00�f01�f02rc)rLr�rrergrfr�r%r�rir�r'r'r(�test_default_field_format�s
�
�z%TestFromTxt.test_default_field_formatcCsBd}tjt|�dtdd�}tjgd�gd�gtd�}t||�dS)Nrorrprq�r�rrt�rr"rurc�rLr�rrfrerryr'r'r(�test_single_dtype_wo_names�s
�z&TestFromTxt.test_single_dtype_wo_namescC�Dd}tjt|�dtdd�}tjddgdd�d	D�d
�}t||�dS)Nrorr4r_r{r|cSr�r'r~r�r'r'r(r,�r-zBTestFromTxt.test_single_dtype_w_explicit_names.<locals>.<listcomp>rSrcr}ryr'r'r(�"test_single_dtype_w_explicit_names��
�
�z.TestFromTxt.test_single_dtype_w_explicit_namescCr)Nza, b, c
0, 1, 2.3
4, 5, 6.7rTr_r{r|cSr�r'r~r�r'r'r(r,�r-zBTestFromTxt.test_single_dtype_w_implicit_names.<locals>.<listcomp>rSrcr}ryr'r'r(�"test_single_dtype_w_implicit_names�r�z.TestFromTxt.test_single_dtype_w_implicit_namescCsRd}tjt|�dtttfdd�}tjddgdtfdtfd	tfgd
�}t||�dS)Nrorzf_%02irq)rrrt)rbr"ru�f_00�f_01�f_02rc�rLr�rrgrfrerryr'r'r(�test_easy_structured_dtype�s
�
�z&TestFromTxt.test_easy_structured_dtypecCs,d}tddd�}tjdd��%}t�ddtj�tjt|�fi|��}t|dj	tju�Wd�n1s6wYtj
d	gd
dtfdgd
�}t||�tjdd��'}t�ddtj�tjt|�fddi|��}t|dj	tju�Wd�n1s}wYtj
dgddtfdgd
�}t||�dS)Nz01/01/2003  , 1.3,   abcder)rrdTr�r�r r)z01/01/2003  ��������?z   abcde)r�z|S12r�)r�rMrc�	autostrip)z
01/01/2003r�re)r�r)r�z|S5)
r�r�r�r�rLr�r�rrr�rerfr)r%r�rWr5rir�r'r'r(�test_autostrip�s(��
��zTestFromTxt.test_autostripcCs�d}tjt|�dddd�}dtfdtfdtfg}tjd|d	�}t||�tjt|�dddd
d
d�}dtfd
tfdtfg}tjd|d	�}t||�tjt|�dddd
d�}dtfdtfdtfg}tjd|d	�}t||�dS)NzA.A, B (B), C:C
1, 2, 3.14rT�rr�rd�AA�B_B�CC)r[rag��Q�	@rcr �rr�rd�
replace_space�deletechars�A.A�B (B)�C:C�rr�rdr��B_(B)r��r%rFr)�
ctrl_dtyper�r'r'r(�test_replace_space
�*
�

�

�zTestFromTxt.test_replace_spacecCs�d}tjt|�ddtd�}dtfdtfdtfg}tjd|d	�}t||�tjt|�ddtd
d
d�}dtfd
tfdtfg}tjd|d	�}t||�tjt|�ddtd
d�}dtfdtfdtfg}tjd|d	�}t||�dS)NzA.A, B (B), C:C
1, 2, 3rTr�r�r�r�r�rcr r�r�r�r�r�r�)rLr�rrgrerr�r'r'r(�test_replace_space_known_dtype%r�z*TestFromTxt.test_replace_space_known_dtypecCs�d}tddd�}tjddgdd�d	D�d
�}tjt|�fddi|��}t||�tjddgdd�d	D�d
�}tjt|�fi|��}dS)
NzA,,C
0,1,2
3,4,5rTrfrNr�cSr�r'r�r�r'r'r(r,Cr-z5TestFromTxt.test_incomplete_names.<locals>.<listcomp>)r�r�r�rcrdcSr�r'r~r�r'r'r(r,Hr-)r�rLrer�rr�r%r�rWr�r)r'r'r(�test_incomplete_names=s
�

�z!TestFromTxt.test_incomplete_namescCsPd}tjt|�tttfdd�}tjddgdtfdtfdtfgd�}t||�dS)	Nz1 2 3
 4 5 6r_r�r�rr�r�rcr�r7r'r'r(�test_names_auto_completionKs

�
�z&TestFromTxt.test_names_auto_completioncCs�d}d}tjt|�tttfdddd�}t|jj|�tjt|�tttfdddd�}t|jj|�tjt|�tdddd�}t|jj|�dS)Nz'A,B,C,D,E
0,1,2,3,4
0,1,2,3,4
0,1,2,3,4)r�r��Er)rrarbT)rdrr�r�)rLr�rrgrrdr�)r%r��
ctrl_namesr)r'r'r(�test_names_with_usecols_bug1636Ts"

�

�
�z+TestFromTxt.test_names_with_usecols_bug1636cCs�d}tdddd�}tjddgdtfdtfd	tfgd
�}tjt|�fi|��}t||�tdddd�}tjddgdtfdtfd	tfgd
�}tjt|�fi|��}t||�dS)Nz-    A    B   C
    0    1 2.3
   45   67   9.)r�r�rbTr�rs)r�r&r$r�rHr�rcr�)r�rLrergrfr�rrr�r'r'r(�test_fixed_width_namesgs
�

�z"TestFromTxt.test_fixed_width_namescCsVd}tdddd�}tjgd�gd�gd�gtd�}tjt|�fi|��}t||�dS)	Ns1, 2, 3
1, , 5
0, 6, 
rr�)rrdrRr�)r[r�r�)rr�r�rc)r�rLrergr�rrr�r'r'r(�test_filling_valuesvs
 zTestFromTxt.test_filling_valuescCs�tjdd��%}t�ddtj�tjtd�dddd�}t|djtju�Wd�n1s.wYt	|d	d
�tjdd��%}t�ddtj�tjtd�dddd�}t|djtju�Wd�n1shwYt	|d	d�dS)
NTr�r�r ztest1,testNonetherestofthedatar�rdrrrr[stestNonetherestofthedataztest1, testNonetherestofthedatas testNonetherestofthedata)
r�r�r�rLr�r�rrr�r)r%r5r)r'r'r(�test_comments_is_none~s 
��
��z!TestFromTxt.test_comments_is_nonecCs�d}d}d|d}|||}tjdd��%}t�ddtj�tjt|�ddd	d
�}t|djtju�Wd�n1s>wYt	|dd
�t	|dd|�t	|dd�tjt|�ddd	dd�}t	|dd�t	|dd|�
d��t	|dd�tjdd��'}t�ddtj�tjtd|�ddd	d
�}t|djtju�Wd�n1s�wYt	|dd�t	|dd|�dS)Ns����norm1,norm2,norm3
�test1,testNonethe�,test3
Tr�r�r rr�r)r[r�test1)r[r[�testNonethert�test3r4�rdrrr<�test1�testNonethe�test3�
0,testNonether�r�)r�r�r�rLr�r�rrr�rr8)r%r4�norm�encr&r5r)r'r'r(�test_latin1�s<
��
���zTestFromTxt.test_latin1cCs6d}|jt|�ddd�}t|t�|�d�����dSr�)rorrrLrer8r1r�r'r'r(�test_binary_decode_autodtype�sz(TestFromTxt.test_binary_decode_autodtypecCs�d}d}d|d}|||}tjdd��%}t�ddtj�tjt|�ddd	d
�}t|djtju�Wd�n1s>wYt�	gd�d
d|dggd�g�}t
||�dS)Nr7r�r�r�Tr�r�r rr�r)snorm1snorm2snorm3r�r�r�)r�r�r�rLr�r�rrr�rer)r%r>r�r�r&r5r)�ctlr'r'r(�test_utf8_byte_encoding�s"
���z#TestFromTxt.test_utf8_byte_encodingc	Cs4d}t���}t|d��}|�d|dd�Wd�n1s!wYtj|ddddd�}tjd	d
|�d�dgd	d
|�d�dggtjd�}t||�t|d��}|�d
|�Wd�n1sfwYtj|ddddd�}t	|dd�t	|dd
|�d��Wd�dS1s�wYdS)Nr7r�r�r�rarr8r�r�r�r�rcr�r�rr�)
rr�r*rLr�rer8r=rr)r%r>rr�r)r�r'r'r(�test_utf8_file�s0�
���
�
�"�zTestFromTxt.test_utf8_filec		Cs\d}d}zt��}|�|�Wnttfyt�d�Ynwt���}t�	|d��}|�
d�|�
d|d�|�
d|d	�Wd�n1sLwYtjd
d��#}t�
dd
tj�tj|dddd�}t|djtju�Wd�n1s}wYtjgd�d|dgdd|dggtjd�}t||�Wd�dS1s�wYdS)Nr�uöüözTSkipping test_utf8_file_nodtype_unicode, unable to encode utf8 in preferred encodingriznorm1,norm2,norm3
znorm1,z,norm3
ztest1,testNonethez,test3
Tr�r�r rr�r)�norm1�norm2�norm3r�r�r�r�r�rc)r�r�r��UnicodeError�ImportErrorr�rzrr�r�r*r�r�r�rLr�r�rr�rer=r)	r%r>r4r<rr�r5r)r�r'r'r(�test_utf8_file_nodtype_unicode�s@�
��
����"�z*TestFromTxt.test_utf8_file_nodtype_unicodecCs�td�}tdddd�}tj|fi|��}tjddgdtfd	tfgd
�}tt|tj��t	||�td�}tj|fddd�|��}t
jdd
gddgdtfd	tfgd�}t	||�t	|j|j�t	|jddg�dS)N�A,B
0,1
2,3rrATrBr_rdr�rHrcr@rDrErFrGrIrra)
rr�rL�
recfromtxtrergrrJ�recarrayrr>r/r�rJr'r'r(�test_recfromtxt�s"
�

�
zTestFromTxt.test_recfromtxtcCs�td�}tdddd�}tj|fddi|��}tjddgdtfd	tfgd
�}tt|tj��t	||�td�}tj|fddd�|��}t
jdd
gddgdtfd	tfgd�}t	||�t	|j|j�t	|jddg�td�}tj|dd�}tjddgdtfdtfgd
�}tt|tj��t	||�td�}dtfdt
fg}tj|d|d�}tjddg|d
�}tt|tj��t	||�td�}tj|ddd�id�}tjddgdtdffgd
�}t	|j|j�t	||�dS)Nr�rAT�rCr��case_sensitiverdr_rdr�rHrcr@rDrErFrGrIrra)rCr_r�)rCrdzcolor
"red"
"blue"cSr�)N�")rr�r'r'r(r�-	r�z-TestFromTxt.test_recfromcsv.<locals>.<lambda>)r�)�red)�blue�colorrb)rr�rLrrergrrJr�rr>r/r�rfr7rd)r%r�rWr)r*rdr'r'r(�test_recfromcsv		sJ
�

�

�

�
zTestFromTxt.test_recfromcsvcCs�d}t|�}tj|dd�}t�|�}t|ddgddgddgg�t|d	d
gddgg�tttjt|�d
d�d}tjt|�dd�}t�ddgddgg�}t||�tttjt|�ddd�tttjt|�dd�t��M}|�t	�tjt|�ddd�}t�ddgddgddgddgg�}t||�tjt|�ddd�}t�ddgddgddgddgg�}t||�Wd�n1s�wYd}t|�}tj|dddd�}tjgd�ddgd�}t||�tj|d|j
d�}tjddgddgd�}t||�dS) Nz1 2
3 4
5 6
7 8
9 10
r5)rqr[rarbr�r�r�r�r�rrz1 1
2 2
0 
3 3
4 4
5  
6  
7  
rr)r�rqF)rqr�rrz"a b
#c d
1 1
2 2
#0 
3 3
4 4
5  5
T)r�rqr�))rr)rr)rr)r��<f8)r�r�rc)rqrd)rr)r"r")rrLr�rrrrerr�rrd)r%r�rF�a1�a2r)r*r�r'r'r(rr2	sH

�
"
"�
�

�zTestFromTxt.test_max_rowsc
Cs�t�d��d�}d}|D]?}d|d}t��'}t|d��
}|�|�Wd�n1s-wYt�|�}Wd�n1sAwYt||�qdS)Nr�rdrergrhr5)rLrmrnrr�r*r�r)r%r/rrrsr�rEr�rtr'r'r(�test_gft_using_filenameh	s���z#TestFromTxt.test_gft_using_filenamec	
Cs�t�d��d�}d}|D]`}d|d}t�}tj|dd��}|�t|��Wd�n1s0wYtdd	��*}t	|d��
}|�|�Wd�n1sPwYt
t�|�|�Wd�n1sgwYqdS)
Nr�rdrergrhr5��fileobjrjz.gz2r�)rLrmrnrrw�GzipFiler*r
rr�rr�)	r%rqrrrsr�r&r�rEr�r'r'r(�test_gft_from_gzipv	s �����zTestFromTxt.test_gft_from_gzipcCra)Ncss"�td�D]	}td|�VqdSrb)r�r
rcr'r'r(r��	s��z3TestFromTxt.test_gft_using_generator.<locals>.countr)rLr�rrmrdr'r'r(�test_gft_using_generator�	sz$TestFromTxt.test_gft_using_generatorcCs�td�}tj|dd�}t|jjgd��t|jdtk�t|jdtjk�t|jdtj	k�t
|dd�t|dd�t|dd	�dS)
Nz%73786976294838206464 17179869184 1024rc)r�r�r�r�r�r�gDli)rrLr�rrdr�rrfr��int_rr�r'r'r(�test_auto_dtype_largeint�	sz$TestFromTxt.test_auto_dtype_largeintcCs^td�}tj|ddd�\}}}t|t�gd���t|t�gd���t|t�gd���dS)Nz1,2,3
4,5,6
7,8,9
0.0,1.0,2.0rT)rrU)rrr#r�)rr"r�r)rr�r$r)rrLr!rre)r%rFr_r�r�r'r'r(�test_unpack_float_data�	s
z"TestFromTxt.test_unpack_float_datacCs�td�}ddd�}tj||dd�\}}}t|jt�d��t|jt�d��t|jt�d	��t|t�d
dg��t|t�dd
g��t|t�ddg��dS)NrQrRr�r�TrTr�rxr
rVrWrrXrYrZ)rrLr�rrdrrer[r'r'r(r\�	s
z"TestFromTxt.test_unpack_structuredcCsrtd�}t�ddg�t�ddg�t�ddg�f}tj|ddd	d
�}t||�D]\}}t||�t|j|j�q&dS)NzM 21 72.
F 35 58.r�r�rrXrYrZTzutf-8)rdrUr<)rrLrer�r�rrrd)r%rF�expectedr)rN�resultr'r'r(�test_unpack_auto_dtype�	s(
�z"TestFromTxt.test_unpack_auto_dtypecCsRtd�}ddd�}tjddgtjd�}tj||dd	�}t||�t|j|j�dS)
Nz21
35r��rxr�rrXrcTrT)rrLrer�r�rrrd�r%rFr�r�r)r'r'r(�test_unpack_single_name�	s

z#TestFromTxt.test_unpack_single_namecCsZtd�}ddd�}tjdtjd�}tj||dd�}t||�td	|j�t|j|j�dS)
Nrr�r�r�r�rcTrTr')	rrLrer�r�rrr]rdr�r'r'r(�test_squeeze_scalar�	s

zTestFromTxt.test_squeeze_scalar�ndimrNcCs6d}tjt|�|d�}tjt|�|d�}t||�dS)N�42r])rLr!rr�r)r%r�rFr_r�r'r'r(r`�	szTestFromTxt.test_ndmin_keywordN)^r0r1r2r�rLr�ror{rjrnr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�rrr+rrr!r%r(r�r2r�r8r9r:r<rr?rrKrQrVrWrZr[rjrmrnrzr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr�r�r�r�r�r\r�r�r�r�r�r�rgr`r'r'r'r(r�=s�


	

	

	 


					#)6	


r�c@sdeZdZdd�Zdd�Zdd�Zejje	dd�d	d
��Z
dd�Zd
d�Zdd�Z
dd�Zdd�ZdS)�
TestPathUsagecCsntdd��(}t|�}t�ddgddgg�}t�||�t�|�}t||�Wd�dS1s0wYdS)N�.txtr�g�������?rar5rb)rrrLrer�r!r)r%rr_rwr'r'r(�test_loadtxt�	s
"�zTestPathUsage.test_loadtxtcCsptdd��)}t|�}t�ddgddggt�}t�||�t�|�}t||�Wd�dS1s1wYdS)Nrr�r[rar5rb)rrrLrergr�rMr�r%rr_r�r'r'r(�test_save_load�	s
"�zTestPathUsage.test_save_loadcCs�tdd��<}t|�}t�ddgddggt�}t�||�tj|dd�}t||�~tr9t	�t	�Wd�dSWd�dS1sDwYdS)	Nrr�r[rar5rbrr�rq)
rrrLrergr�rMrrrr�r'r'r(�test_save_load_memmap�	s
�"�z#TestPathUsage.test_save_load_memmapzmemmap doesn't work correctlyrocCs�tdd��E}t|�}t�ddgddggt�}t�||�tj|dd�}d	|d
d
<d	|d
d
<~tr8t�t�t�|�}t	||�Wd�dS1sMwYdS)Nrr�r[rar5rbzr+r�r�r)
rrrLrergr�rMrrr)r%rr_r�r�r'r'r(�test_save_load_memmap_readwrite	
s
"�z-TestPathUsage.test_save_load_memmap_readwritec	Cs�tdd��8}t|�}tj|dd�t�|��}t|dd�Wd�n1s(wYWd�dSWd�dS1s@wYdS�Nr�r�r�r�r�)rrrLr�rMr�r%rr�r'r'r(�test_savez_load
s��"�zTestPathUsage.test_savez_loadcCsftdd��$}t|�}tj|dd�t�|�}t|dd�|��Wd�dS1s,wYdSr�)rrrL�savez_compressedrMrrKr�r'r'r(�test_savez_compressed_load"
s

"�z(TestPathUsage.test_savez_compressed_loadcCsftdd��$}t|�}t�ddg�}t�||�t�|�}t||�Wd�dS1s,wYdS)Nr�r�rtru)rrrLrer�r�rr�r'r'r(�test_genfromtxt+
s
"�zTestPathUsage.test_genfromtxtc	Cs�tdd��S}t|�}|�d��
}|�d�Wd�n1swYtdddd�}tj|fi|��}tjd	d
gdtfdtfgd
�}t	t
|tj��t||�Wd�dS1s[wYdS)Nr�r�r5r�rrATrBr_rdr�rHrc)
rrr�r*r�rLr�rergrrJr�r�r%rr�rWr)r*r'r'r(r�3
s�
�"�zTestPathUsage.test_recfromtxtc	Cs�tdd��U}t|�}|�d��
}|�d�Wd�n1swYtdddd�}tj|fddi|��}tjd	d
gdtfdtfgd
�}t	t
|tj��t||�Wd�dS1s]wYdS)Nr�r�r5r�rATr�rdr_rdr�rHrc)
rrr�r*r�rLrrergrrJr�rr�r'r'r(r�@
s�
�"�zTestPathUsage.test_recfromcsvN)r0r1r2r�r�r�r�r�r_rr�r�r�r�r�r�r'r'r'r(r��	s	
	
r�cCs`tj�d�}t�}tj|dd�}t�||�|��|�d�tj|dd�}tt�	|�|�dS)N�r�r�r5r�rrr)
rLr�rrwr�r�rKrGrrM�r_r&r�r'r'r(�test_gzip_loadN
s
r�c@s$eZdZdd�Zdd�Zdd�ZdS)�
JustWritercC�
||_dSr"��base�r%r�r'r'r(r#_
�
zJustWriter.__init__cC�|j�|�Sr")r�r*r$r'r'r(r*b
�zJustWriter.writecCs
|j��Sr")r�rFrxr'r'r(rFe
r�zJustWriter.flushN)r0r1r2r#r*rFr'r'r'r(r�^
sr�c@s&eZdZdd�Zdd�Zd	dd�ZdS)
�
JustReadercCr�r"r�r�r'r'r(r#i
r�zJustReader.__init__cCr�r")r�r)r%r�r'r'r(rl
r�zJustReader.readrcCs|j�||�Sr")r�rG)r%�off�whencer'r'r(rGo
szJustReader.seekNr
)r0r1r2r#rrGr'r'r'r(r�h
sr�cCsTtj�d�}t�}t|�}t�||�|��|�d�t|�}tt�	|�|�dS)Nr�r)
rLr�rr�r�rFrGr�rrMr�r'r'r(�test_ducktypings
s
r�c	Cs�t�}tj|dd�}|�d�|��|�d�tdd��)}t|d��}|�|���Wd�n1s5wYt	�
|�}Wd�n1sIwY|��t|gd��dS)	Nr5r��1 2 3
rrAr�r�r�)rrwr�r*rKrGrr�rrLr!r)r&r�rEr�rtr'r'r(�test_gzip_loadtxt�
s

��r�cCsVt�}tj|dd�}|�d�|��|�d�tj|dd�}tt�|�gd��dS)Nr5r�r�rrrr�)	rrwr�r*rKrGrrLr!)r&r�r'r'r(�test_gzip_loadtxt_from_string�
s

r�cCs�t�}t�d�}t�d�}tj|||d�|�d�t�|�}td|v�td|v�td|��v�td|��v�|��D]\}}t|dv�t	|j
d�q?tt|���dk�|D]}t|dv�q\td|��v�dS)N)r5r5)rwrzrrwrzra)rrLr%r�rGrMr�keys�itemsrr]rh)r&rwrzrr�r_r'r'r(�test_npzfile_dict�
s"



rzPython lacks refcountsrocCs�t�}t�|gd��|�d�t��
t�|�Wd�n1s#wY|�d�ddg}t��tjtd�|d�}t|tj	dg|d��Wd�dS1sTwYdS)Nr�r)r_�u1ra)r�rraz0 1 2 3rc)r_rd)
rrLr�rGrrMr!rrre)r�r�rwr'r'r(�test_load_refcount�
s
�
"�rcCs�t�}t�|d�t�|d�|�d�t�|�dksJ�t�|�dks&J�t�t��t�|�Wd�dS1s<wYdS)Nr[rar)rrLr�rGrMr�r��EOFError)r�r'r'r(�#test_load_multiple_arrays_until_eof�
s
"�rr")QrHr�rwrSr�r9r�r�r+r��pathlibr�tempfilerrrrr��multiprocessingrr�ctypesr	�numpyrL�numpy.mar>�numpy.lib._iotoolsr
r�numpy.compatr
�numpy.ma.testutilsr�
numpy.testingrrrrrrrrrrrrrrr�numpy.testing._private.utilsrr�maxsizer�rzrFr�r}rGr:r<r�r�r�rcr�r�r�r�r�r�r�r�r�r�rr�r�rrr'r'r'r(�<module>s�D
��
k!#H4E4f