o
    Ô­js¥ ã                   @   s˜  d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
mZ d dlmZ d dlmZmZ d dlmZ d dlZd dlmZmZ d dlmZ d dlZd dlmZ d dlmZmZ d d	lmZ d d
l m!Z! d dl"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/m0Z0m1Z1 d dl2m3Z3 G dd„ deƒZ4e j5dkZ6zd dl7Z7dZ8W n e9yº   dZ8Y nw zd dl:Z:dZ;W n e9yÎ   dZ;Y nw d:dd„Z<G dd„ dƒZ=G dd„ de=ƒZ>G dd„ de=ƒZ?G dd„ dƒZ@G dd„ dƒZAG dd„ deAƒZBG d d!„ d!ƒZCG d"d#„ d#eAƒZDG d$d%„ d%ƒZEd&d'„ ZFG d(d)„ d)ƒZGG d*d+„ d+ƒZHd,d-„ ZId.d/„ ZJd0d1„ ZKd2d3„ ZLe	jMjNe, d4d5�d6d7„ ƒZOd8d9„ ZPdS );é    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*   e Zd ZdZd
dd„Zdd„ Zdd„ Zd	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.

    Ú c                 C   ó   t  | t|ƒ¡ d S ©N)r   Ú__init__r   ©ÚselfÚs© r'   úT/var/www/html/CropPilot/venv/lib/python3.10/site-packages/numpy/lib/tests/test_io.pyr#   *   ó   zTextIO.__init__c                 C   r!   r"   )r   Úwriter   r$   r'   r'   r(   r*   -   r)   zTextIO.writec                 C   s   t  | dd„ |D ƒ¡ d S )Nc                 S   s   g | ]}t |ƒ‘qS r'   r   )Ú.0r&   r'   r'   r(   Ú
<listcomp>1   ó    z%TextIO.writelines.<locals>.<listcomp>)r   Ú
writelines)r%   Úlinesr'   r'   r(   r.   0   s   zTextIO.writelinesN)r    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r#   r*   r.   r'   r'   r'   r(   r   !   s
    
r   l        TFc                 C   s.   t | ƒtkr|  d¡} tt | |¡dd… Ž 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:   A   s   
r:   c                   @   sj   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zej	j
ejdkdd�dd„ ƒZdd„ Zej	jdd„ ƒZdS )ÚRoundtripTestc              	   O   s:  |  di ¡}|  dddi¡}|  dd¡}|rtdd�}|j}ntƒ }|}zX|}	||g|	¢R i |¤Ž | ¡  | d¡ tjd	krIt|tƒsI| 	¡  t
j|fi |¤Ž}
|	| _|
| _W t|tƒsw| 	¡  d
tƒ v ryt|
t
jjjƒs{t |j¡ dS dS dS dS t|tƒsš| 	¡  d
tƒ v r›t|
t
jjjƒsœt |j¡ w w w w )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_filerN   rC   r'   r'   r(   Ú	roundtripM   sD   



û
ü
ûzRoundtripTest.roundtripc                 C   s†   |   |¡ | j |dd� |   t |¡¡ | j t |¡dd� |jd dkrA|   t |¡dd … ¡ | j t |¡dd … dd� d S d S )NT)r@   r   é   )rZ   rL   ÚasfortranarrayÚshape©r%   Úar'   r'   r(   Úcheck_roundtrips}   s   
 ýzRoundtripTest.check_roundtripsc                 C   sª   t  g t¡}|  |¡ t  ddgddggt¡}|  |¡ t  ddgddggt¡}|  |¡ t jddgddggt jd	�}|  |¡ t jddgddggt jd	�}|  |¡ d S )
Nr[   é   r5   é   y      ð?      @y       @      @y      @      @y      @       @©Údtype)rL   ÚarrayÚfloatr`   ÚintÚcsingleÚcdoubler^   r'   r'   r(   Ú
test_array‡   s   



zRoundtripTest.test_arrayc                 C   s<   t  g t¡}|  |¡ t  ddgddggt¡}|  |¡ d S )Nr[   ra   r5   rb   )rL   re   Úobjectr`   r^   r'   r'   r(   Útest_array_object—   s   
zRoundtripTest.test_array_objectc                 C   s   t  g d¢t¡}|  |¡ d S )N©r[   ra   r5   rb   )rL   re   rg   rZ   r^   r'   r'   r(   Útest_1Dž   s   zRoundtripTest.test_1DrB   zFails on Win32©Úreasonc                 C   sX   t  ddgddgg¡}| j|dddid� t  ddgddgg¡}| j|dddid� d S )	Nr[   g      @rb   g333333@TÚ	mmap_modeÚr)r@   r>   )rL   re   rZ   r\   r^   r'   r'   r(   Ú	test_mmap¢   s   zRoundtripTest.test_mmapc                 C   s$   t jddgddgd�}|  |¡ d S )N©r[   ra   ©r5   rb   ©ÚxÚi4©Úyrx   rc   )rL   re   r`   r^   r'   r'   r(   Útest_recordª   s   zRoundtripTest.test_recordc                 C   sj   dd„ t dƒD ƒ}tjd|d�}tjdd�� t dd	t¡ |  |¡ W d   ƒ d S 1 s.w   Y  d S )
Nc                 S   s   g | ]
}d | d t f‘qS )ú%déd   ©rf   ©r+   Úir'   r'   r(   r,   °   s    z1RoundtripTest.test_format_2_0.<locals>.<listcomp>éô  iè  rc   T©ÚrecordÚalwaysr    )ÚrangerL   ÚonesÚwarningsÚcatch_warningsÚfilterwarningsÚUserWarningr`   )r%   Údtr_   r'   r'   r(   Útest_format_2_0®   s   "þzRoundtripTest.test_format_2_0N)r0   r1   r2   rZ   r`   rj   rl   rn   ÚpytestÚmarkÚskipifrH   rI   rs   r{   ÚslowrŒ   r'   r'   r'   r(   r<   L   s    0

r<   c                   @   ó   e Zd Zdd„ ZdS )ÚTestSaveLoadc                 O   sb   t j| tjg|¢R i |¤Ž t| jd | jƒ t| jd j| jjƒ t| jd jj	| jjj	ƒ d S )Nr   )
r<   rZ   rL   Úsaver   rN   rC   rd   ÚflagsÚfnc)r%   rV   rW   r'   r'   r(   rZ   ¸   s   zTestSaveLoad.roundtripN)r0   r1   r2   rZ   r'   r'   r'   r(   r’   ·   ó    r’   c                   @   s¸   e Zd Zdd„ Zejjedd�ejje dd�ejj	dd„ ƒƒƒZ
dd	„ Zd
d„ Zdd„ Zdd„ Zejjedd�dd„ ƒZdd„ Zejjdd„ ƒZdd„ Zej dg d¢¡dd„ ƒZdS )ÚTestSavezLoadc              	   O   sÀ   t j| tjg|¢R i |¤Ž z=t| jƒD ] \}}| jd|  }t||ƒ t|j|jƒ t|j	j
|j	j
ƒ qW | jjrJ| jj ¡  t | jjj¡ d S d S | jjr_| jj ¡  t | jjj¡ w w )Nzarr_%d)r<   rZ   rL   ÚsavezÚ	enumeraterN   rC   r   rd   r”   r•   ÚfidrK   rS   rT   rE   )r%   rV   rW   ÚnrN   Úreloadedr'   r'   r(   rZ   À   s   
üþþzTestSavezLoad.roundtripzHangs on PyPyro   zNeeds 64bit platformc                 C   sr   d}t j|t jd�}tddd��}t j||d� ~t  |¡}|d }| ¡  ~W d   ƒ d S 1 s2w   Y  d S )Nl      rc   Únumpy_test_big_arrays_ú.npz)ÚprefixÚsuffix©r_   r_   )rL   ÚemptyÚuint8r   r˜   rM   rK   )r%   ÚLr_   ÚtmpÚnpfiler'   r'   r(   Útest_big_arraysÎ   s   
"úzTestSavezLoad.test_big_arraysc                 C   s@   t  ddgddggt¡}t  ddgddggt¡}|  ||¡ d S )	Nr[   ra   r5   rb   ù      ð?       @ù       @      @ù      @      Àù      @      (@)rL   re   rf   ÚcomplexrZ   )r%   r_   Úbr'   r'   r(   Útest_multiple_arraysÜ   s   z"TestSavezLoad.test_multiple_arraysc                 C   sz   t  ddgddggt¡}t  ddgddggt¡}tƒ }t j|||d	� | d
¡ t  |¡}t||d ƒ t||d ƒ d S ©Nr[   ra   r5   rb   r¨   r©   rª   r«   )Úfile_aÚfile_br   r°   r±   )	rL   re   rf   r¬   r   r˜   rG   rM   r   ©r%   r_   r­   ÚcÚlr'   r'   r(   Útest_named_arraysá   s   

zTestSavezLoad.test_named_arraysc                 C   sr   t  g d¢¡}tƒ }t j||d� | d¡ t  |¡}tjtdd�� |d  W d   ƒ d S 1 s2w   Y  d S )N©r[   ra   r5   r¡   r   z(1, 2)©Úmatchrt   )	rL   re   r   r˜   rG   rM   r�   ÚraisesÚKeyError)r%   r_   Úfr´   r'   r'   r(   Útest_tuple_getitem_raisesì   s   


"ÿz'TestSavezLoad.test_tuple_getitem_raisesc                 C   s’   t  ddgddggt¡}t  ddgddggt¡}tƒ }t j|||d	� | d
¡ t  |¡}tt	t
|jƒƒddgƒ t||jjƒ t||jjƒ d S r¯   )rL   re   rf   r¬   r   r˜   rG   rM   r   ÚsortedÚdirr»   r°   r±   r²   r'   r'   r(   Útest_BagObjö   s   

zTestSavezLoad.test_BagObjzCannot start threadc                    sX   dd„ ‰g ‰ ‡ ‡fdd„t dƒD ƒ}|D ]}| ¡  q|D ]}| ¡  qˆ r*tˆ ƒ‚d S )Nc                 S   s�   t dd��9}tj dd¡}z	tj||d� W n ty- } z|  |¡ W Y d }~nd }~ww W d   ƒ d S W d   ƒ d S 1 sAw   Y  d S )Nrž   ©r    r�   )rN   )r   rL   ÚrandomÚrandnr˜   ÚOSErrorÚappend)Ú
error_listr¥   rN   Úerrr'   r'   r(   Úwriter  s   €ÿÿý"ûz9TestSavezLoad.test_savez_filename_clashes.<locals>.writerc                    s   g | ]
}t jˆˆ fd �‘qS )©Ú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_clashes  s   ÿ

ÿz)TestSavezLoad.test_savez_filename_clashesc              	   C   sê   t dd��f}t|dƒ�}tj|dd� W d   ƒ n1 sw   Y  t|ddƒ�+}| d¡ t|j ƒ t |¡d	  t|j ƒ | d¡ t|j ƒ W d   ƒ n1 sVw   Y  W d   ƒ d S W d   ƒ d S 1 snw   Y  d S )
Nrž   rÀ   ÚwbúLOVELY LOAD©ÚdataÚrbi'  r   rØ   )r   ÚopenrL   r˜   rG   r   ÚclosedrM   )r%   r¥   Úfpr'   r'   r(   Útest_not_closing_opened_fid  s   ÿ

ùý"ýz)TestSavezLoad.test_not_closing_opened_fidc                 C   sê   t dd��f}tj|dd� tƒ �C}| t¡ tddƒD ]0}z&z	t |¡d  W n ty; } zd| }t	|ƒ‚d }~ww W t
rCt ¡  qt
rKt ¡  w w W d   ƒ n1 sVw   Y  W d   ƒ d S W d   ƒ d S 1 snw   Y  d S )	Nrž   rÀ   rÖ   r×   r[   i  rØ   z#Failed to load data from a file: %s)r   rL   r˜   r   ÚfilterÚResourceWarningr…   rM   Ú	ExceptionrÑ   r   ÚgcÚcollect)r%   r¥   Úsupr€   ÚeÚmsgr'   r'   r(   Útest_closing_fid(  s0   
€þÿ€ÿ
ÿùþù"ùzTestSavezLoad.test_closing_fidc                 C   sh   d}t d|d��"}tj|dd� t |¡}|jj}| ¡  t|jƒ W d   ƒ d S 1 s-w   Y  d S )NÚ&numpy_test_closing_zipfile_after_load_rž   )r    rŸ   úplace holder©Úlab)	r   rL   r˜   rM   ÚziprÜ   rK   r   rÛ   )r%   rŸ   r¥   rØ   rÜ   r'   r'   r(   Útest_closing_zipfile_after_loadB  s   
"ûz-TestSavezLoad.test_closing_zipfile_after_loadzcount, 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...c                 C   sŠ   t  ddgddggt¡}tdd��*}t j|g|g| ¢R Ž  t  |¡}t|ƒ|j|d�ks/J ‚| ¡  W d   ƒ d S 1 s>w   Y  d S )Nr[   ra   r5   rb   rž   rÀ   )Úfname)	rL   re   rf   r   r˜   rM   ÚreprÚformatrK   )r%   ÚcountÚexpected_reprr_   r¥   r´   r'   r'   r(   Útest_repr_lists_keysO  s   

"üz"TestSavezLoad.test_repr_lists_keysN)r0   r1   r2   rZ   r�   rŽ   r�   r   ÚIS_64BITr�   r§   r®   rµ   r¼   r¿   r   rÔ   rÝ   Ú	slow_pypyræ   rì   Úparametrizerô   r'   r'   r'   r(   r—   ¿   s$    


r—   c                   @   sð   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zej d#d$d%g¡ej d&eeg¡d'd(„ ƒƒZejjejd)kd*d+�ejjed,d-�d.d/„ ƒƒƒZd0S )1ÚTestSaveTxtc                 C   sÄ   t  ddgddggt¡}d}tƒ }t j|||d� | d¡ t| ¡ t|d | d	 d
 ƒt|d | d	 d ƒgƒ t  ddgddggt	¡}tƒ }t j||dd� | d¡ t| ¡ ddgƒ d S )Nr[   ra   r5   rb   z%.18e©r;   r   ú Ú
rt   ru   r|   ó   1 2
ó   3 4
)
rL   re   rf   r   ÚsavetxtrG   r   Ú	readlinesr   rg   )r%   r_   r;   r³   r'   r'   r(   rj   `  s   
ÿÿ
zTestSaveTxt.test_arrayc                 C   sJ   t  g d¢t¡}tƒ }t j||dd� | d¡ | ¡ }t|g d¢ƒ d S )Nrm   r|   rù   r   )s   1
s   2
s   3
s   4
)rL   re   rg   r   rþ   rG   rÿ   r   ©r%   r_   r³   r/   r'   r'   r(   rn   p  s   
zTestSaveTxt.test_1Dc                 C   s@   t ƒ }tttj|t d¡ƒ tttj|t dgdggg¡ƒ d S )Nr[   ra   )r   r   Ú
ValueErrorrL   rþ   re   ©r%   r³   r'   r'   r(   Ú
test_0D_3Dx  s   $zTestSaveTxt.test_0D_3Dc                 C   sL   t jddgddgd�}tƒ }t j||dd� | d¡ t| ¡ d	d
gƒ d S )Nrt   ru   rv   ry   rc   r|   rù   r   rü   rý   ©rL   re   r   rþ   rG   r   rÿ   ©r%   r_   r³   r'   r'   r(   Útest_structured}  s
   
zTestSaveTxt.test_structuredc                 C   sT   t jddgg d¢d�}tƒ }t j||ddg dd� | d	¡ t| ¡ d
dgƒ d S )Nr¶   ©rb   rí   rî   ))Úfoorx   )Úbarrx   )Úbazrx   rc   r  r
  r|   rù   r   s   1 3
s   4 6
r  r  r'   r'   r(   Útest_structured_padded„  s
   
z"TestSaveTxt.test_structured_paddedc                 C   sv   t jdg d¢d�}|ddg }tdd��}t|ƒ}t  ||¡ t  |¡}t||ƒ W d   ƒ d S 1 s4w   Y  d S )Nr[   )rv   ry   )ÚzÚf4rc   rw   r  ú.npyrÀ   )rL   r†   r   r   r“   rM   r   )r%   r_   ÚvÚpathrØ   r'   r'   r(   Útest_multifield_viewŽ  s   
"üz TestSaveTxt.test_multifield_viewc                 C   sN   t  ddgddgg¡}tƒ }t j||ddd� | d¡ t| ¡ d	d
gƒ d S )Nç      ð?ç       @ç      @ç      @ú,r|   )Ú	delimiterr;   r   s   1,2
s   3,4
r  r  r'   r'   r(   Útest_delimiter—  s
   
zTestSaveTxt.test_delimiterc                 C   sÐ   t  ddg¡}tƒ }t j||ddgd� | d¡ t| ¡ ddgƒ tƒ }t j||d	d� | d¡ | ¡ }t|d
dgƒ tƒ }t j||d	dd� | d¡ | ¡ }t|d
dgƒ tƒ }ttt j||dd� d S )Nrt   ru   z%02dz%3.1frù   r   s   01 2.0
s   03 4.0
z%02d : %3.1fs	   01 : 2.0
s	   03 : 4.0
r  )r;   r  éc   )	rL   re   r   rþ   rG   r   rÿ   r   r  r   r'   r'   r(   Útest_formatž  s"   


zTestSaveTxt.test_formatc                 C   s  t ƒ }tjddgtd�}d}tj||d|d� | d¡ t| ¡ td| d	 ƒƒ t ƒ }tj||d|d
� | d¡ t| ¡ td| d ƒƒ t ƒ }d}tj||d||d� | d¡ t| ¡ t|| d d ƒƒ t ƒ }d}tj||d||d� | d¡ t| ¡ td| | d ƒƒ d S )Nrt   ru   rc   zTest header / footerz%1d)r;   Úheaderr   z# z	
1 2
3 4
)r;   Úfooterz
1 2
3 4
# rû   z% )r;   r  Úcommentsz1 2
3 4
)r;   r  r  )	r   rL   re   rg   rþ   rG   r   Úreadr   )r%   r³   r_   Útest_header_footerÚ
commentstrr'   r'   r(   r  ¸  s@   
ÿ
ÿ
ÿ
ÿ
ÿ
ÿzTestSaveTxt.test_header_footerc                 C   sZ   t ƒ � }t ddg¡}t ||¡ t |¡}t||ƒ W d   ƒ d S 1 s&w   Y  d S )Nrt   ru   )r   rL   re   rþ   Úloadtxtr   )r%   rE   r_   r­   r'   r'   r(   Útest_file_roundtripÚ  s   
"üzTestSaveTxt.test_file_roundtripc                 C   sì   d}d}t j||ft jd�}t j}t j}|d|  |d d …< tƒ }t j||dd� | d¡ | ¡ }t	|ddgƒ tƒ }t j||d| d� | d¡ | ¡ }t	|d	d	gƒ tƒ }t j||d
g| d� | d¡ | ¡ }t	|ddgƒ d S )Nra   rc   ù              ð?z %+.3erù   r   s8    ( +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ä   r   rþ   rG   rÿ   r   ©r%   ÚncolsÚnrowsr_   ÚreÚimr³   r/   r'   r'   r(   Útest_complex_arraysá  sH   
ÿþ
ÿþ
ÿþzTestSaveTxt.test_complex_arraysc                 C   sv   d}d}t j||ft jd�}t j}t j}|d|  |d d …< tƒ }t j||dd� | d¡ | ¡ }t	|ddgƒ d S )Nra   rc   r#  z%.3erù   r   s0    (3.142e+00-2.718e+00j)  (3.142e+00-2.718e+00j)
r$  r(  r'   r'   r(   Útest_complex_negative_exponent  s    
ÿþz*TestSaveTxt.test_complex_negative_exponentc                 C   sH   G dd„ dt ƒ}|ƒ }t ddg¡}t ||¡ t |¡}t||ƒ d S )Nc                   @   r‘   )z4TestSaveTxt.test_custom_writer.<locals>.CustomWriterc                 S   s   |   | d¡¡ d S )Nó   
)ÚextendÚsplit)r%   Útextr'   r'   r(   r*     r)   z:TestSaveTxt.test_custom_writer.<locals>.CustomWriter.writeN)r0   r1   r2   r*   r'   r'   r'   r(   ÚCustomWriter  r–   r3  rt   ru   )ÚlistrL   re   rþ   r!  r   )r%   r3  Úwr_   r­   r'   r'   r(   Útest_custom_writer  s   
zTestSaveTxt.test_custom_writerc                 C   sf   d  d¡}tj|gtjd�}tƒ �}tjtj |d¡|dgdd� W d   ƒ d S 1 s,w   Y  d S )Nó   Ï–úUTF-8rc   útest.csvú%s©r;   Úencoding)	r8   rL   re   Ústr_r   rþ   rS   r  rÐ   )r%   Úutf8r_   Útmpdirr'   r'   r(   Útest_unicode%  s   
ÿ"þzTestSaveTxt.test_unicodec                 C   sÆ   d  d¡}tj|gtjd�}ddg}tr| d¡ tr"| ddg¡ tƒ �4}|D ](}tj	t
j |d	| ¡|d
gdd� tjt
j |d	| ¡dtjd�}t||ƒ q(W d   ƒ d S 1 s\w   Y  d S )Nr7  r8  rc   r    ú.gzú.bz2ú.xzú.lzmar9  r:  z	UTF-16-LEr;  ©r<  rd   )r8   rL   re   r=  ÚHAS_BZ2rÄ   ÚHAS_LZMAr0  r   rþ   rS   r  rÐ   r!  r   )r%   r>  r_   Úsuffixesr?  r    r­   r'   r'   r(   Útest_unicode_roundtrip-  s$   

ÿÿû"ÿz"TestSaveTxt.test_unicode_roundtripc                 C   s\   d  d¡}tj|gtjd�}tƒ }tj||dgdd� | d¡ t| ¡   d¡|d ƒ d S ©Nr7  r8  rc   r:  r;  r   rû   )	r8   rL   re   r=  r   rþ   rG   r   r  ©r%   r>  r_   r&   r'   r'   r(   Útest_unicode_bytestream>  s   

z#TestSaveTxt.test_unicode_bytestreamc                 C   sV   d  d¡}tj|gtjd�}tƒ }tj||dgdd� | d¡ t| ¡ |d ƒ d S rJ  )	r8   rL   re   r=  r   rþ   rG   r   r  rK  r'   r'   r(   Útest_unicode_stringstreamF  s   

z%TestSaveTxt.test_unicode_stringstreamr;   ú%fs   %fÚiotypec                 C   s`   t  dg¡}|ƒ }t j|||d� | d¡ |tu r%t| ¡ dd ƒ d S t| ¡ dd ƒ d S )Nr  rù   r   z%f
s   %f
)rL   re   rþ   rG   r   r   r  )r%   r;   rO  r_   r&   r'   r'   r(   Útest_unicode_and_bytes_fmtN  s   
z&TestSaveTxt.test_unicode_and_bytes_fmtrB   zfiles>4GB may not workro   g   `¸úA)Ú
free_bytesc                 C   sl   dd„ }t tƒ}tdƒ}|j||fd�}| ¡  | ¡  |jr#tdƒ‚|jdkr-t	 
d¡ |jdks4J ‚d S )	Nc                 S   s‚   d| _ z2tjdd„ tdƒD ƒtd�}tƒ �}tjtj 	|d¡|d� W d   ƒ W d S 1 s.w   Y  W d S  t
y@   d| _ ‚ w )	NFc                 S   s$   g | ]}t j t j d d¡d¡‘qS )é2   r}   rb   )rL   rÁ   ÚrandÚrandintr   r'   r'   r(   r,   d  s
    þÿzGTestSaveTxt.test_large_zip.<locals>.check_large_zip.<locals>.<listcomp>i 5 rc   ztest.npz)Ú	test_dataT)ÚvaluerL   Úasarrayr…   rk   r   r˜   rS   r  rÐ   ÚMemoryError)Úmemoryerror_raisedrU  r?  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   )r   r	   r   ÚProcessrÏ   rÐ   rV  rX  Úexitcoder�   Úxfail)r%   rZ  rY  ÚctxÚpr'   r'   r(   Útest_large_zip[  s   

zTestSaveTxt.test_large_zipN) r0   r1   r2   rj   rn   r  r  r  r  r  r  r  r"  r-  r.  r6  r@  rI  rL  rM  r�   rŽ   r÷   r   r   rP  r�   rH   rI   r�   r   rb  r'   r'   r'   r(   rø   _  s2    
	"&rø   c                   @   sx   e Zd Zdd„ Zdd„ Zejje dd�dd„ ƒZ	ejje
 d	d�d
d„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚLoadTxtBasec                 C   sô   t  d¡ d¡}d}|D ]k}d| d }|D ]`}t|d��Q}||ddd	��}	|	 |¡ W d   ƒ n1 s5w   Y  | j|dd
�}
t|
|ƒ ||ddd
��}	|  |	¡}
W d   ƒ n1 s]w   Y  t|
|ƒ W d   ƒ n1 sqw   Y  qqd S )Nrî   ©ra   r5   ©rû   z
úú0 1 2ú3 4 5rÀ   Úwtz	UTF-32-LE)Úmoder<  ©r<  Úrt)rL   ÚarangeÚreshaper   r*   Úloadfuncr   )r%   ÚfopenrH  ÚwantedÚlinesepÚseprØ   r    rE   r»   Úresr'   r'   r(   Úcheck_compressed�  s&   ÿ
ÿù€ÿþzLoadTxtBase.check_compressedc                 C   ó   |   tjd¡ d S )N)rA  )ru  ÚgziprÚ   ©r%   r'   r'   r(   Útest_compressed_gzip‘  s   z LoadTxtBase.test_compressed_gzipz	Needs bz2ro   c                 C   rv  )N)rB  )ru  Úbz2rÚ   rx  r'   r'   r(   Útest_compressed_bz2”  ó   zLoadTxtBase.test_compressed_bz2z
Needs lzmac                 C   rv  )N)rC  rD  )ru  ÚlzmarÚ   rx  r'   r'   r(   Útest_compressed_lzma˜  r|  z LoadTxtBase.test_compressed_lzmac              	   C   s‚   t ƒ �4}t|dƒ�}| d d¡¡ W d   ƒ n1 sw   Y  | j|dd�}t|g d¢ƒ W d   ƒ d S 1 s:w   Y  d S )NrÕ   z0.
1.
2.úUTF-16rk  )ç        r  r  )r   rÚ   r*   Úencodero  r   )r%   r  r»   rw   r'   r'   r(   Útest_encodingœ  s   ÿ"üzLoadTxtBase.test_encodingc              	   C   sŒ   d  d¡}tƒ �4}t|dƒ�}| | d¡¡ W d   ƒ n1 s!w   Y  | j|dtjd�}t||ƒ W d   ƒ d S 1 s?w   Y  d S )Ns   Ã¶Ã¼Ã¶r8  rÕ   r  rE  )	r8   r   rÚ   r*   r�  ro  rL   r=  r   )r%   Únonasciir  r»   rw   r'   r'   r(   Útest_stringload£  s   
ÿ"üzLoadTxtBase.test_stringloadc                 C   s8   d}| j t|ƒtjdd�}t|t | d¡ ¡ ¡ƒ d S ©Ns   ÿþh  i  jr  )rd   r<  )ro  r   rL   r=  r   re   r8   r1  ©r%   Úutf16r  r'   r'   r(   Útest_binary_decode¬  s   zLoadTxtBase.test_binary_decodec                 C   sT   t ƒ }| d¡ | d¡ | j|tjddd„ id�}t d d¡g¡}t||ƒ d S )Nr7  r   c                 S   ó
   |   d¡S )Nr8  ©r8   ©rw   r'   r'   r(   Ú<lambda>·  ó   
 z4LoadTxtBase.test_converters_decode.<locals>.<lambda>)rd   Ú
convertersr8  )	r   r*   rG   ro  rL   r=  re   r8   r   ©r%   r³   rw   r_   r'   r'   r(   Útest_converters_decode±  s   



ÿz"LoadTxtBase.test_converters_decodec              	   C   s¦   d  d¡}tƒ �A}tj|ddd��}| |¡ W d   ƒ n1 s!w   Y  | j|tjddd„ idd�}t |d	 g¡}t	||ƒ W d   ƒ d S 1 sLw   Y  d S )
Nr7  r8  ri  rk  r   c                 S   s   | d S )NrÓ   r'   r‹  r'   r'   r(   rŒ  Â  s    z6LoadTxtBase.test_converters_nodecode.<locals>.<lambda>©rd   rŽ  r<  rÓ   )
r8   r   ÚiorÚ   r*   ro  rL   r=  re   r   )r%   r>  r  r»   rw   r_   r'   r'   r(   Útest_converters_nodecode»  s   
ÿ

þ"ùz$LoadTxtBase.test_converters_nodecodeN)r0   r1   r2   ru  ry  r�   rŽ   r�   rF  r{  rG  r~  r‚  r„  rˆ  r�  r“  r'   r'   r'   r(   rc  €  s    

	
rc  c                   @   s  e Zd ZeejƒZdd„ Zdd„ Zdd„ Z	dd„ Z
d	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zejjeo;ejjdkdd�dd„ ƒZdd„ Zdd„ Zdd„ Zd d!„ Zd"d#„ Zd$d%„ Zd&d'„ Zd(d)„ Z d*d+„ Z!d,d-„ Z"d.d/„ Z#d0d1„ Z$d2d3„ Z%ejjeo�ejjdkdd�d4d5„ ƒZ&ejjeo“ejjdkdd�d6d7„ ƒZ'd8d9„ Z(d:d;„ Z)d<d=„ Z*d>d?„ Z+d@dA„ Z,dBdC„ Z-dDdE„ Z.dFdG„ Z/dHdI„ Z0ejje1 2¡ dJkdKd�dLdM„ ƒZ3dNdO„ Z4dPdQ„ Z5dRdS„ Z6dTdU„ Z7ej 8dVdWgdXg dY¢fdXg dZ¢fdXe9d[ƒfd\g d]¢fd\g d^¢fd\e9d_ƒfg¡d`da„ ƒZ:dbS )cÚTestLoadTxtc                 C   s   t jjj| _dt jj_d S ©Nr[   )rL   rP   rQ   Ú_loadtxt_chunksizeÚ
orig_chunkrx  r'   r'   r(   Úsetup_methodË  s   zTestLoadTxt.setup_methodc                 C   s   | j tjj_d S r"   )r—  rL   rP   rQ   r–  rx  r'   r'   r(   Úteardown_methodÐ  s   zTestLoadTxt.teardown_methodc                 C   sª   t ƒ }| d¡ | d¡ tj|dtjfdtjfgd�}tjddgdd	gd�}t||ƒ t ƒ }| d
¡ | d¡ dddœ}tjddg|d�}tj||d�}t||ƒ d S )Nú1 2
3 4r   rw   rz   rc   rt   ru   rv   ry   zM 64 75.0
F 25 60.0©ÚgenderÚageÚweight©ÚS1rx   r  ©ÚnamesÚformats©ÚMç      P@ç     ÀR@©ÚFç      9@ç      N@)r   r*   rG   rL   r!  Úint32re   r   )r%   r³   rw   r_   ÚdÚmydescriptorr­   rz   r'   r'   r(   r{   Ó  s&   




ÿÿÿzTestLoadTxt.test_recordc                 C   sˆ   t ƒ }| d¡ | d¡ tj|td�}t ddgddggt¡}t||ƒ | d¡ tj|td�}t ddgddggt¡}t||ƒ d S )Nrš  r   rc   r[   ra   r5   rb   )	r   r*   rG   rL   r!  rg   re   r   rf   r�  r'   r'   r(   rj   å  s   



zTestLoadTxt.test_arrayc                 C   sŠ   t ƒ }| d¡ | d¡ tj|td�}t g d¢t¡}t||ƒ t ƒ }| d¡ | d¡ tj|tdd�}t g d¢t¡}t||ƒ d S )Nú1
2
3
4
r   rc   rm   ú1,2,3,4
r  ©rd   r  ©r   r*   rG   rL   r!  rg   re   r   r�  r'   r'   r(   rn   ó  s   




zTestLoadTxt.test_1Dc                 C   sR   t ƒ }| d¡ | d¡ tj|tdddd„ id�}t g d¢t¡}t||ƒ d S )	Nú	1,2,3,,5
r   r  r5   c                 S   ó   t | pdƒS ©Néüÿÿ©rg   ©r&   r'   r'   r(   rŒ    ó    z*TestLoadTxt.test_missing.<locals>.<lambda>©rd   r  rŽ  ©r[   ra   r5   r¶  rí   r²  r�  r'   r'   r(   Útest_missing  s   



ÿzTestLoadTxt.test_missingc                 C   s\   t ƒ }| d¡ | d¡ tj|tdddd„ idd�}t d	d
gddggt¡}t||ƒ d S )Nú1,2,3,,5
6,7,8,9,10
r   r  r5   c                 S   r´  rµ  r·  r¸  r'   r'   r(   rŒ    r¹  z:TestLoadTxt.test_converters_with_usecols.<locals>.<lambda>©r[   r5   ©rd   r  rŽ  Úusecolsra   r¶  é   é	   r²  r�  r'   r'   r(   Útest_converters_with_usecols  s   



þz(TestLoadTxt.test_converters_with_usecolsc                 C   óJ   t ƒ }| d¡ | d¡ tj|tddd�}t g d¢t¡}t||ƒ d S )Nú# comment
1,2,3,5
r   r  ú#©rd   r  r  ©r[   ra   r5   rí   r²  r�  r'   r'   r(   Útest_comments_unicode  ó   


ÿz!TestLoadTxt.test_comments_unicodec                 C   rÄ  )NrÅ  r   r  ó   #rÇ  rÈ  r²  r�  r'   r'   r(   Útest_comments_byte  rÊ  zTestLoadTxt.test_comments_bytec                 C   sV   t ƒ }| d¡ | d¡ tj|tdg d¢d�}t g d¢g d¢gt¡}t||ƒ d S )Nz,# comment
1,2,3
@ comment2
4,5,6 // comment3r   r  )rÆ  ú@z//rÇ  r¶   r  r²  r�  r'   r'   r(   Útest_comments_multiple'  s   


ÿz"TestLoadTxt.test_comments_multiple)rÁ  r5   é   zPyPy bug in error formattingro   c                 C   sz   t ƒ }| d¡ | d¡ tj|tddd�}t g d¢t¡}t||ƒ t ƒ }| d¡ | d¡ tt	tj|tddd� d S )Nz/* comment
1,2,3,5
r   r  z/*rÇ  rÈ  z*/ comment
1,2,3,5
)
r   r*   rG   rL   r!  rg   re   r   r   r  r�  r'   r'   r(   Útest_comments_multi_chars0  s   


ÿ



ÿz%TestLoadTxt.test_comments_multi_charsc                 C   s�   t ƒ }| d¡ | d¡ tj|tddd�}t g d¢t¡}t||ƒ t ƒ }| d¡ | d¡ tj|tddd�}t g d¢t¡}t||ƒ d S )Núcomment
1,2,3,5
r   r  r[   )rd   r  ÚskiprowsrÈ  rÅ  r²  r�  r'   r'   r(   Útest_skiprowsB  s    


ÿ



ÿzTestLoadTxt.test_skiprowsc              	   C   s~  t  ddgddggt¡}tƒ }t  ||¡ | d¡ t j|tdd�}t||d d …df ƒ t  g d¢g d	¢gt¡}tƒ }t  ||¡ | d¡ t j|td
d�}t||d d …dd …f ƒ | d¡ t j|tt  ddg¡d�}t||d d …dd …f ƒ tt j	t j
t jt jt jt jt jt jf	D ]}|dƒ}| d¡ t j|t|d�}t||d d …df ƒ qŽG dd„ dƒ}|ƒ }| d¡ t j|t|d�}t||d d …df ƒ | d¡ t j|t|fd�}t||d d …df ƒ d}t|ƒ}ddg}	ddg}
t j|dtt|	|
ƒƒd�}t|d ddgƒ t|d ddgƒ | d¡ d}ttdt|ƒj t j||d� ttdt|ƒj t j|d|dgd� d S )Nr[   ra   r5   rb   r   ©r[   ©rd   rÀ  r¶   ©r5   rb   rí   rt   c                   @   r‘   )z*TestLoadTxt.test_usecols.<locals>.CrazyIntc                 S   s   dS r•  r'   rx  r'   r'   r(   Ú	__index__r  s   z4TestLoadTxt.test_usecols.<locals>.CrazyInt.__index__N)r0   r1   r2   r×  r'   r'   r'   r(   ÚCrazyIntq  r–   rØ  z<JOE 70.1 25.3
                BOB 60.5 27.9
                ÚstidÚtempÚS4Úf8©r   ra   ©rÀ  rd   ó   JOEó   BOBçÍÌÌÌÌL9@çfffffæ;@ç      ø?z^usecols must be.*%s©rÀ  )rL   re   rf   r   rþ   rG   r!  r   rg   Úint8Úint16r¬  Úint64r£   Úuint16Úuint32Úuint64r   r4  rë   r   r   Ú	TypeErrorr6   r0   )r%   r_   r³   rw   Úint_typeÚto_readrØ  Ú	crazy_intrØ   r¢  ÚdtypesrN   Ú	bogus_idxr'   r'   r(   Útest_usecolsS  sd   



þ



ý
ýzTestLoadTxt.test_usecolsc                 C   sÊ   t  t¡� tjdgdgdd� W d   ƒ n1 sw   Y  t  ttf¡� tjdgdgdd� W d   ƒ n1 s;w   Y  t jtdd�� tjdgd	d
gdd� W d   ƒ d S 1 s^w   Y  d S )Nz1
l            r  )rÀ  r  l            zQIf a structured dtype .*. But 1 usecols were given and the number of fields is 3.r·   z1,1
zi,(2)ir   )rd   rÀ  r  )r�   r¹   ÚOverflowErrorrL   r!  r  rë  rx  r'   r'   r(   Útest_bad_usecols˜  s   ÿþÿ"ýzTestLoadTxt.test_bad_usecolsc                 C   sj   t ƒ }| d¡ | d¡ t dtfddtfdtfgfg¡}tj||dd�}t d	d
g|¡}t	||ƒ d S )Nú1,2,3.0
4,5,6.0
r   rw   rz   rÓ   r&   r  r±  ©r[   )ra   r  ©rb   )rí   ç      @)
r   r*   rG   rL   rd   rg   rf   r!  re   r   ©r%   r³   r‹   rw   r_   r'   r'   r(   Útest_fancy_dtype£  s   

"zTestLoadTxt.test_fancy_dtypec                 C   óh   t dƒ}t ddtfdtfdtdfg¡}tj||d�}tjdd	d
g d¢g d¢gfg|d�}t||ƒ d S ©Nzaaaa  1.0  8.0  1 2 3 4 5 6©rE   rÛ  rw   rz   Úblockrd  rc   Úaaaar  ç       @r¶   r  ©r   rL   rd   rf   rg   r!  re   r   rø  r'   r'   r(   Útest_shaped_dtype¬  ó   ÿÿzTestLoadTxt.test_shaped_dtypec                 C   sx   t dƒ}t ddtfdtfdtdfg¡}tj||d�}tjdd	d
g d¢g d¢gg d¢g d¢ggfg|d�}t||ƒ d S )Nz*aaaa  1.0  8.0  1 2 3 4 5 6 7 8 9 10 11 12rü  rw   rz   rý  )ra   ra   r5   rc   rþ  r  rÿ  r¶   r  )rÁ  rÏ  rÂ  )é
   é   é   r   rø  r'   r'   r(   Útest_3d_shaped_dtypeµ  s   ÿ
ÿþz TestLoadTxt.test_3d_shaped_dtypec                 C   sF   ddg}t tjfD ]}tjddg|d�}tj||d�}t||ƒ q	d S )NÚstr1Ústr2rc   )ÚstrrL   Úbytes_re   r!  r   )r%   r³   r‹   r_   rw   r'   r'   r(   Útest_str_dtype¿  s   ýzTestLoadTxt.test_str_dtypec                 C   s|   t jtdd��- tƒ }t |¡}t|jdƒ tj|tjd�}t|jdƒ t	|j
tjkƒ W d   ƒ d S 1 s7w   Y  d S )Núinput contained no datar·   ©r   rc   )r�   ÚwarnsrŠ   r   rL   r!  r   r]   rç  r   rd   )r%   r³   rw   r'   r'   r(   Útest_empty_fileÈ  s   
"úzTestLoadTxt.test_empty_filec                 C   sx   t ƒ }| ddg¡ | d¡ tj|dddd„ id�}t|dd	gƒ | d¡ tj|dd
dd„ id�}t|ddgƒ d S )Nz1 21
z3 42
r   rÔ  c                 S   ó
   t | dƒS ©Né   r·  r¸  r'   r'   r(   rŒ  Ö  r�  z3TestLoadTxt.test_unused_converter.<locals>.<lambda>©rÀ  rŽ  é   é*   r[   c                 S   r  r  r·  r¸  r'   r'   r(   rŒ  Û  r�  é!   éB   )r   r.   rG   rL   r!  r   )r%   r³   rØ   r'   r'   r(   Útest_unused_converterÑ  s   

ÿ

ÿz!TestLoadTxt.test_unused_converterc                 C   sr   d}dt fdtfg}dd„ }d|i}tjt|ƒd||d�}tjdtd	ddƒfd
tdddƒfg|d�}t||ƒ d S )Nú0 1; 2001-01-01
                   2; 2002-01-31 ÚidxÚcodec                 S   ó   t |  ¡ dƒS ©Nz%Y-%m-%d©r:   Ústripr¸  r'   r'   r(   rŒ  ã  ó    z4TestLoadTxt.test_dtype_with_object.<locals>.<lambda>r[   ú;©r  rd   rŽ  éÑ  ra   éÒ  é   rc   )rg   rk   rL   r!  r   re   r   r   ©r%   rØ   ÚndtypeÚfuncrŽ  ÚtestÚcontrolr'   r'   r(   Útest_dtype_with_objectÞ  s   ÿþz"TestLoadTxt.test_dtype_with_objectc                 C   ó@   d}t ƒ }| d| ¡ | d¡ tj|tjd�}t||ƒ d S )N)l   +&ì|    l   -(ì|    ú%s %sr   rc   )r   r*   rG   rL   r!  rê  r   ©r%   Útgtr³   rt  r'   r'   r(   Útest_uint64_typeì  ó   
zTestLoadTxt.test_uint64_typec                 C   r,  )N)lûÿÿÿÿÿÿÿ l   ÿÿÿÿ r-  r   rc   )r   r*   rG   rL   r!  rç  r   r.  r'   r'   r(   Útest_int64_typeô  r1  zTestLoadTxt.test_int64_typec                 C   s’   t  ddd¡ t j¡}t  || f¡ t¡}d ttj|ƒ¡}t	ƒ }| 
|¡ tt jfD ]}| d¡ t j||tjdd�}t||d| d	� q,d S )
Niöÿÿÿr  rí   rû   r   r4   r‘  r:  )Úerr_msg)rL   ÚlogspaceÚastypeÚfloat32Úhstackrf   rÐ   ÚmapÚhexr   r*   rG   r!  Úfromhexr   )r%   r/  Úinpr³   r‹   rt  r'   r'   r(   Útest_from_float_hexü  s   


ÿüzTestLoadTxt.test_from_float_hexc                 C   óF   t dƒ}tjtdd�� t |¡ W d  ƒ dS 1 sw   Y  dS )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.
        za b cz2.*convert string 'a' to float64 at row 0, column 1r·   N©r   r�   r¹   r  rL   r!  r  r'   r'   r(   Ú6test_default_float_converter_no_default_hex_conversion
  ó   ÿ"þzBTestLoadTxt.test_default_float_converter_no_default_hex_conversionc                 C   r=  )z›
        Ensure that the exception message raised during failed floating point
        conversion is correct. Regression test related to gh-19598.
        zqrs tuvz)could not convert string 'qrs' to float64r·   Nr>  r  r'   r'   r(   Ú&test_default_float_converter_exception  r@  z2TestLoadTxt.test_default_float_converter_exceptionc                 C   sN   t ddƒt ddƒf}tƒ }| d| ¡ | d¡ tj|t d�}t||ƒ d S )Nr[   éÿÿÿÿr-  r   rc   )r¬   r   r*   rG   rL   r!  r   r.  r'   r'   r(   Útest_from_complex"  s   
zTestLoadTxt.test_from_complexc                 C   sª   t jdt jd�}t j}t j}|d|  |d d …< tƒ }t j||dd� | d¡ | ¡ }| d¡ | 	dd¡}t
||kƒ | |¡ | d¡ t j|td�}t||ƒ d S )	N©ra   ra   rc   r#  z%.16erù   r   s   e+00-s   e00+-)rL   r%  r&  r'  rä   r   rþ   rG   r  Úreplacer   r*   r!  r¬   r   )r%   r_   r+  r,  r³   ÚtxtÚtxt_badrt  r'   r'   r(   Útest_complex_misformatted*  s   



z%TestLoadTxt.test_complex_misformattedc              	   C   s~   t ƒ �'}t|dƒ�}| d¡ W d   ƒ n1 sw   Y  t |¡}W d   ƒ n1 s-w   Y  t|ddgddggƒ d S )Nr5  z
1 213 42r[   r  r5   r  )r   rÚ   r*   rL   r!  r   )r%   rE   r»   rØ   r'   r'   r(   Útest_universal_newline>  s   ÿýz"TestLoadTxt.test_universal_newlinec                 C   sT   t ƒ }| d¡ | d¡ dddœ}tj||dd�}t g d¢¡}t|d	 |ƒ d S )
Nz 1 	2 	3	start 
4	5	6	  
7	8	9.5	r   )rw   rz   r  Úcomment)ú<i4rK  ú<f4ú|S8r¡  ú	r±  )s   start s     ó    rJ  )r   r*   rG   rL   r!  re   r   rø  r'   r'   r(   Útest_empty_field_after_tabE  s   

ÿz&TestLoadTxt.test_empty_field_after_tabc                 C   s˜   t dƒ}dddœ}tj||dd�\}}}t|jjdkƒ t|jjdkƒ t|jjd	kƒ t|t d
dg¡ƒ t|t ddg¡ƒ t|t ddg¡ƒ d S )NúM 21 72
F 35 58©r_   r­   r³   )ú|S1rK  rL  r¡  T©rd   ÚunpackrS  rK  rL  ó   Mó   Fr  é#   ç      R@ç      M@)r   rL   r!  r   rd   r	  r   re   ©r%   rF  r‹   r_   r­   r³   r'   r'   r(   Útest_unpack_structuredO  s   
z"TestLoadTxt.test_unpack_structuredc                 C   s
  t ƒ }| d¡ | d¡ tttj|dd� | d¡ tttj|dd� | d¡ tj|tddd�}t g d	¢g d
¢g¡}t	||ƒ t ƒ }| d¡ | d¡ tj|tddd�}t
|jdkƒ | d¡ tj|tddd�}t
|jdkƒ | d¡ tj|tddd�}t
|jdkƒ t ƒ }| d¡ | d¡ tj|tddd�}t
|jdkƒ | d¡ tj|tddd�}t
|jdkƒ | d¡ tj|tddd�}t
|jdkƒ tjtdd��$ t ƒ }t
tj|dd�jdkƒ t
tj|dd�jdkƒ W d   ƒ d S 1 sþw   Y  d S )Nz1,2,3
4,5,6r   r5   ©Úndminrã  r  r[   )rd   r  r^  r¶   r  z0,1,2ra   r¾  )r5   z0
1
2)r5   r[   r  r·   ©r   r[   r  )r   r*   rG   r   r  rL   r!  rg   re   r   r   r]   r�   r  rŠ   )r%   r³   rw   r_   r­  rä   r»   r'   r'   r(   Útest_ndmin_keywordZ  sJ   












"ýzTestLoadTxt.test_ndmin_keywordc                 C   ó(   dd„ }t  |ƒ ¡}t|t  d¡ƒ d S )Nc                  s   s   � t dƒD ]} d|  V  qd S ©Nr  r|   )r…   ©r€   r'   r'   r(   rò   …  s   €ÿz0TestLoadTxt.test_generator_source.<locals>.countr  )rL   r!  r   rm  ©r%   rò   rt  r'   r'   r(   Útest_generator_source„  s   z!TestLoadTxt.test_generator_sourcec                 C   s.   t ƒ }| d¡ | d¡ ttdtj|ƒ d S )Nz1 2 3
4 5 6
2 3r   Ú3)r   r*   rG   r   r  rL   r!  r  r'   r'   r(   Útest_bad_lineŒ  s   

zTestLoadTxt.test_bad_linec                 C   sH   t ƒ }| d¡ | d¡ t dtfddtfg¡}tj|d|d d� d S )Nz100,foo,200
300,None,400r   rw   )r_   ÚS10rz   r  )r  rd   r  )r   r*   rG   rL   rd   rg   r!  )r%   r³   r‹   r'   r'   r(   Útest_none_as_string”  s
   

zTestLoadTxt.test_none_as_stringzANSI_X3.4-1968zWrong preferred encodingc              	   C   s  d}|  d¡ dd¡ ¡ }tƒ �q}t|dƒ�}| |¡ W d   ƒ n1 s&w   Y  t|dƒ�}tj|dtjd�}W d   ƒ n1 sDw   Y  t	||ƒ t|dƒ�}tj|ddd�}W d   ƒ n1 sfw   Y  g d	¢}t	|tj
|dd
�ƒ W d   ƒ d S 1 s„w   Y  d S )Ns/   5,6,7,Ã•scarscar
15,2,3,hello
20,2,3,Ã•scar
r8  rf  r    rÕ   rÙ   rE  ÚS)s   5,6,7,Ã•scarscars   15,2,3,hellos   20,2,3,Ã•scarrc   )r8   rE  Ú
splitlinesr   rÚ   r*   rL   r!  r=  r   re   )r%   Úbutf8Úsutf8r  r»   rw   r'   r'   r(   Útest_binary_loadœ  s    ÿÿ
ÿ"özTestLoadTxt.test_binary_loadc                 C   rÄ  )Nú1,2,3,5
4,5,7,8
2,1,4,5r   r  r[   ©rd   r  Úmax_rowsrÈ  r²  r�  r'   r'   r(   Útest_max_rows®  rÊ  zTestLoadTxt.test_max_rowsc                 C   sœ   t ƒ }| d¡ | d¡ tj|tdddd�}t g d¢t¡}t||ƒ t ƒ }| d¡ | d¡ tj|tdddd�}t g d¢g d	¢gt¡}t||ƒ d S )
Nz comments
1,2,3,5
4,5,7,8
2,1,4,5r   r  r[   ©rd   r  rÒ  rq  rÈ  úcomment
1,2,3,5
4,5,7,8
2,1,4,5ra   ©rb   rí   rÁ  rÏ  r²  r�  r'   r'   r(   Útest_max_rows_with_skiprows·  s    


ÿ



ÿz'TestLoadTxt.test_max_rows_with_skiprowsc                 C   s|   t ƒ }| d¡ | d¡ tj|tddd�}t g d¢g d¢gt¡}t||ƒ tj|tdd�}t g d	¢t¡}t||ƒ d S )
Nro  r   r  ra   rp  rÈ  ru  r±  ©ra   r[   rb   rí   r²  r�  r'   r'   r(   Ú$test_max_rows_with_read_continuationÈ  s   


ÿ
z0TestLoadTxt.test_max_rows_with_read_continuationc                 C   sZ   t ƒ }| d¡ | d¡ tj|tdddd�}t g d¢g d¢g d	¢gt¡}t||ƒ d S )
Nrt  r   r  r[   rî   rs  rÈ  ru  rw  r²  r�  r'   r'   r(   Útest_max_rows_largerÕ  s   


ÿz TestLoadTxt.test_max_rows_largerÚskiprØ   r[   )zignored
ú1,2
rû   ú3,4
)Úignoredú1,2r    ú3,4zignored
1,2

3,4r   )z-1,0
r{  rû   r|  )z-1,0r~  r    r  z-1,0
1,2

3,4c              	   C   s  t jtdd| › �d��& tj|t|dd| d�}t|ddgdd	gdd
gg|d … ƒ W d   ƒ n1 s5w   Y  t|tƒrD| 	d¡ t
 ¡ �8 t
 dt¡ t  t¡� tj|t|dd| d� W d   ƒ n1 skw   Y  W d   ƒ d S W d   ƒ d S 1 sƒw   Y  d S )NzInput line 3.*max_rows=r5   r·   r  )rd   rÒ  r  rq  rB  r   r[   ra   rb   Úerror)r�   r  rŠ   rL   r!  rg   r   rJ   r   rG   r‡   rˆ   Úsimplefilterr¹   )r%   rz  rØ   rt  r'   r'   r(   Útest_max_rows_empty_linesß  s(   
ÿÿ&ü


ÿÿþ"þz%TestLoadTxt.test_max_rows_empty_linesN);r0   r1   r2   ÚstaticmethodrL   r!  ro  r˜  r™  r{   rj   rn   r¼  rÃ  rÉ  rÌ  rÎ  r�   rŽ   r�   r   rH   ÚimplementationÚversionrÐ  rÓ  rñ  ró  rù  r  r  r  r  r  r+  r0  r2  r<  r?  rA  rC  rH  rI  rP  r\  r`  re  rg  ri  ÚlocaleÚgetpreferredencodingrn  rr  rv  rx  ry  r÷   r   r‚  r'   r'   r'   r(   r”  È  s~    
	
			ÿ
E		
		ÿ

ÿ


*ÿ
	






ø	r”  c                   @   sN   e Zd Zdd„ Zdd„ Zdd„ Zej de	e
g¡dd	„ ƒZd
d„ Zdd„ ZdS )ÚTestfromregexc                 C   óV   t ƒ }| d¡ | d¡ dtjfdg}t |d|¡}tjg d¢|d�}t||ƒ d S )Nz1.312 foo
1.534 bar
4.444 quxr   Únum©ÚvalÚS3z([0-9.]+)\s+(...)))çË¡E¶óýô?r  ©g%�•C‹ø?r	  ©g-²�ï§Æ@Úquxrc   ©r   r*   rG   rL   Úfloat64Ú	fromregexre   r   rø  r'   r'   r(   r{   ù  ó   


ÿzTestfromregex.test_recordc                 C   r‰  )Nú1312 foo
1534 bar
4444 quxr   rŠ  r‹  z(\d+)\s+(...)))é   r  )éþ  r	  )é\  r‘  rc   )r   r*   rG   rL   r¬  r”  re   r   rø  r'   r'   r(   Útest_record_2  r•  zTestfromregex.test_record_2c                 C   sT   t ƒ }| d¡ | d¡ dtjfg}t |d|¡}tjg d¢|d�}t||ƒ d S )Nr–  r   rŠ  z(\d+)\s+...))r—  )r˜  )r™  rc   r’  rø  r'   r'   r(   Útest_record_3  s   

zTestfromregex.test_record_3Ú	path_typec           
   	   C   sê   d}t ƒ �f}||ƒ}t|dƒ�}| d| d ¡ W d   ƒ n1 s#w   Y  dtjfdg}tj|d|dd	�}tjd
d| d¡ fddg|d�}t||ƒ t	 
dt	j¡}	tj||	|dd	�}t||ƒ W d   ƒ d S 1 snw   Y  d S )Nr7  rÕ   s	   1.312 foos    
1.534 bar
4.444 quxrŠ  )rŒ  ÚU4z(?u)([0-9.]+)\s+(\w+)r8  rk  rŽ  r  r�  r�  rc   z([0-9.]+)\s+(\w+))r   rÚ   r*   rL   r“  r”  re   r8   r   r+  ÚcompileÚUNICODE)
r%   rœ  r>  Ústr_pathr  r»   r‹   rw   r_   Úregexpr'   r'   r(   Útest_record_unicode  s$   ÿÿÿ
"óz!Testfromregex.test_record_unicodec                 C   sL   t  d¡}tdƒ}dtjfg}tjg d¢|d�}t |||¡}t||ƒ d S )Nó   (\d)ó   123rŠ  r¶   rc   )r+  rž  r   rL   r“  re   r”  r   )r%   r¡  r³   r‹   r_   rw   r'   r'   r(   Útest_compiled_bytes+  s   
z!Testfromregex.test_compiled_bytesc                 C   sX   t  d¡}tdƒ}tjtdd�� tj||tjd� W d   ƒ d S 1 s%w   Y  d S )Nr£  r¤  zstructured datatyper·   rc   )	r+  rž  r   r�   r¹   rë  rL   r”  r“  )r%   r¡  r³   r'   r'   r(   Útest_bad_dtype_not_structured3  s
   
"ÿz+Testfromregex.test_bad_dtype_not_structuredN)r0   r1   r2   r{   rš  r›  r�   rŽ   r÷   r	  r   r¢  r¥  r¦  r'   r'   r'   r(   rˆ  ø  s    

rˆ  c                   @   sÆ  e Zd ZeejƒZdd„ Zdd„ Zdd„ Z	dd„ Z
d	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ Zd1d2„ Zd3d4„ 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~„ ZEdd€„ 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¥g d¦¢¡d¥e\fd§d¨„ƒZ]d©S )ªÚTestFromTxtc                 C   s†   t dƒ}tj|dtjfdtjfgd�}tjddgddgd�}t||ƒ t d	ƒ}d
ddœ}tjddg|d�}tj||d�}t||ƒ d S )Nrš  rw   rz   rc   rt   ru   rv   ry   zM 64.0 75.0
F 25.0 60.0r›  rŸ  r¡  r¤  r¨  )r   rL   Ú
genfromtxtr¬  re   r   )r%   rØ   r)  r*  Ú
descriptorr'   r'   r(   r{   @  s   
ÿ
ÿzTestFromTxt.test_recordc                 C   sz   t dƒ}tjddgddggtd�}tj|td�}t||ƒ | d¡ tjddgddggtd�}tj|td�}t||ƒ d S )Nrš  r[   ra   r5   rb   rc   r   )	r   rL   re   rg   r¨  r   rG   rf   r!  )r%   rØ   r*  r)  r'   r'   r(   rj   O  s   

zTestFromTxt.test_arrayc                 C   sV   t  g d¢t¡}tdƒ}t j|td�}t||ƒ tdƒ}t j|tdd�}t||ƒ d S )Nrm   r¯  rc   r°  r  r±  )rL   re   rg   r   r¨  r   ©r%   r*  rØ   r)  r'   r'   r(   rn   [  s   
zTestFromTxt.test_1Dc                 C   s\   t  g d¢t¡}tdƒ}t j|tddd�}t||ƒ tdƒ}t j|tddd�}t||ƒ d S )NrÈ  rÅ  r  rÆ  rÇ  z1,2,3,5# comment
)rL   re   rg   r   r¨  r   rª  r'   r'   r(   Útest_commentsg  s   
zTestFromTxt.test_commentsc                 C   sp   t  g d¢t¡}ttdd�}tdƒ}t j|fddi|¤Ž}t||ƒ tdƒ}t j|fddi|¤Ž}t||ƒ d S )	NrÈ  r  r±  rÑ  Úskip_headerr[   rÅ  rÒ  )rL   re   rg   Údictr   r¨  r   r!  )r%   r*  rW   rØ   r)  r'   r'   r(   rÓ  s  s   
zTestFromTxt.test_skiprowsc                 C   sž   dd„ t ddƒD ƒ}| d¡ | dd„ t dƒD ƒ¡ d|d	< td
dddd�}tjtd |¡ƒfi |¤Ž}tjdd„ t dƒD ƒdd„ dD ƒd�}t	||ƒ d S )Nc                 S   s   g | ]}d | ‘qS )z# %ir'   r   r'   r'   r(   r,   �  r-   z0TestFromTxt.test_skip_footer.<locals>.<listcomp>r[   rî   zA, B, Cc                 S   s   g | ]	}d |||f ‘qS )z%i,%3.1f,%03sr'   r   r'   r'   r(   r,   ƒ  s    é3   z99,99rB  r  Trí   r  )r  r¢  r¬  Úskip_footerrû   c                 S   s"   g | ]}d | d | d | f‘qS )rN  r'   r   r'   r'   r(   r,   ‡  s   " é)   c                 S   ó   g | ]}|t f‘qS r'   r~   ©r+   Ú_r'   r'   r(   r,   ˆ  r-   ÚABCrc   )
r…   rÄ   r0  r­  rL   r¨  r   rÐ   re   r   )r%   rØ   rW   r)  Úctrlr'   r'   r(   Útest_skip_footer€  s   
ÿzTestFromTxt.test_skip_footerc              
   C   s<  t ƒ �‘}| t¡ d}tttjt|ƒdd� tjt|ƒddd�}t|t 	ddgddgddgd	d	gg¡ƒ tjt|ƒd
d�}t|t 	ddgddgddgd	d	gg¡ƒ d}tjt|ƒddd�}t|t 	ddgddgd	d	gddgg¡ƒ tjt|ƒd
dd�}t|t 	ddgddgd	d	gg¡ƒ W d   ƒ d S 1 s—w   Y  d S )Nz1 1
2 2
3 3
4 4
5  
6  
7  
r[   )r¯  F)r¯  Úinvalid_raiser  r  r  r  r5   z1 1
2  
3 3
4 4
5  
6 6
7 7
r÷  )
r   rÞ   r   r   r  rL   r¨  r   r   re   )r%   rã   Úbasestrr_   r'   r'   r(   Útest_skip_footer_with_invalid‹  s,   
ÿ
ÿ((
ÿ(
ÿ$"ëz)TestFromTxt.test_skip_footer_with_invalidc                 C   sÌ   t dƒ}tjdd��"}t ddtj¡ tj|d dd�}t|d jtju ƒ W d   ƒ n1 s/w   Y  t 	dd	g¡t 	d
dg¡t 	ddg¡dœ}t
|d |d ƒ t
|d |d ƒ t
|d |d ƒ d S )Nz)gender age weight
M 64.0 75.0
F 25.0 60.0Tr‚   r„   r    ©rd   r¢  r   rV  rW  r¦  rª  r§  r«  r›  rœ  r�  rž  )r   r‡   rˆ   r‰   rL   ÚVisibleDeprecationWarningr¨  r   Úcategoryre   r   ©r%   rØ   r5  r)  r*  r'   r'   r(   Útest_header£  s   ýþzTestFromTxt.test_headerc                 C   sà   t dƒ}tjdd��!}t ddtj¡ tj|d d�}t|d jtju ƒ W d   ƒ n1 s.w   Y  t 	dd	g¡t 	d
dg¡t 	ddg¡t 	ddg¡t 	ddg¡g}t
|jjg d¢ƒ t|ƒD ]\}}t
|d|  |ƒ q`d S )Nz*A 64 75.0 3+4j True
BCD 25 60.0 5+6j FalseTr‚   r„   r    rc   r   ó   As   BCDé@   é   r§  r«  y      @      @y      @      @F)Úf0Úf1Úf2Úf3r  zf%i)r   r‡   rˆ   r‰   rL   r»  r¨  r   r¼  re   r   rd   r¢  r™   )r%   rØ   r5  r)  r*  r€   rµ  r'   r'   r(   Útest_auto_dtype±  s    ýüÿzTestFromTxt.test_auto_dtypec                 C   s:   t dƒ}tj|d d�}t g d¢g d¢g¡}t||ƒ d S )Nz1 2 3 4
5 6 7 8
rc   rm   )rí   rî   rÁ  rÏ  ©r   rL   r¨  re   r   ©r%   rØ   r)  r*  r'   r'   r(   Útest_auto_dtype_uniformÁ  s   z#TestFromTxt.test_auto_dtype_uniformc                 C   sZ   t dƒ}t dtfddtfdtfgfg¡}tj||dd�}tjdd	g|d
�}t||ƒ d S )Nrô  rw   rz   rÓ   r&   r  r±  rõ  rö  rc   )r   rL   rd   rg   rf   r¨  re   r   ©r%   rØ   Ú
fancydtyper)  r*  r'   r'   r(   rù  È  s
   "zTestFromTxt.test_fancy_dtypec                 C   sN   dddœ}t dƒ}d}tj|||d�}||d< tjdd	g|d
�}t||ƒ d S )N)Úgr_   r5  rŸ  r¡  s   M 64.0 75.0
F 25.0 60.0r›  rº  r¢  r¤  r¨  rc   rÇ  )r%   r©  rØ   r¢  r)  r*  r'   r'   r(   Útest_names_overwriteÐ  s   ÿÿÿz TestFromTxt.test_names_overwritec                 C   s>   t jtdd�� t d¡ W d   ƒ d S 1 sw   Y  d S )Nzfname must be a string,r·   é{   )r�   r¹   rë  rL   r¨  rx  r'   r'   r(   Útest_bad_fnameÜ  s   "ÿzTestFromTxt.test_bad_fnamec                 C   s  t dƒ}tjdd��"}t ddtj¡ tj|dd d�}t|d jtju ƒ W d   ƒ n1 s/w   Y  tj	g d¢d	d
t
fdtfgd�}t||ƒ t dƒ}tjdd��"}t ddtj¡ tj|dd d�}t|d jtju ƒ W d   ƒ n1 sxw   Y  t||ƒ d S )NzN
#gender age weight
M   21  72.100000
F   35  58.330000
M   33  21.99
        Tr‚   r„   r    )r¢  rd   r   ))r¥  r  gfffffR@)r©  rX  g
×£p=*M@)r¥  r  g=
×£pý5@)rœ  rS  r�  rž  rc   sO   
# gender age weight
M   21  72.100000
F   35  58.330000
M   33  21.99
        ©r   r‡   rˆ   r‰   rL   r»  r¨  r   r¼  re   rg   rf   r   )r%   rØ   r5  r)  rµ  r'   r'   r(   Útest_commented_headerà  s"   ý
ÿ
ýz!TestFromTxt.test_commented_headerc                 C   sJ   t dƒ}tj|ttfd dd�}tjddgdtfdtfgd�}t||ƒ d S )	Nzcol1 col2
 1 2
 3 4T)rd   r  r¢  rt   ru   Úcol1Úcol2rc   ©r   rL   r¨  rg   re   r   rÈ  r'   r'   r(   Útest_names_and_comments_noneý  s   z(TestFromTxt.test_names_and_comments_nonec              
   C   sà   t ƒ �c}tj |d¡}t|dƒ�}| d ¡ ¡ W d   ƒ n1 s"w   Y  tƒ �$ t 	t
¡� tj|dd� W d   ƒ n1 sBw   Y  W d   ƒ n1 sQw   Y  W d   ƒ d S W d   ƒ d S 1 siw   Y  d S )Nr9  rÕ   õ   Ï–Úasciirk  )r   rS   r  rÐ   rÚ   r*   r�  r   r�   r¹   ÚUnicodeDecodeErrorrL   r¨  )r%   r?  Úfpathr»   r'   r'   r(   Útest_file_is_closed_on_error  s   ÿÿ€ÿù"ùz(TestFromTxt.test_file_is_closed_on_errorc                 C   s”   t dƒ}tjdd��#}t ddtj¡ tj|ddd d�}t|d jtju ƒ W d   ƒ n1 s0w   Y  tj	d	d
dt
fdtfgd�}t||ƒ d S )NúA B C D
 aaaa 121 45 9.1Tr‚   r„   r    ©ÚAÚCÚD)rÀ  r¢  rd   r   )rþ  é-   ç333333"@©rÝ  ú|S4rÞ  rß  rc   rÐ  r½  r'   r'   r(   Útest_autonames_and_usecols  s   ÿüÿz&TestFromTxt.test_autonames_and_usecolsc                 C   sJ   t dƒ}tj|tdddd„ idd�}t dd	gd
dggt¡}t||ƒ d S )Nr½  r  r5   c                 S   r´  rµ  r·  r¸  r'   r'   r(   rŒ  !  r¹  z:TestFromTxt.test_converters_with_usecols.<locals>.<lambda>r¾  r¿  ra   r¶  rÁ  rÂ  rÔ  rÈ  r'   r'   r(   rÃ    s   

þz(TestFromTxt.test_converters_with_usecolsc              	   C   sž   t dƒ}tjdd��(}t ddtj¡ tj|ddd ddd	„ id
�}t|d jtju ƒ W d   ƒ n1 s5w   Y  tj	dddt
fdtfgd�}t||ƒ d S )NrÛ  Tr‚   r„   r    rÜ  rÞ  c                 S   s   dt | ƒ S )Nra   r·  r¸  r'   r'   r(   rŒ  -  r¹  zDTestFromTxt.test_converters_with_usecols_and_names.<locals>.<lambda>)rÀ  r¢  rd   rŽ  r   )rþ  éZ   rá  râ  rß  rc   rÐ  r½  r'   r'   r(   Ú&test_converters_with_usecols_and_names&  s   

þûÿz2TestFromTxt.test_converters_with_usecols_and_namesc                 C   sb   ddd„ i}t dƒ}tj|dd ddg|d�}tjtdd	d
ƒdfdtjfdtfgd�}t||ƒ d S )NÚdatec                 S   r  ©Nz%Y-%m-%d %H:%M:%SZ)r:   r¸  r'   r'   r(   rŒ  6  r�  z9TestFromTxt.test_converters_cornercases.<locals>.<lambda>ú2009-02-03 12:00:00Z, 72214.0r  rÙ  ©r  rd   r¢  rŽ  éÙ  ra   r5   ç    `¡ñ@rc   )r   rL   r¨  re   r   Úobject_rf   r   ©r%   Ú	converterrØ   r)  r*  r'   r'   r(   Útest_converters_cornercases3  s   ÿ
ÿÿz'TestFromTxt.test_converters_cornercasesc                 C   s\   ddd„ i}t dƒ}tj|dd ddg|d�}tjtdd	d
ƒdfddtfgd�}t||ƒ d S )Nrç  c                 S   s   t  t| dƒ¡S rè  )rL   Ú
datetime64r:   r¸  r'   r'   r(   rŒ  A  ó    z:TestFromTxt.test_converters_cornercases2.<locals>.<lambda>ré  r  rÙ  rê  rë  ra   r5   rì  )rç  zdatetime64[us]rc   )r   rL   r¨  re   r   rf   r   rî  r'   r'   r(   Útest_converters_cornercases2>  s   ÿ
ÿ
ÿz(TestFromTxt.test_converters_cornercases2c                 C   sb   t dƒ}tj|dddd„ id�}t|ddgƒ | d¡ tj|dd	d
d„ id�}t|ddgƒ d S )Nz1 21
  3 42
rÔ  r   c                 S   r  r  r·  r¸  r'   r'   r(   rŒ  M  r�  z3TestFromTxt.test_unused_converter.<locals>.<lambda>r  r  r  r[   c                 S   r  r  r·  r¸  r'   r'   r(   rŒ  R  r�  r  r  )r   rL   r¨  r   rG   ©r%   rØ   r)  r'   r'   r(   r  I  s   
ÿ

ÿz!TestFromTxt.test_unused_converterc                 C   sF   dd„ }dd„ }t dƒ}t||dœdd d�}tttj|fi |¤Ž d S )Nc                 S   ó4   t d|  ¡ v r|  ¡ d pd|  ¡ vr|  ¡ pdƒS )Nó   rrB  r€  ©rf   Úlowerr1  r  r‹  r'   r'   r(   rŒ  V  ó    ÿz4TestFromTxt.test_invalid_converter.<locals>.<lambda>c                 S   rõ  )Nó   %r   r€  r÷  r‹  r'   r'   r(   rŒ  X  rù  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.55rd  r  )rŽ  r  rd   )r   r­  r   r
   rL   r¨  )r%   Ú
strip_randÚ	strip_perr&   rW   r'   r'   r(   Útest_invalid_converterU  s   
þz"TestFromTxt.test_invalid_converterc                 C   sH   t dƒ}dd„ }tj|dd|id�}t ddgd	d
gg¡}t||ƒ d S )Nz	q1,2
q3,4c                 S   s   t | dd … ƒS r•  r~   r¸  r'   r'   r(   rŒ  e  rò  z;TestFromTxt.test_tricky_converter_bug1666.<locals>.<lambda>r  r   )r  rŽ  r  r  r  r  rÇ  )r%   r&   Úcnvr)  r*  r'   r'   r(   Útest_tricky_converter_bug1666b  s
   z)TestFromTxt.test_tricky_converter_bug1666c                 C   s|   d}t jt|ƒdtdtid�}t jdgddtfdtfgd	�}t||ƒ t jt|ƒdtdtid�}t  g d
¢¡}t||ƒ d S )Nz2009; 23; 46r!  r   r"  )Ú2009ç      7@é.   )rÂ  rã  rÃ  rÄ  rc   )g     dŸ@r  r  )rL   r¨  r   rf   r7   re   r   )r%   Údstrr)  r*  r'   r'   r(   Útest_dtype_with_convertersj  s   

ÿÿ


ÿz&TestFromTxt.test_dtype_with_convertersc                    sª   d}dddddœ‰ g d¢}t t t ‡ fdd	„d
œ}tjt|ƒ|dd |d�}tjjg d¢|d�}t||ƒ g d¢}tjt|ƒ|ddd |d�}tjjg d¢|d�}t||ƒ d S )Nz!1,5,-1,1:1
2,8,-1,1:n
3,3,-2,m:n
r   r[   ra   r5   )z1:1z1:nzm:1zm:n)©Úe1rx   ©Úe2rx   )Úe3Úi2©r›   Úi1c                    s   ˆ |   ¡  S r"   rŠ  )rr   ©Údmapr'   r(   rŒ  z  r¹  zDTestFromTxt.test_dtype_with_converters_and_usecols.<locals>.<lambda>)r   r[   ra   r5   r  )rd   r  r¢  rŽ  ))r[   rí   rB  r   )ra   rÏ  rB  r[   )r5   r5   éþÿÿÿr5   rc   )r  r  r  )r   r[   r5   )rd   r  rÀ  r¢  rŽ  ))r[   rí   r   )ra   rÏ  r[   )r5   r5   r5   )rg   rL   Ú
recfromcsvr   Úrecre   r   )r%   r  ÚdtypÚconvr)  r*  r'   r  r(   Ú&test_dtype_with_converters_and_usecolsv  s   ÿ
ÿz2TestFromTxt.test_dtype_with_converters_and_usecolsc                 C   s   d}dt fdtfg}dd„ }d|i}tjt|ƒd||d�}tjdtd	ddƒfd
tdddƒfg|d�}t||ƒ ddt fdtfgfg}tt	dƒ� tjt|ƒd||d�}W d   ƒ n1 s]w   Y  dt fdtfdg fg}tt	dƒ� tjt|ƒd||d�}W d   ƒ d S 1 s‰w   Y  d S )Nr  r  r  c                 S   r  r  r  r¸  r'   r'   r(   rŒ  Š  r   z4TestFromTxt.test_dtype_with_object.<locals>.<lambda>r[   r!  r"  r#  ra   r$  r%  rc   ÚnestzNested fields.* not supported.*)
rg   rk   rL   r¨  r   re   r   r   r   ÚNotImplementedErrorr&  r'   r'   r(   r+  …  s8   ÿþ
ÿÿþÿÿ"þz"TestFromTxt.test_dtype_with_objectc                 C   sH   t jtdƒtd�}|d dksJ ‚t jtdƒtd�}|d dks"J ‚d S )NÚ1rc   r'   ó   1Ústrings   string)rL   r¨  r   rk   )r%   Úparsedr'   r'   r(   Ú#test_dtype_with_object_no_converter   s   z/TestFromTxt.test_dtype_with_object_no_converterc                 C   sH   t dƒ}tj|dd tddtid�}tjdgddtfgd	�}t||ƒ d S )
Nzskip,skip,2001-01-01,1.0,skipr  rd  ra   )r  r¢  rd   rÀ  rŽ  )ú
2001-01-01r  )r    ú|S10r    rc   )r   rL   r¨  rf   r7   re   r   rÈ  r'   r'   r(   Ú'test_userconverters_with_explicit_dtype§  s   ÿ
ÿz3TestFromTxt.test_userconverters_with_explicit_dtypec              
   C   sº   d}t ƒ �6}t|dƒ�}| d| d ¡ W d   ƒ n1 sw   Y  tj|dd tddtjjidd	�}W d   ƒ n1 s>w   Y  tjd
| 	d¡ dfgddtfgd�}t
||ƒ d S )Nr7  rÕ   s   skip,skip,2001-01-01s	   ,1.0,skipr  rd  ra   r8  )r  r¢  rd   rÀ  rŽ  r<  r  r  )r    z|U11r    rc   )r   rÚ   r*   rL   r¨  rf   ÚcompatÚunicodere   r8   r   )r%   r>  r  r»   r)  r*  r'   r'   r(   Ú,test_utf8_userconverters_with_explicit_dtype°  s   ÿþý
ÿz8TestFromTxt.test_utf8_userconverters_with_explicit_dtypec                 C   s6   t dƒ}t |¡}t g d¢g d¢g¡}t||ƒ d S )Nz1  2  3  4   5
6  7  8  9  10)r  r  r  r  ç      @)r÷  ç      @rÿ  ç      "@g      $@rÇ  rÈ  r'   r'   r(   Útest_spacedelimiter¼  s   

ÿzTestFromTxt.test_spacedelimiterc                 C   s@   d}t jt|ƒdd�}t  g d¢g d¢g d¢g¡}t||ƒ d S )Nz  1  2  3
  4  5 67
890123  4r5   )r  r¶   )rb   rí   éC   )iz  rÎ  rb   ©rL   r¨  r   re   r   rÈ  r'   r'   r(   Útest_integer_delimiterÄ  s   z"TestFromTxt.test_integer_delimiterc                 C   s@   t dƒ}tj|tdddd„ id�}t g d¢t¡}t||ƒ d S )Nr³  r  r5   c                 S   r´  rµ  r·  r¸  r'   r'   r(   rŒ  Î  r¹  z*TestFromTxt.test_missing.<locals>.<lambda>rº  r»  rÔ  rÈ  r'   r'   r(   r¼  Ë  s   

ÿzTestFromTxt.test_missingc                 C   sh   d}t jt|ƒddd�}t  dt jdt jfdt jdfg¡}t jg d	¢td
�}t|j|ƒ t|j|ƒ d S )Nz1	2	3
	2	
1		3rN  T)r  Úusemaskr¶   ra   r[   r5   )©r   r   r   ©r[   r   r[   ©r   r[   r   rc   )	rL   r¨  r   re   ÚnanÚboolr   rØ   Úmask)r%   rF  r)  Úctrl_dÚctrl_mr'   r'   r(   Útest_missing_with_tabsÒ  s   ÿ"z"TestFromTxt.test_missing_with_tabsc                 C   sú   t  ddgddggt¡}tƒ }t  ||¡ | d¡ t j|tdd�}t||d d …df ƒ t  g d¢g d	¢gt¡}tƒ }t  ||¡ | d¡ t j|td
d�}t||d d …dd …f ƒ | d¡ t j|tt  ddg¡d�}t||d d …dd …f ƒ d S )Nr[   ra   r5   rb   r   rÔ  rÕ  r¶   rÖ  rt   )rL   re   rf   r   rþ   rG   r¨  r   rª  r'   r'   r(   rñ  Ü  s   


zTestFromTxt.test_usecolsc                 C   sB   d}t jt|ƒddd�}t jddgdd„ d	D ƒd
�}t||ƒ d S )Nú1 2 3
4 5 6úa, b, cza, c)r¢  rÀ  r¾  ©rb   rî   c                 S   r±  r'   r~   r²  r'   r'   r(   r,   ö  r-   z3TestFromTxt.test_usecols_as_css.<locals>.<listcomp>Úacrc   r'  ©r%   rØ   r)  rµ  r'   r'   r(   Útest_usecols_as_cssñ  s   
ÿzTestFromTxt.test_usecols_as_cssc                 C   sZ   t dƒ}ddg}ddg}tj|dtt||ƒƒd�}t|d dd	gƒ t|d d
dgƒ d S )NzJOE 70.1 25.3
BOB 60.5 27.9rÙ  rÚ  rÛ  rÜ  rÝ  rÞ  rß  rà  rá  râ  )r   rL   r¨  r4  rë   r   )r%   rØ   r¢  rï  r)  r'   r'   r(   Ú"test_usecols_with_structured_dtypeù  s   ÿz.TestFromTxt.test_usecols_with_structured_dtypec                 C   s*   t jtdƒdd�}t|t  ddg¡ƒ d S )Ns   1 2 3
4 5 6r   rä  r  r  )rL   r¨  r   r   re   )r%   r)  r'   r'   r(   Útest_usecols_with_integer  s   z%TestFromTxt.test_usecols_with_integerc                 C   sx   t jddgdtfdtfgd�}d}tdd�}t jt|ƒfd	d
i|¤Ž}t||ƒ t jt|ƒfd	di|¤Ž}t||ƒ d S )Nr¾  r5  r_   r³   rc   r3  r4  )r¢  rÀ  ©r   rB  )r_   r³   )rL   re   rf   r­  r¨  r   r   )r%   rµ  rØ   rW   r)  r'   r'   r(   Útest_usecols_with_named_columns  s   

ÿÿz+TestFromTxt.test_usecols_with_named_columnsc                 C   sv   t ƒ �.}|jdd� tƒ }t |¡}t|t g ¡ƒ tj|dd�}t|t g ¡ƒ W d   ƒ d S 1 s4w   Y  d S )Nzgenfromtxt: Empty input file:)Úmessager[   )r¬  )r   rÞ   r   rL   r¨  r   re   )r%   rã   rØ   r)  r'   r'   r(   r    s   
"øzTestFromTxt.test_empty_filec                 C   s\   t dƒ}t dtfddtfdtfgfg¡}tj||ddd�}tjd	d
g|d�}t||ƒ d S )Nrô  rw   rz   rÓ   r&   r  T)rd   r  r)  rõ  rö  rc   )	r   rL   rd   rg   rf   r¨  Úmare   r   rÊ  r'   r'   r(   Útest_fancy_dtype_alt  s
   "z TestFromTxt.test_fancy_dtype_altc                 C   rú  rû  )r   rL   rd   rf   rg   r¨  re   r   rø  r'   r'   r(   r  '  r  zTestFromTxt.test_shaped_dtypec                 C   sÊ   t dƒ}tdddd�}tj|fd ddœ|¤Ž}tjddgd	d
gdtfdtfgd�}t||ƒ t|j|jƒ | 	d¡ tj|fddi|¤Ž}tjddgd	d
gdt
fdt
fgd�}t||ƒ t|j|jƒ d S )NúA,B
0,1
2,N/Ar  úN/AT©r  Úmissing_valuesr¢  ©rd   r)  r_  ©ra   rB  ©FF©FTrÝ  ÚB©r/  rd   r   r)  )r   r­  rL   r¨  r>  re   rg   r   r/  rG   rf   ©r%   rØ   rW   r)  r*  r'   r'   r(   Útest_withmissing0  s"   
þ


þ
zTestFromTxt.test_withmissingc                 C   sü   d}t d ddd�}dtfdtfdtfg}tjt|ƒfdd	i|¤Ž}tjg d
¢g d¢|d�}t	||ƒ ||d< tjt|ƒfddddœddœ|¤Ž}tjg d
¢g d¢|d�}t	||ƒ tjt|ƒfddddœddœ|¤Ž}tjg d
¢g d¢|d�}t	||ƒ d S )Nz4A, B, C
0, 0., 0j
1, N/A, 1j
-9, 2.2, N/A
3, -99, 3jr  T)rd   r  r¢  rÝ  rH  rÞ  rC  rA  ))r   r€  y                )r[   r¶  r#  )r\  gš™™™™™@ù       €     8�À)r5   é�ÿÿÿy              @)r*  r,  )r   r   r[   r*  rI  rd   r\  rM  rL  ©r   r[   ra   )rC  r)  )r*  r,  r+  r,  )r   rH  rÞ  )
r­  rg   rf   r¬   rL   r¨  r   r>  re   r   )r%   rØ   Ú
basekwargsÚmdtyper)  r*  r'   r'   r(   Útest_user_missing_valuesB  sB   ÿ
ý
ÿÿ
ý

þý
ýz$TestFromTxt.test_user_missing_valuesc              	   C   s8  t jddgdtfdtfgd�}d}tdtdd	d
ddœddddœd�}t jt|ƒfi |¤Ž}t jddgdd„ dD ƒd�}t||ƒ t jt|ƒfddi|¤Ž}t jddgdd„ dD ƒd�}t||ƒ d}t jt|ƒdtddd�}t  g d¢g d¢g¡}t||ƒ t jt|ƒdtddd�}t  g d¢g d ¢g¡}t||ƒ d S )!N)r   r5   )rb   r¶  r_   r­   rc   zN/A, 2, 3
4, ,???r  za,b,crA  rú   z???)r   r­   ra   r   r¶  )r  rd   r¢  rC  Úfilling_values)r   ra   r5   )rb   r   r¶  c                 S   r±  r'   r·  r²  r'   r'   r(   r,   m  r-   z8TestFromTxt.test_user_filling_values.<locals>.<listcomp>ÚabcrÀ  r;  c                 S   r±  r'   r·  r²  r'   r'   r(   r,   q  r-   r6  z1,2,*,4
5,*,7,8
Ú*)r  rd   rC  rR  )r[   ra   r   rb   )rí   r   rÁ  rÏ  rB  )r[   ra   rB  rb   )rí   rB  rÁ  rÏ  )rL   re   rg   r­  r¨  r   r   )r%   rµ  rØ   rW   r)  Údata2r'   r'   r(   Útest_user_filling_valuesb  s6   

ü
ÿ

ÿ
ÿz$TestFromTxt.test_user_filling_valuesc                 C   s^   t dƒ}tj|d ddddd�}tjddgdd	gd
tfdtfgd�}t||ƒ t|j|jƒ d S )NzA,B
0,1.5
2,-999.00r  z-999.0T)rd   r  rC  r¢  r)  )r   rã  )ra   g      ð¿rF  rG  rÝ  rH  rI  )	r   rL   r¨  r>  re   rg   rf   r   r/  rÈ  r'   r'   r(   Útest_withmissing_float~  s   
ÿ
þ
z"TestFromTxt.test_withmissing_floatc                 C   sN   t dƒ}tj|d ddd�}tjg d¢g d¢gg d¢g d¢gd�}t||ƒ d S )	Nz1 2 3
4 5 6
ú2,5T©rd   rC  r)  r¶   r  r,  )r/  )r   rL   r¨  r>  re   r   rÈ  r'   r'   r(   Útest_with_masked_column_uniformˆ  s   ÿ&z+TestFromTxt.test_with_masked_column_uniformc                 C   sR   t dƒ}tj|d ddd�}tjddgddgdtfd	tfd
tfgd�}t||ƒ d S )NzTrue 2 3
False 5 6
rX  TrY  r¶   )r   rí   rî   r,  rÂ  rÃ  rÄ  rI  )r   rL   r¨  r>  re   r.  rg   r   rÈ  r'   r'   r(   Útest_with_masked_column_various�  s   ÿ
þz+TestFromTxt.test_with_masked_column_variousc                    s²   dgd }t dƒD ]}d|d| < q	| dd¡ td |¡ƒ‰td	d d
d�‰ ‡ ‡fdd„}tt|ƒ}tt|ƒdƒ t|t	j
ddd„ dD ƒd�ƒ ˆ d¡ ttt	jˆd	d
d� d S )Nú1, 1, 1, 1, 1rR  rí   ú2, 2, 2, 2 2r  r   úa, b, c, d, erû   r  T©r  rd   r¢  c                      ó   t jˆfddiˆ ¤ŽS )Nr·  F©rL   r¨  r'   ©rW   Úmdatar'   r(   r»   £  ó   z)TestFromTxt.test_invalid_raise.<locals>.frà  c                 S   r±  r'   r·  r²  r'   r'   r(   r,   §  r-   z2TestFromTxt.test_invalid_raise.<locals>.<listcomp>Úabcderc   ©r  r¢  )r…   Úinsertr   rÐ   r­  r   r   r   ÚlenrL   r†   rG   r   r  r¨  )r%   rØ   r€   r»   Úmtestr'   rb  r(   Útest_invalid_raiseš  s   




ÿzTestFromTxt.test_invalid_raisec                    sü   dgd }t dƒD ]}d|d| < q	| dd¡ td |¡ƒ‰td	d d
dd�‰ ‡ ‡fdd„}tt|ƒ}tt|ƒdƒ t|t	j
ddd„ dD ƒd�ƒ ˆ d¡ t	jˆfddiˆ ¤Ž}tt|ƒdƒ t	j
ddd„ dD ƒd�}d|dd„ t dƒD ƒ< t||ƒ d S )Nr\  rR  rí   r]  r  r   r^  rû   r  TF)r  rd   r¢  r·  c                      r`  )NrÀ  )r   rb   ra  r'   rb  r'   r(   r»   ·  rd  z6TestFromTxt.test_invalid_raise_with_usecols.<locals>.frà  c                 S   r±  r'   r·  r²  r'   r'   r(   r,   »  r-   z?TestFromTxt.test_invalid_raise_with_usecols.<locals>.<listcomp>Úaerc   rÀ  r_  c                 S   r±  r'   r·  r²  r'   r'   r(   r,   À  r-   ÚabrD  c                 S   s   g | ]}d | ‘qS )r  r'   r²  r'   r'   r(   r,   Á  r-   )r…   rg  r   rÐ   r­  r   r   r   rh  rL   r†   rG   r¨  )r%   rØ   r€   r»   ri  r*  r'   rb  r(   Útest_invalid_raise_with_usecols­  s$   
ÿ

z+TestFromTxt.test_invalid_raise_with_usecolsc                 C   sV   dgd }t d |¡ƒ}ddd„ i}td|dd	„ d
D ƒd�}tttj|fi |¤Ž d S )Nz1, 1, 1, 1, -1.1rR  rû   rb   c                 S   s   d|   ¡  S )Nz(%s)rŠ  r‹  r'   r'   r(   rŒ  É  r¹  z5TestFromTxt.test_inconsistent_dtype.<locals>.<lambda>r  c                 S   r±  r'   r·  r²  r'   r'   r(   r,   Ë  r-   z7TestFromTxt.test_inconsistent_dtype.<locals>.<listcomp>re  )r  rŽ  rd   )r   rÐ   r­  r   r  rL   r¨  )r%   rØ   rc  rŽ  rW   r'   r'   r(   Útest_inconsistent_dtypeÄ  s   
ÿz#TestFromTxt.test_inconsistent_dtypec                 C   sL   d}t jt|ƒdd dd�}t jddgdtfdtfd	tfgd
�}t||ƒ d S )Nú0, 1, 2.3
4, 5, 6.7r  úf%02i©r  rd   Ú
defaultfmt©r   r[   çffffff@)rb   rí   çÍÌÌÌÌÌ@Úf00Úf01Úf02rc   )rL   r¨  r   re   rg   rf   r   ©r%   rØ   ri  rµ  r'   r'   r(   Útest_default_field_formatÎ  s   
ÿ
ÿz%TestFromTxt.test_default_field_formatc                 C   sB   d}t jt|ƒdtdd�}t jg d¢g d¢gtd�}t||ƒ d S )Nro  r  rp  rq  ©r€  r  rt  ©r  r"  ru  rc   ©rL   r¨  r   rf   re   r   ry  r'   r'   r(   Útest_single_dtype_wo_names×  s   
ÿz&TestFromTxt.test_single_dtype_wo_namesc                 C   óD   d}t jt|ƒdtdd�}t jddgdd„ d	D ƒd
�}t||ƒ d S )Nro  r  r4  r_  r{  r|  c                 S   r±  r'   r~   r²  r'   r'   r(   r,   å  r-   zBTestFromTxt.test_single_dtype_w_explicit_names.<locals>.<listcomp>rS  rc   r}  ry  r'   r'   r(   Ú"test_single_dtype_w_explicit_namesß  ó   
ÿ
ÿz.TestFromTxt.test_single_dtype_w_explicit_namesc                 C   r  )Nza, b, c
0, 1, 2.3
4, 5, 6.7r  Tr_  r{  r|  c                 S   r±  r'   r~   r²  r'   r'   r(   r,   î  r-   zBTestFromTxt.test_single_dtype_w_implicit_names.<locals>.<listcomp>rS  rc   r}  ry  r'   r'   r(   Ú"test_single_dtype_w_implicit_namesè  r�  z.TestFromTxt.test_single_dtype_w_implicit_namesc                 C   sR   d}t jt|ƒdtttfdd�}t jddgdtfdtfd	tfgd
�}t||ƒ d S )Nro  r  zf_%02irq  )r   r  rt  )rb   r"  ru  Úf_00Úf_01Úf_02rc   ©rL   r¨  r   rg   rf   re   r   ry  r'   r'   r(   Útest_easy_structured_dtypeñ  s   
ÿ
ÿz&TestFromTxt.test_easy_structured_dtypec                 C   s,  d}t dd d�}tjdd��%}t ddtj¡ tjt|ƒfi |¤Ž}t|d j	tju ƒ W d   ƒ n1 s6w   Y  tj
d	gd
dtfdgd�}t||ƒ tjdd��'}t ddtj¡ tjt|ƒfddi|¤Ž}t|d j	tju ƒ W d   ƒ n1 s}w   Y  tj
dgddtfdgd�}t||ƒ d S )Nz01/01/2003  , 1.3,   abcder  )r  rd   Tr‚   r„   r    r   )z01/01/2003  çÍÌÌÌÌÌô?z   abcde)rÂ  z|S12rÃ  )rÄ  rM  rc   Ú	autostrip)z
01/01/2003rˆ  re  )rÂ  r  )rÄ  z|S5)r­  r‡   rˆ   r‰   rL   r»  r¨  r   r   r¼  re   rf   r   )r%   rØ   rW   r5  ri  rµ  r'   r'   r(   Útest_autostripú  s(   ýÿ
ýÿzTestFromTxt.test_autostripc                 C   sÚ   d}t jt|ƒddd d�}dtfdtfdtfg}t jd|d	�}t||ƒ t jt|ƒddd d
d
d�}dtfdtfdtfg}t jd|d	�}t||ƒ t jt|ƒddd d
d�}dtfdtfdtfg}t jd|d	�}t||ƒ d S )NzA.A, B (B), C:C
1, 2, 3.14r  T©r  r¢  rd   ÚAAÚB_BÚCC)r[   ra   g…ëQ¸	@rc   r    ©r  r¢  rd   Úreplace_spaceÚdeletecharsúA.AúB (B)úC:C©r  r¢  rd   r‘  úB_(B)r†  ©r%   rF  r)  Ú
ctrl_dtyperµ  r'   r'   r(   Útest_replace_space  ó*   
ÿ

þ

þzTestFromTxt.test_replace_spacec                 C   sÚ   d}t jt|ƒddtd�}dtfdtfdtfg}t jd|d	�}t||ƒ t jt|ƒddtd
d
d�}dtfdtfdtfg}t jd|d	�}t||ƒ t jt|ƒddtd
d�}dtfdtfdtfg}t jd|d	�}t||ƒ d S )NzA.A, B (B), C:C
1, 2, 3r  Tr‹  rŒ  r�  rŽ  r¶   rc   r    r�  r’  r“  r”  r•  r–  )rL   r¨  r   rg   re   r   r—  r'   r'   r(   Útest_replace_space_known_dtype%  rš  z*TestFromTxt.test_replace_space_known_dtypec                 C   s†   d}t ddd�}tjddgdd„ d	D ƒd
�}tjt|ƒfdd i|¤Ž}t||ƒ tjddgdd„ d	D ƒd
�}tjt|ƒfi |¤Ž}d S )NzA,,C
0,1,2
3,4,5r  Trf  rN  rÖ  c                 S   r±  r'   r·  r²  r'   r'   r(   r,   C  r-   z5TestFromTxt.test_incomplete_names.<locals>.<listcomp>)rÝ  rÂ  rÞ  rc   rd   c                 S   r±  r'   r~   r²  r'   r'   r(   r,   H  r-   )r­  rL   re   r¨  r   r   ©r%   rØ   rW   rµ  r)  r'   r'   r(   Útest_incomplete_names=  s   
ÿ

ÿz!TestFromTxt.test_incomplete_namesc                 C   sP   d}t jt|ƒtttfdd�}t jddgdtfdtfdtfgd�}t||ƒ d S )	Nz1 2 3
 4 5 6r_   rº  r¶   r  rÂ  rÃ  rc   r†  r7  r'   r'   r(   Útest_names_auto_completionK  s   

ÿ
ÿz&TestFromTxt.test_names_auto_completionc                 C   sŠ   d}d}t jt|ƒtttfdddd�}t|jj|ƒ t jt|ƒtttfdddd�}t|jj|ƒ t jt|ƒtdddd�}t|jj|ƒ d S )Nz'A,B,C,D,E
0,1,2,3,4
0,1,2,3,4
0,1,2,3,4)rÝ  rÞ  ÚEr  )r   ra   rb   T)rd   r  rÀ  r¢  )rL   r¨  r   rg   r   rd   r¢  )r%   rØ   Ú
ctrl_namesr)  r'   r'   r(   Útest_names_with_usecols_bug1636T  s"   

þ

þ
þz+TestFromTxt.test_names_with_usecols_bug1636c                 C   s¬   d}t ddd d�}tjddgdtfdtfd	tfgd
�}tjt|ƒfi |¤Ž}t||ƒ t ddd d�}tjddgdtfdtfd	tfgd
�}tjt|ƒfi |¤Ž}t||ƒ d S )Nz-    A    B   C
    0    1 2.3
   45   67   9.)rí   rí   rb   Tr‹  rs  )rà  r&  r$  rÝ  rH  rÞ  rc   rí   )r­  rL   re   rg   rf   r¨  r   r   rœ  r'   r'   r(   Útest_fixed_width_namesg  s   
ÿ

ÿz"TestFromTxt.test_fixed_width_namesc                 C   sV   d}t dd dd�}tjg d¢g d¢g d¢gtd�}tjt|ƒfi |¤Ž}t||ƒ d S )	Ns   1, 2, 3
1, , 5
0, 6, 
r  r¶  )r  rd   rR  r¶   )r[   r¶  rí   )r   rî   r¶  rc   )r­  rL   re   rg   r¨  r   r   rœ  r'   r'   r(   Útest_filling_valuesv  s
    zTestFromTxt.test_filling_valuesc                 C   sì   t jdd��%}t  ddtj¡ tjtdƒd d dd�}t|d jtju ƒ W d   ƒ n1 s.w   Y  t	|d	 d
ƒ t jdd��%}t  ddtj¡ tjtdƒd d dd�}t|d jtju ƒ W d   ƒ n1 shw   Y  t	|d	 dƒ d S )NTr‚   r„   r    ztest1,testNonetherestofthedatar  ©rd   r  r  r   r[   s   testNonetherestofthedataztest1, testNonetherestofthedatas    testNonetherestofthedata)
r‡   rˆ   r‰   rL   r»  r¨  r   r   r¼  r   )r%   r5  r)  r'   r'   r(   Útest_comments_is_none~  s    
ÿü
ÿüz!TestFromTxt.test_comments_is_nonec                 C   sŽ  d}d}d| d }|| | }t jdd��%}t  ddtj¡ tjt|ƒd d d	d
�}t|d jtju ƒ W d   ƒ n1 s>w   Y  t	|d dƒ t	|d d| ƒ t	|d dƒ tjt|ƒd d d	dd�}t	|d dƒ t	|d d| 
d¡ ƒ t	|d dƒ t jdd��'}t  ddtj¡ tjtd| ƒd d d	d
�}t|d jtju ƒ W d   ƒ n1 s°w   Y  t	|d dƒ t	|d d| ƒ d S )Ns   öüöó   norm1,norm2,norm3
ó   test1,testNonetheó   ,test3
Tr‚   r„   r    r  r¤  r   )r[   r   ó   test1)r[   r[   ó   testNonethert   ó   test3r4   ©rd   r  r  r<  Útest1ÚtestNonetheÚtest3ó   0,testNonetherÂ  rÃ  )r‡   rˆ   r‰   rL   r»  r¨  r   r   r¼  r   r8   )r%   r4   ÚnormÚencr&   r5  r)  r'   r'   r(   Útest_latin1�  s<   
ÿü
þÿüzTestFromTxt.test_latin1c                 C   s6   d}| j t|ƒd dd�}t|t | d¡ ¡ ¡ƒ d S r…  )ro  r   r   rL   re   r8   r1  r†  r'   r'   r(   Útest_binary_decode_autodtype©  s   z(TestFromTxt.test_binary_decode_autodtypec                 C   s¶   d}d}d| d }|| | }t jdd��%}t  ddtj¡ tjt|ƒd d d	d
�}t|d jtju ƒ W d   ƒ n1 s>w   Y  t 	g d¢dd| dgg d¢g¡}t
||ƒ d S )Nr7  r¦  r§  r¨  Tr‚   r„   r    r  r¤  r   )s   norm1s   norm2s   norm3r©  rª  r«  )r‡   rˆ   r‰   rL   r»  r¨  r   r   r¼  re   r   )r%   r>  r±  r²  r&   r5  r)  Úctlr'   r'   r(   Útest_utf8_byte_encoding®  s"   
ÿüýz#TestFromTxt.test_utf8_byte_encodingc              	   C   s4  d}t ƒ �‹}t|dƒ�}| d| d d ¡ W d   ƒ n1 s!w   Y  tj|d d ddd�}tjd	d
| d¡ dgd	d
| d¡ dggtjd�}t||ƒ t|dƒ�}| d| ¡ W d   ƒ n1 sfw   Y  tj|d d ddd�}t	|d dƒ t	|d d
| d¡ ƒ W d   ƒ d S 1 s“w   Y  d S )Nr7  rÕ   r§  r¨  ra   r  r8  r¬  r­  r®  r¯  rc   r°  rÂ  r   rÃ  )
r   rÚ   r*   rL   r¨  re   r8   r=  r   r   )r%   r>  r  r»   r)  rµ  r'   r'   r(   Útest_utf8_file¾  s0   ÿ
ÿþý
ÿ
ÿ"ïzTestFromTxt.test_utf8_filec           	   	   C   s\  d}d}zt  ¡ }| |¡ W n ttfy   t d¡ Y nw tƒ ��}t 	|d¡�}| 
d¡ | 
d| d ¡ | 
d| d	 ¡ W d   ƒ n1 sLw   Y  tjd
d��#}t ddtj¡ tj|d d dd�}t|d jtju ƒ W d   ƒ n1 s}w   Y  tjg d¢d|dgdd| dggtjd�}t||ƒ W d   ƒ d S 1 s§w   Y  d S )NrÖ  u   Ã¶Ã¼Ã¶zTSkipping test_utf8_file_nodtype_unicode, unable to encode utf8 in preferred encodingri  znorm1,norm2,norm3
znorm1,z,norm3
ztest1,testNonethez,test3
Tr‚   r„   r    r  r¤  r   )Únorm1Únorm2Únorm3r¸  rº  r­  r®  r¯  rc   )r†  r‡  r�  ÚUnicodeErrorÚImportErrorr�   rz  r   r’  rÚ   r*   r‡   rˆ   r‰   rL   r»  r¨  r   r¼  re   r=  r   )	r%   r>  r4   r<  r  r»   r5  r)  rµ  r'   r'   r(   Útest_utf8_file_nodtype_unicodeÓ  s@   ÿ
ýÿ
ÿúýü"ïz*TestFromTxt.test_utf8_file_nodtype_unicodec                 C   sÐ   t dƒ}tdddd�}tj|fi |¤Ž}tjddgdtfd	tfgd
�}tt|tjƒƒ t	||ƒ t dƒ}tj|fd ddœ|¤Ž}t
jddgddgdtfd	tfgd�}t	||ƒ t	|j|jƒ t	|jddgƒ d S )NúA,B
0,1
2,3r  rA  TrB  r_  rd  rÝ  rH  rc   r@  rD  rE  rF  rG  rI  r   ra   )r   r­  rL   Ú
recfromtxtre   rg   r   rJ   Úrecarrayr   r>  r/  rÝ  rJ  r'   r'   r(   Útest_recfromtxtö  s"   
ÿ

þ
zTestFromTxt.test_recfromtxtc                 C   sÈ  t dƒ}tdddd�}tj|fdd i|¤Ž}tjddgdtfd	tfgd
�}tt|tjƒƒ t	||ƒ t dƒ}tj|fd ddœ|¤Ž}t
jddgddgdtfd	tfgd�}t	||ƒ t	|j|jƒ t	|jddgƒ t dƒ}tj|dd�}tjddgdtfdtfgd
�}tt|tjƒƒ t	||ƒ t dƒ}dtfdtfg}tj|d|d�}tjddg|d
�}tt|tjƒƒ t	||ƒ t dƒ}tj|ddd„ id�}tjddgdtdffgd
�}t	|j|jƒ t	||ƒ d S )Nr¾  rA  T©rC  r¢  Úcase_sensitiverd   r_  rd  rÝ  rH  rc   r@  rD  rE  rF  rG  rI  r   ra   )rC  r_   r­   )rC  rd   zcolor
"red"
"blue"c                 S   r‰  )Nó   ")r  r‹  r'   r'   r(   rŒ  -	  r�  z-TestFromTxt.test_recfromcsv.<locals>.<lambda>)rŽ  )Úred)ÚblueÚcolorrb   )r   r­  rL   r  re   rg   r   rJ   rÀ  r   r>  r/  rÝ  rf   r7   rd   )r%   rØ   rW   r)  r*  rd   r'   r'   r(   Útest_recfromcsv		  sJ   
ÿ

þ

ÿ

ÿ
zTestFromTxt.test_recfromcsvc                 C   sô  d}t |ƒ}tj|dd�}t |¡}t|ddgddgddggƒ t|d	d
gddggƒ tttjt |ƒdd� d}tjt |ƒdd�}t ddgddgg¡}t||ƒ tttjt |ƒddd� tttjt |ƒdd� tƒ �M}| t	¡ tjt |ƒddd�}t ddgddgddgddgg¡}t||ƒ tjt |ƒddd�}t ddgddgddgddgg¡}t||ƒ W d   ƒ n1 s»w   Y  d}t |ƒ}tj|dddd�}tjg d¢ddgd�}t||ƒ tj|d |j
d�}tjddgddgd�}t||ƒ d S ) Nz1 2
3 4
5 6
7 8
9 10
r5   )rq  r[   ra   rb   rí   rî   rÁ  rÏ  rÂ  r  r   z1 1
2 2
0 
3 3
4 4
5  
6  
7  
r  r  )r¯  rq  F)rq  r·  r  r  z"a b
#c d
1 1
2 2
#0 
3 3
4 4
5  5
T)r¬  rq  r¢  ))r  r  )r  r  )r  r  )r³   ú<f8)r­  rÉ  rc   )rq  rd   )r  r  )r"  r"  )r   rL   r¨  r   r   r  re   r   rÞ   r   rd   )r%   rØ   rF  Úa1Úa2r)  r*  rã   r'   r'   r(   rr  2	  sH   

ÿ
"
"÷
ÿ

ÿzTestFromTxt.test_max_rowsc              
   C   sœ   t  d¡ d¡}d}|D ]?}d| d }tƒ �'}t|dƒ�}| |¡ W d   ƒ n1 s-w   Y  t  |¡}W d   ƒ n1 sAw   Y  t||ƒ qd S )Nrî   rd  re  rg  rh  r5  )rL   rm  rn  r   rÚ   r*   r¨  r   )r%   r/  rr  rs  rØ   rE   r»   rt  r'   r'   r(   Útest_gft_using_filenameh	  s   ÿýúz#TestFromTxt.test_gft_using_filenamec           	   
   C   sÞ   t  d¡ d¡}d}|D ]`}d| d }tƒ }tj|dd��}| t|ƒ¡ W d   ƒ n1 s0w   Y  tdd	��*}t	|dƒ�}| |¡ W d   ƒ n1 sPw   Y  t
t  |¡|ƒ W d   ƒ n1 sgw   Y  qd S )
Nrî   rd  re  rg  rh  r5  ©Úfileobjrj  z.gz2rÀ   )rL   rm  rn  r   rw  ÚGzipFiler*   r   r   rÚ   r   r¨  )	r%   rq  rr  rs  rØ   r&   rÌ  rE   r»   r'   r'   r(   Útest_gft_from_gzipv	  s    ÿÿý€úzTestFromTxt.test_gft_from_gzipc                 C   ra  )Nc                  s   s"   � t dƒD ]	} td|  ƒV  qd S rb  )r…   r   rc  r'   r'   r(   rò   ˆ	  s   €ÿz3TestFromTxt.test_gft_using_generator.<locals>.countr  )rL   r¨  r   rm  rd  r'   r'   r(   Útest_gft_using_generator†	  s   z$TestFromTxt.test_gft_using_generatorc                 C   s�   t dƒ}tj|d d�}t|jjg d¢ƒ t|jd tkƒ t|jd tjkƒ t|jd tj	kƒ t
|d dƒ t|d dƒ t|d d	ƒ d S )
Nz%73786976294838206464 17179869184 1024rc   )rÂ  rÃ  rÄ  rÂ  rÃ  rÄ  g      Dl        i   )r   rL   r¨  r   rd   r¢  r   rf   rç  Úint_r   rô  r'   r'   r(   Útest_auto_dtype_largeint�	  s   z$TestFromTxt.test_auto_dtype_largeintc                 C   s^   t dƒ}tj|ddd�\}}}t|t g d¢¡ƒ t|t g d¢¡ƒ t|t g d¢¡ƒ d S )Nz1,2,3
4,5,6
7,8,9
0.0,1.0,2.0r  T)r  rU  )r  r  r#  r€  )r  r"  rÿ  r  )r  r÷  r$  r  )r   rL   r!  r   re   )r%   rF  r_   r­   r³   r'   r'   r(   Útest_unpack_float_data¨	  s
   z"TestFromTxt.test_unpack_float_datac                 C   sž   t dƒ}dddœ}tj||dd�\}}}t|jt d¡ƒ t|jt d¡ƒ t|jt d	¡ƒ t|t d
dg¡ƒ t|t ddg¡ƒ t|t ddg¡ƒ d S )NrQ  rR  rŸ  r¡  TrT  r   rx   r  rV  rW  r  rX  rY  rZ  )r   rL   r¨  r   rd   r   re   r[  r'   r'   r(   r\  ¯	  s   
z"TestFromTxt.test_unpack_structuredc                 C   sr   t dƒ}t ddg¡t ddg¡t ddg¡f}tj|d dd	d
�}t||ƒD ]\}}t||ƒ t|j|jƒ q&d S )NzM 21 72.
F 35 58.r¥  r©  r  rX  rY  rZ  Tzutf-8)rd   rU  r<  )r   rL   re   r¨  rë   r   r   rd   )r%   rF  Úexpectedr)  rN   Úresultr'   r'   r(   Útest_unpack_auto_dtype¼	  s   (
þz"TestFromTxt.test_unpack_auto_dtypec                 C   sR   t dƒ}dddœ}tjddgtjd�}tj||dd	�}t||ƒ t|j|jƒ d S )
Nz21
35r¡   ©rx   r¡  r  rX  rc   TrT  )r   rL   re   r¬  r¨  r   r   rd   ©r%   rF  r‹   rÕ  r)  r'   r'   r(   Útest_unpack_single_nameÆ	  s   

z#TestFromTxt.test_unpack_single_namec                 C   sZ   t dƒ}dddœ}tjdtjd�}tj||dd�}t||ƒ td	|jƒ t|j|jƒ d S )
Nr  r¡   rØ  r¡  rÔ  rc   TrT  r'   )	r   rL   re   r¬  r¨  r   r   r]   rd   rÙ  r'   r'   r(   Útest_squeeze_scalarÐ	  s   

zTestFromTxt.test_squeeze_scalarÚndimrN  c                 C   s6   d}t jt|ƒ|d�}t jt|ƒ|d�}t||ƒ d S )NÚ42r]  )rL   r!  r   r¨  r   )r%   rÜ  rF  r_   r­   r'   r'   r(   r`  Ü	  s   zTestFromTxt.test_ndmin_keywordN)^r0   r1   r2   rƒ  rL   r¨  ro  r{   rj   rn   r«  rÓ  r¶  r¹  r¾  rÆ  rÉ  rù  rÍ  rÏ  rÑ  rÕ  rÚ  rä  rÃ  ræ  rð  ró  r  rý  rÿ  r  r  r+  r  r  r!  r%  r(  r¼  r2  rñ  r8  r9  r:  r<  r  r?  r  rK  rQ  rV  rW  rZ  r[  rj  rm  rn  rz  r~  r€  r‚  r‡  rŠ  r™  r›  r�  rž  r¡  r¢  r£  r¥  r³  r´  r¶  r·  r½  rÁ  rÈ  rr  rÌ  rÐ  rÑ  rÓ  rÔ  r\  r×  rÚ  rÛ  r�   rŽ   r÷   rg   r`  r'   r'   r'   r(   r§  =  s¬    
		

	 


					#)6	

r§  c                   @   sd   e Zd Zdd„ Zdd„ Zdd„ Zejje	dd�d	d
„ ƒZ
dd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚTestPathUsagec                 C   sn   t dd��(}t|ƒ}t ddgddgg¡}t ||¡ t |¡}t||ƒ W d   ƒ d S 1 s0w   Y  d S )Nú.txtrÀ   gš™™™™™ñ?ra   r5   rb   )r   r   rL   re   rþ   r!  r   )r%   r  r_   rw   r'   r'   r(   Útest_loadtxtê	  s   
"ûzTestPathUsage.test_loadtxtc                 C   sp   t dd��)}t|ƒ}t ddgddggt¡}t ||¡ t |¡}t||ƒ W d   ƒ d S 1 s1w   Y  d S )Nr  rÀ   r[   ra   r5   rb   )r   r   rL   re   rg   r“   rM   r   ©r%   r  r_   rØ   r'   r'   r(   Útest_save_loadò	  s   
"ûzTestPathUsage.test_save_loadc                 C   s–   t dd��<}t|ƒ}t ddgddggt¡}t ||¡ tj|dd�}t||ƒ ~tr9t	ƒ  t	ƒ  W d   ƒ d S W d   ƒ d S 1 sDw   Y  d S )	Nr  rÀ   r[   ra   r5   rb   rr   ©rq   )
r   r   rL   re   rg   r“   rM   r   r   r   rá  r'   r'   r(   Útest_save_load_memmapû	  s   
ö"øz#TestPathUsage.test_save_load_memmapzmemmap doesn't work correctlyro   c                 C   s¨   t dd��E}t|ƒ}t ddgddggt¡}t ||¡ tj|dd�}d	|d
 d
< d	|d
 d
< ~tr8tƒ  tƒ  t |¡}t	||ƒ W d   ƒ d S 1 sMw   Y  d S )Nr  rÀ   r[   ra   r5   rb   zr+rã  rí   r   )
r   r   rL   re   rg   r“   rM   r   r   r   )r%   r  r_   r­   rØ   r'   r'   r(   Útest_save_load_memmap_readwrite	
  s   
"ôz-TestPathUsage.test_save_load_memmap_readwritec              	   C   sŽ   t dd��8}t|ƒ}tj|dd� t |¡�}t|d dƒ W d   ƒ n1 s(w   Y  W d   ƒ d S W d   ƒ d S 1 s@w   Y  d S ©Nrž   rÀ   rè   ré   rê   )r   r   rL   r˜   rM   r   ©r%   r  rØ   r'   r'   r(   Útest_savez_load
  s   ÿý"ýzTestPathUsage.test_savez_loadc                 C   sf   t dd��$}t|ƒ}tj|dd� t |¡}t|d dƒ | ¡  W d   ƒ d S 1 s,w   Y  d S ræ  )r   r   rL   Úsavez_compressedrM   r   rK   rç  r'   r'   r(   Útest_savez_compressed_load"
  s   

"ûz(TestPathUsage.test_savez_compressed_loadc                 C   sf   t dd��$}t|ƒ}t ddg¡}t ||¡ t |¡}t||ƒ W d   ƒ d S 1 s,w   Y  d S )Nrß  rÀ   rt   ru   )r   r   rL   re   rþ   r¨  r   rá  r'   r'   r(   Útest_genfromtxt+
  s   
"ûzTestPathUsage.test_genfromtxtc              	   C   sÄ   t dd��S}t|ƒ}| d¡�}| d¡ W d   ƒ n1 sw   Y  tdddd�}tj|fi |¤Ž}tjd	d
gdtfdtfgd�}t	t
|tjƒƒ t||ƒ W d   ƒ d S 1 s[w   Y  d S )Nrß  rÀ   r5  r¾  r  rA  TrB  r_  rd  rÝ  rH  rc   )r   r   rÚ   r*   r­  rL   r¿  re   rg   r   rJ   rÀ  r   ©r%   r  r»   rW   r)  r*  r'   r'   r(   rÁ  3
  s   ÿ
ÿ"özTestPathUsage.test_recfromtxtc              	   C   sÈ   t dd��U}t|ƒ}| d¡�}| d¡ W d   ƒ n1 sw   Y  tdddd�}tj|fdd i|¤Ž}tjd	d
gdtfdtfgd�}t	t
|tjƒƒ t||ƒ W d   ƒ d S 1 s]w   Y  d S )Nrß  rÀ   r5  r¾  rA  TrÂ  rd   r_  rd  rÝ  rH  rc   )r   r   rÚ   r*   r­  rL   r  re   rg   r   rJ   rÀ  r   rì  r'   r'   r(   rÈ  @
  s   ÿ
ÿ"özTestPathUsage.test_recfromcsvN)r0   r1   r2   rà  râ  rä  r�   rŽ   r_  r   rå  rè  rê  rë  rÁ  rÈ  r'   r'   r'   r(   rÞ  è	  s    	
	rÞ  c                  C   s`   t j d¡} tƒ }tj|dd�}t  || ¡ | ¡  | d¡ tj|dd�}tt  	|¡| ƒ d S )N©rí   rí   r5  rÍ  r   rr   )
rL   rÁ   r   rw  rÏ  r“   rK   rG   r   rM   ©r_   r&   r»   r'   r'   r(   Útest_gzip_loadN
  s   
rï  c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )Ú
JustWriterc                 C   ó
   || _ d S r"   ©Úbase©r%   ró  r'   r'   r(   r#   _
  ó   
zJustWriter.__init__c                 C   ó   | j  |¡S r"   )ró  r*   r$   r'   r'   r(   r*   b
  ó   zJustWriter.writec                 C   s
   | j  ¡ S r"   )ró  rF   rx  r'   r'   r(   rF   e
  rõ  zJustWriter.flushN)r0   r1   r2   r#   r*   rF   r'   r'   r'   r(   rð  ^
  s    rð  c                   @   s&   e Zd Zdd„ Zdd„ Zd	dd„ZdS )
Ú
JustReaderc                 C   rñ  r"   rò  rô  r'   r'   r(   r#   i
  rõ  zJustReader.__init__c                 C   rö  r"   )ró  r  )r%   r›   r'   r'   r(   r  l
  r÷  zJustReader.readr   c                 C   s   | j  ||¡S r"   )ró  rG   )r%   ÚoffÚwhencer'   r'   r(   rG   o
  s   zJustReader.seekNr  )r0   r1   r2   r#   r  rG   r'   r'   r'   r(   rø  h
  s    rø  c                  C   sT   t j d¡} tƒ }t|ƒ}t  || ¡ | ¡  | d¡ t|ƒ}tt  	|¡| ƒ d S )Nrí  r   )
rL   rÁ   r   rð  r“   rF   rG   rø  r   rM   rî  r'   r'   r(   Útest_ducktypings
  s   
rû  c               	   C   s¶   t ƒ } tj| dd�}| d¡ | ¡  |  d¡ tdd��)}t|dƒ�}| |  ¡ ¡ W d   ƒ n1 s5w   Y  t	 
|¡}W d   ƒ n1 sIw   Y  |  ¡  t|g d¢ƒ d S )	Nr5  rÍ  ó   1 2 3
r   rA  rÀ   rÕ   r¶   )r   rw  rÏ  r*   rK   rG   r   rÚ   r  rL   r!  r   )r&   rÌ  rE   r»   rt  r'   r'   r(   Útest_gzip_loadtxt‚
  s   

ÿýrý  c                  C   sV   t ƒ } tj| dd�}| d¡ | ¡  |  d¡ tj| dd�}tt |¡g d¢ƒ d S )Nr5  rÍ  rü  r   rr   r¶   )	r   rw  rÏ  r*   rK   rG   r   rL   r!  )r&   r»   r'   r'   r(   Útest_gzip_loadtxt_from_string—
  s   

rþ  c                  C   sÞ   t ƒ } t d¡}t d¡}tj| ||d� |  d¡ t | ¡}td|v ƒ td|v ƒ td| ¡ v ƒ td| ¡ v ƒ | ¡ D ]\}}t|dv ƒ t	|j
dƒ q?tt| ¡ ƒdkƒ |D ]}t|dv ƒ q\td| ¡ v ƒ d S )N)r5   r5   )rw   rz   r   rw   rz   ra   )r   rL   r%  r˜   rG   rM   r   ÚkeysÚitemsr   r]   rh  )r&   rw   rz   r  r»   r_   r'   r'   r(   Útest_npzfile_dict¢
  s"   



r  zPython lacks refcountsro   c                  C   s¶   t ƒ } t | g d¢¡ |  d¡ tƒ � t | ¡ W d   ƒ n1 s#w   Y  |  d¡ ddg}tƒ � tjtdƒ|d�}t|tj	dg|d�ƒ W d   ƒ d S 1 sTw   Y  d S )Nr¶   r   )r_   Úu1ra   )r­   r  ra   z0 1 2 3rc   )r_  rd  )
r   rL   r˜   rG   r   rM   r!  r   r   re   )r»   r‹   rw   r'   r'   r(   Útest_load_refcount½
  s   
ÿ
"þr  c                  C   s†   t ƒ } t | d¡ t | d¡ |  d¡ t | ¡dksJ ‚t | ¡dks&J ‚t t¡� t | ¡ W d   ƒ d S 1 s<w   Y  d S )Nr[   ra   r   )r   rL   r“   rG   rM   r�   r¹   ÚEOFError)r»   r'   r'   r(   Ú#test_load_multiple_arrays_until_eofÏ
  s   
"ÿr  r"   )QrH   rá   rw  rS   rÊ   r9   r‡   r’  r+  r�   Úpathlibr   Útempfiler   r   r   r   r†  Úmultiprocessingr   r   Úctypesr	   ÚnumpyrL   Únumpy.mar>  Únumpy.lib._iotoolsr
   r   Únumpy.compatr   Únumpy.ma.testutilsr   Únumpy.testingr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Únumpy.testing._private.utilsr   r   Úmaxsizerõ   rz  rF  r¼  r}  rG  r:   r<   r’   r—   rø   rc  r”  rˆ  r§  rÞ  rï  rð  rø  rû  rý  rþ  r  rŽ   r�   r  r  r'   r'   r'   r(   Ú<module>   s”    D
ÿÿ
k !  #H    4E         4f

