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_loadtxt.cpython-310.pyc
o

���g���@sZdZddlZddlZddlZddlmZmZddlmZddl	Z
ddlmZddl
mZmZmZdd�Zej�d	gd
��dd��Zejd
d��Zej�dgd��dd��Zdd�Zdd�Zdd�Zdd�Zdd�Zej�dd�dd ��Zej�dd�d!d"��Zej�d#d$d%g�d&d'��Zej�d(gd)��d*d+��Z ej�d,d-�d.d/��Z!d0d1�Z"ej�d2e#e$f�d3d4��Z%ejj&eo�ej'j(d5kd6d7�ej�d2e
�)d8�e
�)d9�f�d:d;���Z*d<d=�Z+d>d?�Z,d@dA�Z-dBdC�Z.dDdE�Z/ej�dFgdG��ej�dHgdG��dIdJ���Z0dKdL�Z1dMdN�Z2dOdP�Z3dQdR�Z4ej�d2dS�dTdU��Z5ej�dVdWe
�)dX�fdYe
�)dZ�fg�d[d\��Z6d]d^�Z7d_d`�Z8ejj&e�oEej'j(d5kd6d7�ej�d2e
j9da�ej�:db�dcdd����Z;ejj&e�ohej'j(d5kd6d7�ej�d2e
j9da�ej�:db�dedf����Z<ej�d2e
j=e
j>f�ej�dgdh�didj���Z?dkdl�Z@dmdn�ZAdodp�ZBejj&edqd7�drds��ZCejj&e�o�ej'j(d5kd6d7�dtdu��ZDej�dvde#gdwf�dxdy��ZEejj&e�o�ej'j(d5kd6d7�dzd{��ZFej�d|d}�d~d��ZGd�d��ZHej�d�d��d�d���ZIej�d�d��d�d���ZJd�d��ZKejj&e�oej'j(d5kd6d7�d�d���ZLd�d��ZMd�d��ZNd�d��ZOd�d��ZPd�d��ZQej�d�d��ej�d�d��ej�d�dd�g�d�d�����ZRej�dd��d�d���ZSej�d2d�gd�d�d�d�d�d�d�d�d�d�d�eTd��fd�d�eTd��fd�g�ej�d�d�d�g�d�d����ZUej�d2e
j9dad�d��d�d���ZVej�d2d��d�d���ZWejj&e�o�ej'j(d5kd6d7�ej�d2d��ej�d�gd���d�d�����ZXejj&e�o�ej'j(d5kd6d7�ej�d2e
j9dad�d��d�dĄ��ZYejj&e�o�ej'j(d5kd6d7�ej�d2e
j9dad�d��d�dƄ��ZZej�d�d�d�gd�d�gg�d�d˄�Z[ej�d�d�d�gd�d�gd�d�gd�d�gg�d�dф�Z\ej�d�gdӢ�d�dՄ�Z]d�dׄZ^d�dلZ_Gd�dۄdۃZ`d�d݄Zad�d߄Zbd�d�Zcd�d�Zdej�d,d-�d�d��Zeej�d�d�d�d��Zfej�d�d�d�g�ej�d�d�d�d���Zgd�d�Zhejj&e�o�ej'j(d5kd6d7�d�d��Zid�d��Zjej�:d��d�d���ZkdS)�z�
Tests specific to `np.loadtxt` added during the move of loadtxt to be backed
by C code.
These tests complement those found in `test_io.py`.
�N)�NamedTemporaryFile�mkstemp)�StringIO)�assert_equal)�assert_array_equal�HAS_REFCOUNT�IS_PYPYcCsBtd�}t�gd�gd�gd�gd�g�}ttj|dd�|�dS)	z0Test that both 'e' and 'E' are parsed correctly.zE1.0e-1,2.0E1,3.0
4.0e-2,5.0E-1,6.0
7.0e-3,8.0E1,9.0
0.0e-4,1.0E-1,2.0)皙�����?g4@�@)g{�G�z�?��?�)gy�&1�|?gT@�	)rr	��,��	delimiterN)r�np�arrayr�loadtxt)�data�expected�r�G/usr/local/lib/python3.10/dist-packages/numpy/lib/tests/test_loadtxt.py�test_scientific_notations��r�comment)z..z//z@-zthis is a comment:cCsDd}t|�d|��}tj|d|d�}t|ddgddgd	d
gg�dS)Nz,# IGNORE
1.5, 2.5# ABC
3.0,4.0# XXX
5.5,6.0
�#r�r�comments��?�@r
�@�@�@)r�replacerrr)r�content�txt�arrr�test_comment_multiple_chars"s r'cCsHtd�}t�dtjfdtjfddtjfg�}tjgd�|d�}|||fS)z|
    Fixture providing hetergeneous input data with a structured dtype, along
    with the associated structured array.
    zo1000;2.4;alpha;-34
2000;3.1;beta;29
3500;9.9;gamma;120
4090;8.1;delta;0
5001;4.4;epsilon;-99
6543;7.8;omega;-1
�f0�f1��f2�S7�f3�)i�g333333@�alphai���)i�g������@�beta�)i�
g������#@�gamma�x)i�g333333 @�deltar)i�g������@�epsiloni����)i�g333333@�omega�����dtype)rrr9�uint16�float64�int8r)rr9rrrr�mixed_types_structured*s�
��
r=�skiprows)r�r�cCs2|\}}}tj||d|d�}t|||d��dS)N�;)r9rr>�rrr)r>r=rr9rr&rrr�1test_structured_dtype_and_skiprows_no_empty_linesKs
rCcCs`|\}}}tj||ddd�\}}}}t||d�t||d�t||d�t||d�dS)NrAT)r9r�unpackr(r)r+r-rB)r=rr9rr&�b�c�drrr�test_unpack_structuredSs
rHcCsBt�ddg�}td�}tjddg|d�}ttj|d|d�|�dS)	N)r&�u1r)rErIrz0,1,2,3
6,7,8,9
��rr?�rr@))r�)�r
r8r�rr9�rr9rrrr�r9rrrrr� test_structured_dtype_with_shape]srRcCs<t�dg�}td�}tjdg|d�}ttj||d�|�dS)N)r&rI)rrz0 1 2 3
)rJr8rPrQrrr�&test_structured_dtype_with_multi_shapedsrScCsrt�dtfdtfg�}t�dtfd|dfg�}td�}tjddd	gfd
ddgfg|d
�}ttj||dd�|�dS)N�x�y�code�points)rz100,1,2,3,4
200,5,6,7,8
�d)��?�@)r
r ��)�@r")g@g @r8r�r9r)rr9�float�intrrrr)�point�dtrrrrr�test_nested_structured_subarrayks

��rbcCsBtjddd�}td�}tjddg|d�}ttj|d|d	�|�dS)
Nzi1, i4, i1, i4, i1, i4T��alignz1,2,3,4,5,6
7,8,9,10,11,12
)r?rr@��r)rMrNr
�
��r8rrOrP)rarrrrr�test_structured_dtype_offsetszsrj�param)r>�max_rowscCsHtjtdd��tjdi|di��Wd�dS1swYdS)z;skiprows and max_rows should raise for negative parameters.zargument must be nonnegative��match�foo.bar���N�ro��pytest�raises�
ValueErrorrr�rkrrr�"test_exception_negative_row_limits�s"�rwcCsHtjtdd��tjdi|di��Wd�dS1swYdS)Nzargument must be an integerrmrorYrq�rsrt�	TypeErrorrrrvrrr�$test_exception_noninteger_row_limits�s"�rzzdata, shape)z
1 2 3 4 5
)r?rf)z
1
2
3
4
5
)rfr?cCs�t�gd��}|�|�}ttjt|�td�|�ttjt|�tdd�|�ttjt|�tdd�|�ttjt|�tdd�|�dS)N)r?rr@rerfr8r)r9�ndminr?r)rr�reshaperrrr_)r�shape�arr�arr2drrr�test_ndmin_single_row_or_col�s
r��badval)r7r@Nzplate of shrimpcCsBtjtdd��tjd|d�Wd�dS1swYdS)NzIllegal value of ndmin keywordrmro)r{rr)r�rrr�test_bad_ndmin�s"�r��ws)� �	u � u cCsftd|�d|�d|�d|�d|�d��}t�gd�gd�gd	�gd
�g�}ttj|tddd�|�dS)
Nz1 2z30

z
4 5 60z
  z  
7 8 z 90
  # comment
3 2 1�r?r��rerf�<�rMrN�Z�r@rr?r�r9rr�rrrrrr_)r�r%rrrr�test_blank_lines_spaces_delimit�s����"	�r�cCsFtd�}t�gd�gd�gd�gd�g�}ttj|tddd�|�dS)	Nz&1,2,30

4,5,60

7,8,90
# comment
3,2,1r�r�r�r�rrr�r�)r%rrrr�!test_blank_lines_normal_delimiter�s
"�r�r9cCsJtd�}tj||ddd�}t|j|�t|tjddgddgg|d	��dS)
Nz1.5,2.5
3.0,4.0
5.5,6.0rr)r9rrlz1.5z2.5z3.0z4.0r8)rrrrr9r�r9r%�resrrr�test_maxrows_no_blank_lines�s$r�)rMr@rNzPyPy bug in error formatting)�reason�f8�i2cCsXtd�}d|�d�}tjt|d��tj||dd�Wd�dS1s%wYdS)Nz
1,2
3,XXX
5,6z"could not convert string 'XXX' to z at row 1, column 2rmrr]�rrsrtrurr)r9r%�msgrrr�!test_exception_message_bad_values�s
"�r�cCsVtd�}ddd�i}t�ddgdtjgdd	gg�}tj|tjd
|dd�}t||�dS)Nz1.5,2.5
3.0,XXX
5.5,6.0r7cS�|dkrtjSt|�S�N�XXX�r�nanr^��srrr�<lambda>��z2test_converters_negative_indices.<locals>.<lambda>rrr
r!r"r)r9r�
converters�encoding)rrrr�rr;r�r%�convrr�rrr� test_converters_negative_indices�s�r�cCs�td�}ddd�i}t�ddgdtjgdd	gg�}tj|tjd
|ddgdd�}t||�tjtd
�d
ddgddd�id�}t|ddgddgg�dS)Nz$1.5,2.5,3.5
3.0,4.0,XXX
5.5,6.0,7.5
r7cSr�r�r�r�rrrr��r�z?test_converters_negative_indices_with_usecols.<locals>.<lambda>rg@r
r!g@rr)r9rr��usecolsr�z0,1,2
0,1,2,3,4cS�dS)Nr7r�rTrrrr��s)rr�r�)rrrr�rr;rrr�rrr�-test_converters_negative_indices_with_usecols�s �
�r�cCsJgd�}tjtdd��tj|dd�Wd�dS1swYdS)N)�1,2,3r�z4,3,2,1z2the number of columns changed from 3 to 4 at row 3rmrrrr)�rowsrrr�test_ragged_error�s�"�r�cCs�td�}t�ddgddgddgg�}tj|tdddgd�}t||�td�}tjtdd��tj|tdddgd�Wd�dS1sDwYdS)	N�$0,0,XXX
0,XXX,0,XXX
0,XXX,XXX,0,XXX
rr����r9rr�z0,0,XXX
0
0,XXX,XXX,0,XXX
z/invalid column index -2 at row 2 with 1 columnsrm)	rrrrr^rrsrtru�r%rr�rrr�test_ragged_usecols�s
�"�r�cCsFtd�}tj|t�g�dgd�}|jdksJ�|jt�g�ks!J�dS)Nr�rr�)r@)rrrr9r}�r%r�rrr�test_empty_usecols
sr��c1)r&uのu🫕�c2cCsntd|�d|�d��}tj|t�d�dd�}tjd|�d��d�d|�d��d�gt�d�d	�}t||�dS)
Nza,z	,c,1.0
e,z,2.0,g�U12rr]z,c,1.0ze,r8)rrrr9r�splitr)r�r�r%r�rrrr�test_large_unicode_characterss"�r�cCsXtd�}ddd�i}tj|t�d�|ddd�}t�dd	gd
dgdd
gg�}t||�dS)Nucat,dog
αβγ,δεζ
abc,def
rcS�|��S�N��upperr�rrrr�#�z-test_unicode_with_converter.<locals>.<lambda>r�r)r9r�rr��CAT�doguΑΒΓuδεζ�ABC�def)rrrr9rr�r%r�r�rrrr�test_unicode_with_converter!s�r�cCshtd�}t�dtjfdtjfdg�}dd�dd�d�}tj||d	|d
�}tjgd�|d�}t||�dS)
Nz$1.5,2.5,Abc
3.0,4.0,dEf
5.5,6.0,ghI
�m�r)rV�U8cSstdt|��S)Nrg)r_r^r�rrrr�2sz6test_converter_with_structured_dtype.<locals>.<lambda>cSr�r�r�r�rrrr�2r�)rr7r)r9rr�))�rr�)r�r �DEF)�7r"�GHIr8)rrr9�int32�float32rrr)r%rar�r�rrrr�$test_converter_with_structured_dtype/s�r�cCsJtd�}tj}tj|t�d�|dd�}t�ddgddgg�}t||�d	S)
aL
    With the default 'bytes' encoding, tokens are encoded prior to being
    passed to the converter. This means that the output of the converter may
    be bytes instead of unicode as expected by `read_rows`.

    This test checks that outputs from the above scenario are properly decoded
    prior to parsing by `read_rows`.
    zabc,def
rst,xyz�U3r)r9r�rr�r��RST�XYZN)r�bytesr�rrr9rrr�rrr�!test_converter_with_unicode_dtype:s	�r�cCsNdd}|dd�d}t|d�}tj|dtd�}t|t�dd	gd
��dS)Nz	1.5, 2.5,�P�r7�
rrrOrr)rr�)rrrr^r�tile)�rowr%r�rrr�test_read_huge_rowKs
r��edfgFDGcCs8d}t�|�}tj|g|d�d}||�d�ksJ�dS)Na�0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.123456789r8rz0.123456789)rr9r�type)r9�field�valuerrr�test_huge_floatSs
r�)�given_dtype�expected_dtype�S�S5�U�U5cCsRtd�}tj||dd�}tjddgddgdd	gg|d
�}t||�t|j|�dS)z�
    The given dtype is just 'S' or 'U' with no length. In these cases, the
    length of the resulting dtype is determined by the longest string found
    in the file.
    zAAA,5-1
BBBBB,0-3
C,4-9
rr]�AAAz5-1�BBBBBz0-3�Cz4-9r8N)rrrrrr9)r�r�r%r�rrrr�test_string_no_length_given\s
�
r�cCsBgd�}td�|��}t�|�}t�dd�|D��}t||�dS)z�
    Some tests that the conversion to float64 works as accurately as the
    Python built-in `float` function. In a naive version of the float parser,
    these strings resulted in values that were off by an ULP or two.
    )z0.9999999999999999z9876543210.123456z5.43215432154321e+300z0.901z0.333r�cSsg|]}t|��qSr)r^)�.0r�rrr�
<listcomp>�sz)test_float_conversion.<locals>.<listcomp>N)r�joinrrrr)�stringsr%r�rrrr�test_float_conversionrs

r�cCs^td�}tj|tdd�}|jtksJ�t|ddgddgg�t|�tj�ddgddgg�dS)Nz1, 0
10, -1rr]TFr?r)rrr�boolr9r�view�uint8r�rrr�	test_bool�s
"r��
AllIntegerz0error:.*integer via a float.*:DeprecationWarningc	Cs�t�|�}tjdg|d�dksJ�|jdkr4t�t��tjdg|d�Wd�n1s.wYntjdg|d�dks@J�dD]"}t�t��tj|�d	�g|d�Wd�n1s_wYqBdS)
Nz+2r8r�uz-1
z-2
r�)z++z+-z--z-+z2
)rr9r�kindrsrtru)r9�signrrr�test_integer_signs�s

�����r�cCsHtd�}t�t��tj||dd�Wd�dS1swYdS)Nz1.0, 2.1, 3.7
4, 5, 6rr]r�)r9r%rrr�%test_implicit_cast_float_to_int_fails�s"�r��with_parens)FTcCsXd}|s|�dd��dd�}tjt|�|dd�}tjgd�gd�g|d	�}t||�dS)
Nz*(1.0-2.5j),3.75,(7+-5.0j)
(4),(-19e2j),(0)�(��)rr])y�?�g@y@�)r y����rr8)r#rrrrr)r9r�r�r�rrrr�test_complex_parsing�s�r�cCsJdd�}tj|�tdd�}t�gd�gd�gd�gd�g�}t||�dS)	Ncss2�td�D]}|�dd|�d|d��VqdS)Nrerr��range��irrr�gen�s� �z%test_read_from_generator.<locals>.genrr])rrr)r?rr?)rrere)r@rr
)rrr_rr�rr�rrrr�test_read_from_generator�s"rcCs:dd�}tj|�ddd�}tjgd�dd�}t||�dS)Ncss(�td�D]}|�d|d��VqdS)Nr@r�rer�rrrrr�s��z/test_read_from_generator_multitype.<locals>.genzi, dr�r]))rg)r?g�?)rrr8)rrrrrrrr�"test_read_from_generator_multitype�srcCsNdd�}tjtdd��tj|�ddd�Wd�dS1s wYdS)Ncss�dD]}|VqdS)N)z1,2s3, 5i�1r)�entryrrrr�s��z)test_read_from_bad_generator.<locals>.gen�&non-string returned while reading datarmzi, irr]rx)rrrr�test_read_from_bad_generator�s�"�rzPython lacks refcountscs|t��d���fdd�}tdd�}tjtdd��tj|td|id�Wd�n1s.wYt���d	ks<J�dS)
Nrcs�dkrtd���d7��S)Ni�zfailed half-way through!r?)rur���already_read�sentinelrrr��sz/test_object_cleanup_on_read_error.<locals>.convzx
i'zat row 5000, column 1rm)r9r�r)	�objectrrsrtrurr�sys�getrefcount)r�r%rr	r�!test_object_cleanup_on_read_error�s�rcCsFtd�}t�t��tj|dd�Wd�dS1swYdS)z9Test exception when a character cannot be encoded as 'S'.u–r�r8Nr�)rrrr�#test_character_not_bytes_compatible�s"�rr�r�cCsJd}tjt|d��tjtd�|d�Wd�dS1swYdS)Nz\converters must be a dictionary mapping columns to converter functions or a single callable.rm�1 2
3 4�r��rsrtryrrr)r�r�rrr�test_invalid_converter�s
�"�rcCs�tjtdd��tjtd�dtid�Wd�n1swYtjtdd��tjtd�dtidd�Wd�dS1sAwYdS)Nzkeys of the converters dictrmrr&rr)r�r�)rsrtryrrrr_rrrr�+test_converters_dict_raises_non_integer_key�s�"�r�bad_col_ind)r@rpcCsNtd�}tjtdd��tj||tid�Wd�dS1s wYdS)Nrzconverter specified for columnrmr)rrsrtrurrr_)rrrrr�'test_converters_dict_raises_non_col_keys"�rcCsJtjtdd��tjtd�ddid�Wd�dS1swYdS)Nz4values of the converters dictionary must be callablermrrr?rrrrrr�,test_converters_dict_raises_val_not_callable
s
�"�r�q)�"�'�`c
Csrt|�d|�d|�d|�d|�d|�d��}t�ddtjfg�}tjgd	�|d
�}tj||d|d�}t||�dS)
N�alpha, xz, 2.5
�beta, yz, 4.5
�gamma, zz, 5.0
�r(r�r)�)rr)rg@)rr\r8r�r9r�	quotechar�rrr9r;rrr�rr%r9rr�rrr�test_quoted_field�&��r&c
Csrt|�d|�d|�d|�d|�d|�d��}t�ddtjfg�}tjgd	�|d
�}tj||d|d�}t||�dS)Nrz	     2.5
rz 4.5
rz   5.0
r r)r!r8r"r$r%rrr�*test_quoted_field_with_whitepace_delimiter!r'r(cCs�td�}t�ddtjfdtjfg�}tjtdd��tj||dd�Wd	�n1s,wY|�d
�tj	dg|d�}tj||dd
d�}t
||�d	S)z1Support for quoted fields is disabled by default.z"lat,long", 45, 30
)r(�U24r)r+z.the dtype passed requires 3 columns but 4 werermrr]Nr)zlat,longg�F@g>@r8rr")rrr9r;rsrtrur�seekrr)r%r9rr�rrr�test_quote_support_default/s��
r+cCsPtd�}d}tjt|d��tj|ddd�Wd�dS1s!wYdS)N�1,2
3,4z,.*must be a single unicode character or Nonermrz''�rr#�rrsrtryrr)r%r�rrr�test_quotechar_multichar_error@s
"�r/cCs�td�}d}tjt|d��tj|dddd�Wd�n1s!wYtjt|d��tj|ddd	gdd�Wd�n1sCwYtj|dd
dd�}t|dd
gddgg�dS)Nr,zWwhen multiple comments or a multi-character comment is given, quotes are not supported.rmr�123r)rrr#r�%)rrr?rr@re)rrsrtrurrr)r%r�r�rrr�'test_comment_multichar_error_with_quoteIs���r2cCs^td�}t�dtjfdtjfddtjfg�}tjgd�|d�}tj||dd	d
�}t||�dS)Nz{1000;2.4;'alpha';-34
2000;3.1;'beta';29
3500;9.9;'gamma';120
4090;8.1;'delta';0
5001;4.4;'epsilon';-99
6543;7.8;'omega';-1
r(r)r*r-r.r8rArr")	rrr9r:r;r<rrr)rr9rr�rrr�!test_structured_dtype_with_quotesYs�
��r3cC�:td�}tjgd�dd�}tj|dddd�}t||�dS)Nz	1

"4"
""��1�4r��U1r8rr�rr9r#�rrrrrr�rrr�test_quoted_field_is_not_emptyvsr;cCr4)Nz1

"4"
"r5r8r8rrr9r:r�rrr�(test_quoted_field_is_not_empty_nonstrict|sr<cCs6td�}tjddd�}tj|dddd�}t||�dS)Nz"Hello, my name is ""Monty""!"zHello, my name is "Monty"!�U40r8rrr"r:r�rrr�"test_consecutive_quotechar_escaped�sr>r)r�z


z# 1 2 3
# 4 5 6
r{)rr?rr��r?rr@c	Cs|durd}n	|dkrd}nd}t|�}tjtdd��tj|||d�}Wd�n1s.wY|j|ks:J�td	d
��9}|�|�|�	d�tjtdd��tj|||d�}Wd�n1sdwY|j|kspJ�Wd�dS1s{wYdS)zDCheck that a UserWarning is emitted when no data is read from input.N)rr@rrK)r�input contained no datarm)r{r��w)�moder)
rrs�warns�UserWarningrrr}r�writer*)rr{r��expected_shaper%r��fhrrr�test_warn_on_no_data�s$�

�"�rHrLcCsNd}t|�}tjtdd��tj||d�Wd�dS1s wYdS)Nz1 2 3
4 5 6r@rm)r>)rrsrCrDrr)r>rr%rrr�test_warn_on_skipped_data�s
"�rIr�)r�r?)�u2r?)�i4�)�u4rL)�i8�
)�u8rO)�float16g#�{?)r�g��. �7)�	complex64y��. �7���`F$:)r;g��
complex128ywfUD3":�)�
longdoublerO�clongdoubleyp`P@0 �B�B)�U2u𐈃򠬌�swapTFcCs~t�|�}d|�d�g}|r|��}tjdd|fgdd�}|jdddks(J�tj||dddd	�}|d|�|�ks=J�dS)
Nzx,r�)r&�S1rEFrcr?r)r9rr�rl)rr9�newbyteorder�fieldsrr�)r9r�rWr�full_dtr�rrr�test_byteswapping_and_unaligned�s
�r\�efdFD�?cCs8td�}tj||ddd�}t|t�ddg��|��dS)Nu 3 ," 2
"rrr"r@r)rrrrr�astyper�rrr�!test_unicode_whitespace_stripping�sr`�FDcCsBd}||�dd�g}tj||dd�}t|t�gd�gd��dS)Nz0 1 , 2+3j , ( 4+5j ), ( 6+-7j )  , 8j , ( 9j ) 
r�u rr])r?y@@y@@y@�y @y"@r)r#rrrr)r9�linerr�rrr�)test_unicode_whitespace_stripping_complex�srcr�)z1 +2jz1+ 2jz1+2 jz1+-+3z(1jz(1z(1+2jz1+2j)cCsFt�t��tj|dg|dd�Wd�dS1swYdS)Nr�rr]rr)r9r�rrr�test_bad_complex�s"�rd�efgdFDGcCsZ|��dkrt�d�t�t��tjdg|ddd�Wd�dS1s&wYdS)N�gz0longdouble/clongdouble assignment may misbehave.�1rrr")�lowerrs�xfailrtrurrr8rrr�test_nul_character_error�s

"�rjcCs�|dkr	t�d�|dvrt�d�td�td�kr(td�kr(dks+J�J�t�t��tj	dg|d�Wd�dS1sDwYdS)	N�ez5half assignment currently uses Python float converter�eGz2clongdouble assignment is buggy (uses `complex`?).�1_1rhz1_1
r8)
rs�skiprir_r^�complexrtrurrr8rrr�test_no_thousands_support�s

2"�rpz1,2
z2
,3
z2
,3
cCsFd}tjt|d��tj|dd�Wd�dS1swYdS)Nz7Found an unquoted embedded newline within a single linermrrrr)rr�rrr�test_bad_newline_in_iterator
s"�rqz2,3
z'2
',3
z'2
',3
z'2
',3
cCs*tj|ddd�}t|ddgddgg�dS)Nrrr-rYrZr
rB)rr�rrr�test_good_newline_in_iteratorsrr�newline)r��
�
csTgd�}�fdd�|D�}tj|tddd�}t|dd���gd	d
��d�gg�dS)N)z1,"2
"
z3,"4
z1"
csg|]}|�d���qS)r�)r#)r�r��rsrrr�(sz2test_universal_newlines_quoted.<locals>.<listcomp>rrr"r6�2�3r7)rrrr)rsrr�rrvr�test_universal_newlines_quoted"s(rycCs\tjddgdd�}t|gd�gd�g�tjddgd	td
�}|��gd�gd�gks,J�dS)
Nz123
z456�rr?)rerfrz1,2,3
z4,5,6rrO)rgz2rx)z4z5�6)rrrr�tolist)r�rrr�test_null_character-s
� r}cCsTGdd�d�}tjtdd��tj|�tdd�Wd�dS1s#wYdS)Nc@seZdZdd�Zdd�ZdS)z:test_iterator_fails_getting_next_line.<locals>.BadSequencecSr�)NrXr��selfrrr�__len__:�zBtest_iterator_fails_getting_next_line.<locals>.BadSequence.__len__cSs"|dkrtd��|�d|d��S)N�2�Bad things happened!z, r?)�RuntimeError)r�itemrrr�__getitem__=szFtest_iterator_fails_getting_next_line.<locals>.BadSequence.__getitem__N)�__name__�
__module__�__qualname__r�r�rrrr�BadSequence9sr�r�rmrr])rsrtr�rrr_)r�rrr�%test_iterator_fails_getting_next_line8s	"�r�c@sVeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Ze	j
�d
gd��dd��ZdS)�TestCReaderUnitTestscC�Ptjtdd��tjjjt�t�d�dd�Wd�dS1s!wYdS)Nz.*readrmrT�r9�filelike)	rsrt�AttributeErrorr�core�_multiarray_umath�_load_from_filelikerr9r~rrr�test_not_an_filelikeIs
�"�z)TestCReaderUnitTests.test_not_an_filelikecC�^Gdd�d�}tjtdd��tjjj|�t�d�dd�Wd�dS1s(wYdS)Nc@�eZdZdZdd�ZdS)zBTestCReaderUnitTests.test_filelike_read_fails.<locals>.BadFileLikercSs$|jd7_|jdkrtd��dS)Nr?��Bad bad bad!z1,2,3
)�counterr��r�sizerrr�readUs
zGTestCReaderUnitTests.test_filelike_read_fails.<locals>.BadFileLike.readN�r�r�r�r�r�rrrr�BadFileLikeR�r�r�rmrTr�)rsrtr�rr�r�r�r9�rr�rrr�test_filelike_read_failsNs	�"�z-TestCReaderUnitTests.test_filelike_read_failscCr�)Nc@r�)z@TestCReaderUnitTests.test_filelike_bad_read.<locals>.BadFileLikercSr�)Ni�rr�rrrr�gr�zETestCReaderUnitTests.test_filelike_bad_read.<locals>.BadFileLike.readNr�rrrrr�dr�r�rrmrTr�)rsrtryrr�r�r�r9r�rrr�test_filelike_bad_read_s��"�z+TestCReaderUnitTests.test_filelike_bad_readcCr�)Nz/error reading from object, expected an iterablermrFr��	rsrtryrr�r�r�rr9r~rrr�test_not_an_iteros��"�z%TestCReaderUnitTests.test_not_an_itercCsJtjtdd��tjjjt�ddd�Wd�dS1swYdS)Nzinternal error: dtype mustrmrFr�)rsrtryrr�r�r�rr~rrr�
test_bad_typeus
�"�z"TestCReaderUnitTests.test_bad_typecCsRtjtdd��tjjjt�t�d�ddd�Wd�dS1s"wYdS)Nzencoding must be a unicodermrF�{)r9r�r�r�r~rrr�test_bad_encodingzs
�"�z&TestCReaderUnitTests.test_bad_encodingrs)rtr�rucCs\td�d|�dd�}tjjj|t�d�dddd	d
�}t|dd�dfdd
|��ddg�dS)Nz0
1
"2
"
3
4 #
r�r�rv�U10Trrr?)r9r��quoter�	skiplinesrr6rwrxz4 )rr#rr�r�r�r9r)rrsrr�rrr�test_manual_universal_newliness��(z3TestCReaderUnitTests.test_manual_universal_newlinesN)
r�r�r�r�r�r�r�r�r�rs�mark�parametrizer�rrrrr�Fsr�cC�Htjtdd��tjtd�ddd�Wd�dS1swYdS)N�".*control characters.*incompatiblerm�1, 2, 3rrrrrrr�'test_delimiter_comment_collision_raises��"�r�cCr�)Nr�rmr�rr-rrrrr�)test_delimiter_quotechar_collision_raises�r�r�cCr�)Nr�rm�1 2 3r)rr#rrrrr�'test_comment_quotechar_collision_raises�r�r�cCsLtjtdd��tjtd�dddgd�Wd�dS1swYdS)Nz0Comment characters.*cannot include the delimiterrmr�rrrrrrrr�5test_delimiter_and_multiple_comments_collision_raises�s
�"�r�cCs�tjtdd��tjtd|�d|�d|�d|�d�	�|d�Wd�n1s(wYtjtdd��tjtd|�d|�d|�d|�d�	�|d	�Wd�dS1sVwYdS)
Nr�rmr6rwz3
4�5z6
�r�r#r)r�rrr�,test_collision_with_default_delimiter_raises�s.�."�r��nl)r�rtcCs�td|�d|�d|�|�d|�d|�d|�|���}d}tjt|d��tj||d	�Wd�n1s5wYtjt|d��tj||d
�Wd�n1sSwYtjt|d��tj||d�Wd�dS1srwYdS)Nr6rwrxr7r�r{z&control character.*cannot be a newlinermrr�r�r.)r�r%r�rrr�%test_control_character_newline_raises�s4��"�r�)�generic_data�
long_datum�unitless_dtyper�)z2012-03z
2013-01-15�M8zM8[D])�
spam-a-lot�tis_but_a_scratchr��U17�nrows)rgr��`�cCs�|gd|g}tj||d�}td�|��}tj||d�}|j|jks%J�t||�t�\}	}
t�	|	�t
|
d��}|�d�|��Wd�n1sLwYtj|
|d�}t�|
�|j|jkseJ�t||�dS)z�Check that the correct unit (e.g. month, day, second) is discovered from
    the data when a user specifies a unitless datetime.r�r8r�rAN�
rrrr�rr9rr�os�close�openrE�remove)r�r�r�r�r�rrr%r&�fd�fnamerGrrr�test_parametric_unit_discovery�s


�
r�cCs�dgddg}tjdgddgdd�}dd�}td	�|��}tj|d
|dd�}|j|jks1J�t||�t�\}}t�	|�t
|d��}|�d	�|��Wd�n1sXwYtj|d
|dd�}t�|�|j|jkssJ�t||�dS)
Nr�r��XXXtis_but_a_scratchr�r�r8cSs
|�d�Sr�)�stripr�rrrr��s
z>test_str_dtype_unit_discovery_with_converter.<locals>.<lambda>r�r�)r9r�r�rAr�)rrr�r%r&r�r�rGrrr�,test_str_dtype_unit_discovery_with_converter�s$�


�
r�cCs
tjtdd��tjtd�dd�Wd�n1swYtjtdd��tjtd�dd�Wd�n1s;wYtjtdd��tjtd�dd�Wd�n1s[wYtjtdd��tjtd�d	dgd�Wd�dS1s~wYdS)
Nz#Text reading control character mustrmr�r�rr�z"comments cannot be an empty stringr�r)rsrtryrrrrurrrr�test_control_character_empty�s���"�r�cCs&tjtd�ddd�}t|gd��dS)z<Byte control characters (comments, delimiter) are supported.z
#header
1,2,3�#�,)rrr?N)rrrr)r&rrr� test_control_characters_as_bytes	sr�zignore::UserWarningcCs`tjdgdtd�}t|�dksJ�tdd�D]}tjd|gdtd�}t|�|dks-J�qdS)Nr�rrOrr?i)rrr��lenr�)r�rrrr�test_field_growing_casess�r�)l�__doc__r
r�rs�tempfilerr�ior�numpyr�numpy.ma.testutilsr�
numpy.testingrrrrr�r�r'�fixturer=rCrHrRrSrbrjrwrzr�r�r�r�r^rr��skipif�implementation�versionr9r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��	typecodes�filterwarningsr�r�rRrSr�rrrrrrrrrr&r(r+r/r2r3r;r<r>rHrI�reprr\r`rcrdrjrprqrrryr}r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr�<module>s�

 



��


�


�

��

�
�




�

	�




�



��


	����	���
	�


I�


���