
    Bwg߭                    :   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 d d	lmZmZ d d
l m!Z! d dl"m#Z#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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6 d dl7m8Z8 d dl9m:Z:  G d de      Z;e jx                  dkD  Z=	 d dl>Z>dZ?	 d dlAZAdZBd6dZC G d d      ZD G d deD      ZE G d deD      ZF G d d      ZG G d d      ZH G d  d!eH      ZI G d" d#      ZJ G d$ d%eH      ZK G d& d'      ZLd( ZM G d) d*      ZN G d+ d,      ZOd- ZPd. ZQd/ ZRd0 ZSej                  j                  e1 d12      d3        ZVd4 ZWd5 ZXy# e@$ r dZ?Y w xY w# e@$ r dZBY w xY w)7    N)Path)NamedTemporaryFile)BytesIOStringIO)datetime)Valueget_context)c_bool)VisibleDeprecationWarning)ConverterErrorConversionWarning)_npyio_impl)
recfromcsv
recfromtxt)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_memory)asbytesc                   $    e Zd ZdZddZd Zd Zy)TextIOzHelper 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                 B    t        j                  | t        |             y N)r   __init__r"   selfss     N/var/www/horilla/myenv/lib/python3.12/site-packages/numpy/lib/tests/test_io.pyr'   zTextIO.__init__,   s    wqz*    c                 B    t        j                  | t        |             y r&   )r   writer"   r(   s     r+   r.   zTextIO.write/   s    dGAJ'r,   c           	      h    t        j                  | |D cg c]  }t        |       c}       y c c}w r&   )r   
writelinesr"   )r)   linesr*   s      r+   r0   zTextIO.writelines2   s$    4e!<'!*!<=!<s   /
N) )__name__
__module____qualname____doc__r'   r.   r0    r,   r+   r$   r$   #   s    +(>r,   r$   l        TFc                     t        |       t        k(  r| j                  d      } t        t	        j
                  | |      dd  S )zY
    This function is available in the datetime module only from Python >=
    2.5.

    latin1N   )typebytesdecoder   timestrptime)r*   fmts     r+   r?   r?   C   s;     Aw%HHXT]]1c*2A.//r,   c                       e Zd Zd Zd Zd Zd Zd Zej                  j                  ej                  dk(  d      d	        Zd
 Zej                  j                  d        Zy)RoundtripTestc                    |j                  di       }|j                  dddi      }|j                  dd      }|rt        d      }|j                  }nt               }|}	 |}	 ||g|	i | |j	                          |j                  d       t        j                  d	k(  r t        |t              s|j                          t        j                  |fi |}
|	| _        |
| _        t        |t              sl|j                          d
t               v rOt        |
t        j                  j                   j"                        s t%        j&                  |j                         yyyy# t        |t              sl|j                          d
t               v rOt        
t        j                  j                   j"                        s t%        j&                  |j                         w w w w xY 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arrrJ   localslibnpyioNpzFileosremove)r)   	save_funcargskwargsrD   rE   rG   target_file	load_filerU   rJ   s              r+   	roundtripzRoundtripTest.roundtripO   s    JJ{B/	JJ{^T,BC	zz.%8,E:K#((I!)K#I	4Ck5C595Q||w&z+w/O!!#779:	:LDH ,Dk73!!#!VX-%lBFFLL4H4HI		+"2"23 J . 4:k73!!#!VX-%lBFFLL4H4HI		+"2"23 J . 4s   !BE$ $A>G"c                    | j                  |       | j                  |d       | j                  t        j                  |             | j                  t        j                  |      d       |j                  d   dkD  rQ| j                  t        j                  |      dd         | j                  t        j                  |      dd  d       y y )NT)rG   r      )ra   rS   asfortranarrayshaper)   as     r+   check_roundtripszRoundtripTest.check_roundtrips   s    qqt,r((+,r((+$?771:>NN2,,Q/34NN2,,Q/3$NG r,   c                    t        j                  g t              }| j                  |       t        j                  ddgddggt              }| j                  |       t        j                  ddgddggt              }| j                  |       t        j                  ddgddggt         j
                  	      }| j                  |       t        j                  ddgddggt         j                  	      }| j                  |       y )
Nrc      r:      y      ?      @y       @      @y      @      @y      @       @dtype)rS   arrayfloatrh   intcsinglecdoublerf   s     r+   
test_arrayzRoundtripTest.test_array   s    HHRa HHq!fq!f%u-a HHq!fq!f%s+a HHvv&(89La HHvv&(89La r,   c                     t        j                  g t              }| j                  |       t        j                  ddgddggt              }| j                  |       y )Nrc   rj   r:   rk   )rS   rn   objectrh   rf   s     r+   test_array_objectzRoundtripTest.test_array_object   sK    HHR a HHq!fq!f%v.a r,   c                 ^    t        j                  g dt              }| j                  |       y )Nrc   rj   r:   rk   )rS   rn   rp   ra   rf   s     r+   test_1DzRoundtripTest.test_1D   s    HH\3'qr,   rI   zFails on Win32reasonc                     t        j                  ddgddgg      }| j                  |dddi       t        j                  ddgddgg      }| j                  |dddi       y )	Nrc   g      @rk   g333333@T	mmap_moder)rG   rE   )rS   rn   ra   rd   rf   s     r+   	test_mmapzRoundtripTest.test_mmap   sh    HHq#hC)*qtS7IJ3x!S23qtS7IJr,   c                 \    t        j                  ddgddg      }| j                  |       y )Nrc   rj   r:   rk   xi4yr   rl   )rS   rn   rh   rf   s     r+   test_recordzRoundtripTest.test_record   s*    HHff%k;-GHa r,   c                 2   t        d      D cg c]  }d|z  dz  t        f }}t        j                  d|      }t	        j
                  d      5  t	        j                  dd	t               | j                  |       d d d        y c c}w # 1 sw Y   y xY w)
N  %dd   i  rl   Trecordalwaysr2   )	rangero   rS   oneswarningscatch_warningsfilterwarningsUserWarningrh   )r)   idtrg   s       r+   test_format_2_0zRoundtripTest.test_format_2_0   s    16s<AqC'<<GGD#$$D1 	%##Hb+>!!!$	% 	% =	% 	%s   B-BBN)r3   r4   r5   ra   rh   rs   rv   ry   pytestmarkskipifrO   rP   r   r   slowr   r7   r,   r+   rB   rB   N   su    .4`H! ! [[/8HIK JK! [[% %r,   rB   c                       e Zd Zd Zy)TestSaveLoadc                    t        j                  | t        j                  g|i | t	        | j
                  d   | j                         t	        | j
                  d   j                  | j                  j                         t	        | j
                  d   j                  j                  | j                  j                  j                         y )Nr   )
rB   ra   rS   saver   rU   rJ   rm   flagsfnc)r)   r]   r^   s      r+   ra   zTestSaveLoad.roundtrip   s    bgg???TXXa[$"3"34TXXa[&&(9(9(?(?@TXXa[&&**D,=,=,C,C,G,GHr,   N)r3   r4   r5   ra   r7   r,   r+   r   r      s    Ir,   r   c                      e Zd Zd Zej
                  j                  ed      ej
                  j                  e d      ej
                  j                  d                      Z
d Zd Zd Zd	 Zej
                  j                  ed
      d        Zd Zej
                  j$                  d        Zd Zej
                  j+                  dg d      d        Zy)TestSavezLoadc                 8   t        j                  | t        j                  g|i | 	 t	        | j
                        D ]w  \  }}| j                  d|z     }t        ||       t        |j                  |j                         t        |j                  j                  |j                  j                         y 	 | j                  j                  rX| j                  j                  j                          t        j                  | j                  j                  j                         y y # | j                  j                  rX| j                  j                  j                          t        j                  | j                  j                  j                         w w xY w)Nzarr_%d)rB   ra   rS   savez	enumeraterU   rJ   r   rm   r   r   fidrR   rZ   r[   rL   )r)   r]   r^   nrU   reloadeds         r+   ra   zTestSavezLoad.roundtrip   s&   bhh@@@
	6#DHH- @3,,X\:S(+SYY7SYY]]HNN,>,>?	@   $$!!%%++-		$++//445 %t  $$!!%%++-		$++//445 %s   BD) )A0FzHangs on PyPyrz   zNeeds 64bit platformc                    d}t        j                  |t         j                        }t        dd      5 }t        j                  ||       ~t        j
                  |      }|d   }|j                          ~d d d        y # 1 sw Y   y xY w)Nl     rl   numpy_test_big_arrays_.npz)prefixsuffixrg   rg   )rS   emptyuint8r   r   rT   rR   )r)   Lrg   tmpnpfiles        r+   test_big_arrayszTestSavezLoad.test_big_arrays   sr     HHQbhh'5fE 	HHSAWWS\FsALLN	 	 	s   ABBc                     t        j                  ddgddggt              }t        j                  ddgddggt              }| j	                  ||       y )	Nrc   rj   r:   rk         ?       @       @      @      @            @      (@)rS   rn   ro   complexra   )r)   rg   bs      r+   test_multiple_arraysz"TestSavezLoad.test_multiple_arrays   sL    HHq!fq!f%u-HHvv&(9:GDq!r,   c                 P   t        j                  ddgddggt              }t        j                  ddgddggt              }t	               }t        j
                  |||	       |j                  d
       t        j                  |      }t        ||d          t        ||d          y Nrc   rj   r:   rk   r   r   r   r   )file_afile_br   r   r   )	rS   rn   ro   r   r   r   rN   rT   r   r)   rg   r   cls        r+   test_named_arrayszTestSavezLoad.test_named_arrays   s    HHq!fq!f%u-HHvv&(9:GDI
1Q'	q	GGAJQ($Q($r,   c                 *   t        j                  g d      }t               }t        j                  ||       |j	                  d       t        j
                  |      }t        j                  t        d      5  |d    d d d        y # 1 sw Y   y xY w)Nrc   rj   r:   r   r   z(1, 2)matchr   )	rS   rn   r   r   rN   rT   r   raisesKeyError)r)   rg   fr   s       r+   test_tuple_getitem_raisesz'TestSavezLoad.test_tuple_getitem_raises   sg    HHYI
a	q	GGAJ]]884 	dG	 	 	s   :B		Bc                    t        j                  ddgddggt              }t        j                  ddgddggt              }t	               }t        j
                  |||	       |j                  d
       t        j                  |      }t        t        t        |j                              ddg       t        ||j                  j                         t        ||j                  j                         y r   )rS   rn   ro   r   r   r   rN   rT   r   sorteddirr   r   r   r   s        r+   test_BagObjzTestSavezLoad.test_BagObj   s    HHq!fq!f%u-HHvv&(9:GDI
1Q'	q	GGAJVCH%':;Q

#Q

#r,   zCannot start threadc                     d }g }t        d      D cg c]  }t        j                  ||f       }}|D ]  }|j                           |D ]  }|j	                           |rt        |      y c c}w )Nc                    t        d      5 }t        j                  j                  dd      }	 t        j                  ||       d d d        y # t
        $ r}| j                  |       Y d }~(d }~ww xY w# 1 sw Y   y xY w)Nr   r   r   )rU   )r   rS   randomrandnr   OSErrorappend)
error_listr   rU   errs       r+   writerz9TestSavezLoad.test_savez_filename_clashes.<locals>.writer  sp    ( +Ciiooc3/+HHSc*+ +  +%%c**+	+ +s.   !A6A	A3A.)A6.A33A66A?r:   targetr]   )r   	threadingThreadstartjoinAssertionError)r)   r   errorsjthreadsts         r+   test_savez_filename_clashesz)TestSavezLoad.test_savez_filename_clashes  s    
	+ !!H& ##6	B & & 	AGGI	 	AFFH	  (( &s   A0c                    t        d      5 }t        |d      5 }t        j                  |d       d d d        t        |dd      5 }|j	                  d       t        |j                          t        j                  |      d	    t        |j                          |j	                  d       t        |j                          d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)
Nr   r   wbLOVELY LOADdatarbi'  r   r   )r   openrS   r   rN   r   closedrT   )r)   r   fps      r+   test_not_closing_opened_fidz)TestSavezLoad.test_not_closing_opened_fid  s     V$ 
	'c4 1B-01c4' '2
BII&F#BII&
BII&'
	' 
	'1 1' '
	' 
	's:   C-CC-A=C!C-C	C-!C*	&C--C6c                    t        d      5 }t        j                  |d       t               5 }|j	                  t
               t        dd      D ]7  }	 t        j                  |      d    	 t        s$t        j                          9 	 d d d        d d d        y # t        $ r}d|z  }t        |      d }~ww xY w# t        rt        j                          w w xY w# 1 sw Y   SxY w# 1 sw Y   y xY w)	Nr   r   r   r   rc   i  r   z#Failed to load data from a file: %s)r   rS   r   r   filterResourceWarningr   rT   	Exceptionr   r   gccollect)r)   r   supr   emsgs         r+   test_closing_fidzTestSavezLoad.test_closing_fid*  s     V$ 	)HHS}- #$ 
)

?+q$ )A)V,
 #JJL)
)	) 	) % 2CaG,S112 #JJL #
) 
)	) 	)sX   "C*%CB.C5CC*	B;	&B6	6B;	;B>>C	CC'	#C**C3c                    d}t        d|      5 }t        j                  |d       t        j                  |      }|j                  j
                  }|j                          t        |j                         d d d        y # 1 sw Y   y xY w)N&numpy_test_closing_zipfile_after_load_r   )r   r   place holderlab)	r   rS   r   rT   zipr   rR   r   r   )r)   r   r   r   r   s        r+   test_closing_zipfile_after_loadz-TestSavezLoad.test_closing_zipfile_after_loadD  sg    
 :VF3 	sHHSn-773<DBJJLBII	 	 	s   A(BB
zcount, expected_repr))rc   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                 D   t        j                  ddgddggt              }t        d      5 }t        j                  |g|g|z    t        j
                  |      }t        |      |j                  |      k(  sJ |j                          d d d        y # 1 sw Y   y xY w)Nrc   rj   r:   rk   r   r   )fname)	rS   rn   ro   r   r   rT   reprformatrR   )r)   countexpected_reprrg   r   r   s         r+   test_repr_lists_keysz"TestSavezLoad.test_repr_lists_keysQ  s     HHq!fq!f%u-V$ 	HHS%A3u9%A7m222====GGI		 	 	s   A BBN)r3   r4   r5   ra   r   r   r   r   IS_64BITr   r   r   r   r   r   r    r   r   	slow_pypyr   r  parametrizer  r7   r,   r+   r   r      s    6 [[8[[H-CD[[	  E 9	
%	$ [[(=>) ?).' [[) )2 [[3 6 r,   r   c                      e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zej                  j                  d
eeg      d        Zd Zd Zd Zd Zd Zd Zd Zej                  j                  deeg      d        Zej                  j9                  ej<                  dk(  d      ej                  j>                   e d      d                      Z!y)TestSaveTxtc                    t        j                  ddgddggt              }d}t               }t        j                  |||       |j                  d       t        |j                         t        |dz   |z   d	z   d
z        t        |dz   |z   d	z   dz        g       t        j                  ddgddggt              }t               }t        j                  ||d       |j                  d       t        |j                         ddg       y )Nrc   rj   r:   rk   z%.18er@   r    
r   r   r      1 2
   3 4
)
rS   rn   ro   r   savetxtrN   r   	readlinesr"   rp   )r)   rg   r@   r   s       r+   rs   zTestSaveTxt.test_arrayb  s    HHq!fq!f%u-I


1aS!	q	Q[[]sSy35?@sSy35?@B	C HHq!fq!f%s+I


1aT"	q	Q[[]Xx$89r,   c                     t        j                  g dt              }t               }t        j                  ||d       |j                  d       |j                         }t        |g d       y )Nrx   r   r  r   )s   1
s   2
s   3
s   4
)rS   rn   rp   r   r  rN   r  r   r)   rg   r   r1   s       r+   ry   zTestSaveTxt.test_1Dr  sJ    HH\3'I


1aT"	q	U<=r,   c           	          t               }t        t        t        j                  |t        j
                  d             t        t        t        j                  |t        j
                  dgdggg             y )Nrc   rj   )r   r   
ValueErrorrS   r  rn   r)   r   s     r+   
test_0D_3DzTestSaveTxt.test_0D_3Dz  sH    Ij"**a!=j"**aQC!:,1GHr,   c                     t        j                  ddgddg      }t               }t        j                  ||d       |j	                  d       t        |j                         d	d
g       y )Nr   r   r   r   rl   r   r  r   r  r  rS   rn   r   r  rN   r   r  r)   rg   r   s      r+   test_structuredzTestSaveTxt.test_structured  sS    HHff%k;-GHI


1aT"	q	Q[[]Xx$89r,   c                     t        j                  ddgg d      }t               }t        j                  ||ddg   d       |j	                  d	       t        |j                         d
dg       y )Nr   rk   r  r  ))foor   )barr   )bazr   rl   r&  r(  r   r  r   s   1 3
s   4 6
r!  r"  s      r+   test_structured_paddedz"TestSaveTxt.test_structured_padded  s^    HHi	* 3
  I


1a'T2	q	Q[[]Xx$89r,   c                 
   t        j                  dg d      }|ddg   }t        d      5 }t        |      }t        j                  ||       t        j
                  |      }t        ||       d d d        y # 1 sw Y   y xY w)Nrc   )r   r   )zf4rl   r   r+  .npyr   )rS   r   r   r   r   rT   r   )r)   rg   vpathr   s        r+   test_multifield_viewz TestSaveTxt.test_multifield_view  sm    GGADEsCjMV$ 	(:DGGD!774=DtQ'		( 	( 	(s   AA99Bc                     t        j                  ddgddgg      }t               }t        j                  ||dd       |j	                  d       t        |j                         d	d
g       y )N      ?       @      @      @,r   )	delimiterr@   r   s   1,2
s   3,4
r!  r"  s      r+   test_delimiterzTestSaveTxt.test_delimiter  sV    HHr2hR)*I


1a3D1	q	Q[[]Xx$89r,   c                 r   t        j                  ddg      }t               }t        j                  ||ddg       |j	                  d       t        |j                         ddg       t               }t        j                  ||d	       |j	                  d       |j                         }t        |d
dg       t               }t        j                  ||d	d       |j	                  d       |j                         }t        |d
dg       t               }t        t        t         j                  ||d       y )Nr   r   z%02dz%3.1fr  r   s   01 2.0
s   03 4.0
z%02d : %3.1fs	   01 : 2.0
s	   03 : 4.0
r6  )r@   r7  c   )	rS   rn   r   r  rN   r   r  r   r  r  s       r+   test_formatzTestSaveTxt.test_format  s    HHff%&I


1afg./	q	Q[[][+$>? I


1a^,	q	U]M:; I


1a^s;	q	U]M:; Ij"**a;r,   c                 B   t               }t        j                  ddgt              }d}t        j                  ||d|       |j                  d       t        |j                         t        d|z   d	z                t               }t        j                  ||d|
       |j                  d       t        |j                         t        d|z   dz                t               }d}t        j                  ||d||       |j                  d       t        |j                         t        ||z   dz   dz                t               }d}t        j                  ||d||       |j                  d       t        |j                         t        d|z   |z   dz                y )Nr   r   rl   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   rS   rn   rp   r  rN   r   readr"   )r)   r   rg   test_header_footer
commentstrs        r+   rA  zTestSaveTxt.test_header_footer  sg    IHHff%S13


1aU+=>	q	QVVXT$66GH	J I


1aU+=>	q	QVVX^.@@4GH	J I



1aU,z	C	q	QVVXZ*<<tClRS	U I



1aU,z	C	q	QVVX\J69KKdRS	Ur,   filename_typec                     t               5 }t        j                  ddg      }t        j                   ||      |       t        j                   ||            }t        ||       d d d        y # 1 sw Y   y xY w)Nr   r   )r   rS   rn   r  loadtxtr   )r)   rC  rL   rg   r   s        r+   test_file_roundtripzTestSaveTxt.test_file_roundtrip  sa    Z 	%4&&)*AJJ}T*A.

=./Aq!$		% 	% 	%s   AA//A8c                    d}d}t        j                  ||ft         j                        }t         j                  }t         j                  }|d|z  z   |d d  t               }t        j                  ||d       |j                  d       |j                         }t        |ddg       t               }t        j                  ||d|z         |j                  d       |j                         }t        |d	d	g       t               }t        j                  ||d
g|z         |j                  d       |j                         }t        |ddg       y )Nrj   rl                 ?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)

rS   zeros
complex128pir   r   r  rN   r  r   r)   ncolsnrowsrg   reimr   r1   s           r+   test_complex_arrayszTestSaveTxt.test_complex_arrays  s)   HHeU^2==9UUTTD2I~! I


1aX&	q	IIK	L I


1a]U23	q	BBD	E I


1an-56	q	??A	Br,   c                 R   d}d}t        j                  ||ft         j                        }t         j                  }t         j                  }|d|z  z
  |d d  t               }t        j                  ||d       |j                  d       |j                         }t        |ddg       y )Nrj   rl   rH  z%.3er  r   s0    (3.142e+00-2.718e+00j)  (3.142e+00-2.718e+00j)
rI  rM  s           r+   test_complex_negative_exponentz*TestSaveTxt.test_complex_negative_exponent
  s    HHeU^2==9UUTTD2I~!I


1aV$	q	AAC	Dr,   c                      G d dt               } |       }t        j                  ddg      }t        j                  ||       t        j                  |      }t        ||       y )Nc                       e Zd Zd Zy)4TestSaveTxt.test_custom_writer.<locals>.CustomWriterc                 D    | j                  |j                  d             y )N   
)extendsplit)r)   texts     r+   r.   z:TestSaveTxt.test_custom_writer.<locals>.CustomWriter.write  s    DJJu-.r,   N)r3   r4   r5   r.   r7   r,   r+   CustomWriterrW    s    /r,   r]  r   r   )listrS   rn   r  rE  r   )r)   r]  wrg   r   s        r+   test_custom_writerzTestSaveTxt.test_custom_writer  sO    	/4 	/ NHHff%&


1aJJqM1a r,   c                     dj                  d      }t        j                  |gt        j                        }t	               5 }t        j
                  t        j                  j                  |d      |dgd       d d d        y # 1 sw Y   y xY w)N   ϖUTF-8rl   test.csv%sr@   encoding)	r=   rS   rn   str_r   r  rZ   r/  r   )r)   utf8rg   tmpdirs       r+   test_unicodezTestSaveTxt.test_unicode(  sj    !!'*HHdV277+Y 	)&JJrww||FJ7 ')	) 	) 	)s   9BBc           	      D   dj                  d      }t        j                  |gt        j                        }ddg}t        r|j                  d       t        r|j                  ddg       t               5 }|D ]  }t        j                  t        j                  j                  |d	|z         |d
gd       t        j                  t        j                  j                  |d	|z         dt        j                        }t        ||        	 d d d        y # 1 sw Y   y xY w)Nrb  rc  rl   r2   .gz.bz2.xz.lzmard  re  z	UTF-16-LErf  rg  rm   )r=   rS   rn   rh  HAS_BZ2r   HAS_LZMArZ  r   r  rZ   r/  r   rE  r   )r)   ri  rg   suffixesrj  r   r   s          r+   test_unicode_roundtripz"TestSaveTxt.test_unicode_roundtrip0  s    !!'*HHdV277+;OOF#OOUG,-Y 	)&" )

277<<
V0CDa $v=JJrww||FJ4GH(3277D"1a()	) 	) 	)s   6BDDc                 4   dj                  d      }t        j                  |gt        j                        }t	               }t        j
                  ||dgd       |j                  d       t        |j                         j                  d      |dz          y Nrb  rc  rl   re  rf  r   r  )	r=   rS   rn   rh  r   r  rN   r   r@  r)   ri  rg   r*   s       r+   test_unicode_bytestreamz#TestSaveTxt.test_unicode_bytestreamA  sk    !!'*HHdV277+I


1adVg6	q	QVVX__W-td{;r,   c                    dj                  d      }t        j                  |gt        j                        }t	               }t        j
                  ||dgd       |j                  d       t        |j                         |dz          y rw  )	r=   rS   rn   rh  r   r  rN   r   r@  rx  s       r+   test_unicode_stringstreamz%TestSaveTxt.test_unicode_stringstreamI  sb    !!'*HHdV277+J


1adVg6	q	QVVXtd{+r,   iotypec                    t        j                  dg      } |       }t        j                  ||d       |j                  d       |t        u rt        |j                         ddz         y t        |j                         ddz         y )Nr2  %fr  r   z%f
s   %f
)rS   rn   r  rN   r   r   r@  )r)   r|  rg   r*   s       r+   test_unicode_and_bytes_fmtz&TestSaveTxt.test_unicode_and_bytes_fmtQ  se     HHbTNH


1aT"	q	X6B;/7R<0r,   rI   zfiles>4GB may not workrz   g   `A)
free_bytesc                 >   d }t        t              }t        d      }|j                  ||f      }|j	                          |j                          |j                  rt        d      |j                  dk(  rt        j                  d       |j                  dk(  sJ y )Nc                    d| _         	 t        j                  t        d      D cg c]@  }t        j                  j                  t        j                  j                  dd      d      B c}t              }t               5 }t        j                  t        j                  j                  |d      |       d d d        y c c}w # 1 sw Y   y xY w# t        $ r	 d	| _          w xY w)
NFi 5 2   r   rk   rl   ztest.npz)	test_dataT)valuerS   asarrayr   r   randrandintru   r   r   rZ   r/  r   MemoryError)memoryerror_raisedr   r  rj  s       r+   check_large_zipz3TestSaveTxt.test_large_zip.<locals>.check_large_zipa  s    ',$ JJ16v(@,- )+		(*		(9(9"S(A!)E (@GMO	 Y 2&HHRWW\\&*='022 2(@2 2  +/"(s;   C AC *C 6C7C  C C
C C C#forkr   z,Child process raised a MemoryError exceptionzCsubprocess got a SIGKILL, apparently free memory was not sufficientr   )r   r
   r	   Processr   r   r  r  exitcoder   xfail)r)   r  r  ctxps        r+   test_large_zipzTestSaveTxt.test_large_zip]  s    	" #6]
 &!KK6H5JKK			##LMM::LL^_zzQr,   N)"r3   r4   r5   rs   ry   r  r#  r)  r0  r8  r;  rA  r   r   r  r   strrF  rR  rT  r`  rk  ru  ry  r{  r   r   r  r   rO   rP   r   r!   r  r7   r,   r+   r  r  a  s    : >I
::(:<4 UD [[_tSk:% ;%$BLD$
!))"<, [[X'':;	1 <	1 [[g-6NO[[$  %  P r,   r  c                       e Zd Zd Zd Zej                  j                  e d      d        Z	ej                  j                  e
 d      d        Zd Zd	 Zd
 Zd Zd Zy)LoadTxtBasec           	         t        j                  d      j                  d      }d}|D ]  }d|z   dz   }|D ]  }t        |      5 } ||dd	      5 }	|	j	                  |       d d d        | j                  |d
      }
t        |
|        ||dd
      5 }	| j                  |	      }
d d d        t        |
|       d d d          y # 1 sw Y   fxY w# 1 sw Y   .xY w# 1 sw Y   xY w)Nr  rj   r:   r  z
0 1 23 4 5r   wtz	UTF-32-LE)moderg  rg  rt)rS   arangereshaper   r.   loadfuncr   )r)   fopenrt  wantedlinesepsepr   r   rL   r   ress              r+   check_compressedzLoadTxtBase.check_compressed  s    1%%f-& 
	4CS=7*D" 4V, 4t$E &&--{-CC&sF3tT[A /Q"mmA./&sF34 44
	4& &/ /4 4s<   C C	#2C C	'C CC CC  C)c                 D    | j                  t        j                  d       y )N)rm  )r  gzipr   r)   s    r+   test_compressed_gzipz LoadTxtBase.test_compressed_gzip  s    dii2r,   z	Needs bz2rz   c                 D    | j                  t        j                  d       y )N)rn  )r  bz2r   r  s    r+   test_compressed_bz2zLoadTxtBase.test_compressed_bz2  s    chh	2r,   z
Needs lzmac                 D    | j                  t        j                  d       y )N)ro  rp  )r  lzmar   r  s    r+   test_compressed_lzmaz LoadTxtBase.test_compressed_lzma  s    dii)9:r,   c                    t               5 }t        |d      5 }|j                  dj                  d             d d d        | j	                  |d      }t        |g d       d d d        y # 1 sw Y   3xY w# 1 sw Y   y xY w)Nr   z0.
1.
2.UTF-16r  )        r2  r3  )r   r   r.   encoder  r   )r)   r/  r   r   s       r+   test_encodingzLoadTxtBase.test_encoding  sw    Z 	04dD! 7Q++H567dX6Aq,/		0 	07 7	0 	0s!   A7!A+)A7+A4	0A77B c                 B   dj                  d      }t               5 }t        |d      5 }|j                  |j	                  d             d d d        | j                  |dt        j                        }t        ||       d d d        y # 1 sw Y   @xY w# 1 sw Y   y xY w)Ns   öüörc  r   r  rq  )	r=   r   r   r.   r  r  rS   rh  r   )r)   nonasciir/  r   r   s        r+   test_stringloadzLoadTxtBase.test_stringload  s    .55g>Z 	,4dD! 3Q123dXRWWEAq(+		, 	,3 3	, 	,s"   B!B	
6B	B	BBc                     d}| j                  t        |      t        j                  d      }t	        |t        j
                  |j                  d      j                                      y Ns   h  i  jr  rm   rg  )r  r   rS   rh  r   rn   r=   r[  r)   utf16r.  s      r+   test_binary_decodezLoadTxtBase.test_binary_decode  sH    4MM'%.(MK1bhhu||H'='C'C'EFGr,   c                 
   t               }|j                  d       |j                  d       | j                  |t        j
                  ddd i      }t	        j                  dj                  d      g      }t        ||       y )Nrb  r   r<   c                 $    | j                  d      S )Nrc  r=   r   s    r+   <lambda>z4LoadTxtBase.test_converters_decode.<locals>.<lambda>  s    188G3D r,   )rm   rg  
convertersrc  )	r$   r.   rN   r  rS   rh  rn   r=   r   r)   r   r   rg   s       r+   test_converters_decodez"LoadTxtBase.test_converters_decode  sm    H		q	MM!277W&')D%E  GHHk((1231a r,   c                 b   dj                  d      }t               5 }t        |dd      5 }|j                  |       d d d        | j	                  |t
        j                  dd id      }t        j                  |dz   g      }t        ||       d d d        y # 1 sw Y   ]xY w# 1 sw Y   y xY w)	Nrb  rc  r  r  r   c                     | dz   S )Nr   r7   r  s    r+   r  z6LoadTxtBase.test_converters_nodecode.<locals>.<lambda>  s
    q3w r,   rm   r  rg  r   )	r=   r   r   r.   r  rS   rh  rn   r   )r)   ri  r/  r   r   rg   s         r+   test_converters_nodecodez$LoadTxtBase.test_converters_nodecode  s    !!'*Z 	%4dD73 qd"''*+->)?'.  0A $*&Aq!$	% 	% 	% 	%s"   B%BAB%B"	B%%B.N)r3   r4   r5   r  r  r   r   r   rr  r  rs  r  r  r  r  r  r  r7   r,   r+   r  r    sz    4 3 [[GK83 93 [[H\:; ;;0,H
!
%r,   r  c                   z   e Zd Z eej
                        Zd Zd Zd Z	d Z
d Zd Zd Zd Zd	 Zd
 Zej$                  j'                  exr ej,                  j.                  dk  d      d        Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%ej$                  j'                  exr ej,                  j.                  dk  d      d        Z&ej$                  j'                  exr ej,                  j.                  dk  d      d        Z'd Z(d Z)d  Z*d! Z+d" Z,d# Z-d$ Z.d% Z/d& Z0ej$                  j'                   e1jd                         d'k(  d(      d)        Z3d* Z4d+ Z5d, Z6d- Z7ej$                  jq                  d.d/gd0g d1fd0g d2fd0 e9d3      fd4g d5fd4g d6fd4 e9d7      fg      d8        Z:y9):TestLoadTxtc                 D    t         j                  | _        dt         _        y Nrc   )r   _loadtxt_chunksize
orig_chunkr  s    r+   setup_methodzTestLoadTxt.setup_method  s    %88)*&r,   c                 .    | j                   t        _        y r&   )r  r   r  r  s    r+   teardown_methodzTestLoadTxt.teardown_method  s    )-&r,   c                    t               }|j                  d       |j                  d       t        j                  |dt        j
                  fdt        j
                  fg      }t        j                  ddgdd	g      }t        ||       t               }|j                  d
       |j                  d       ddd}t        j                  ddg|      }t        j                  ||      }t        ||       y )N1 2
3 4r   r   r   rl   r   r   r   r   zM 64 75.0
F 25 60.0genderageweightS1r   r,  namesformatsM      P@     R@F      9@      N@)r$   r.   rN   rS   rE  int32rn   r   )r)   r   r   rg   dmydescriptorr   r   s           r+   r   zTestLoadTxt.test_record  s    H	
	q	JJq#rxx3/ BCHHff%k;-GH1a H	&'	q	!<#57HH'')0<>JJq-1a r,   c                    t               }|j                  d       |j                  d       t        j                  |t
              }t        j                  ddgddggt
              }t        ||       |j                  d       t        j                  |t              }t        j                  ddgddggt              }t        ||       y )Nr  r   rl   rc   rj   r:   rk   )	r$   r.   rN   rS   rE  rp   rn   r   ro   r  s       r+   rs   zTestLoadTxt.test_array  s    H	
	q	JJq$HHq!fq!f%s+1a 	q	JJq&HHq!fq!f%u-1a r,   c                    t               }|j                  d       |j                  d       t        j                  |t
              }t        j                  g dt
              }t        ||       t               }|j                  d       |j                  d       t        j                  |t
        d      }t        j                  g dt
              }t        ||       y )N1
2
3
4
r   rl   rx   1,2,3,4
r6  rm   r7  r$   r.   rN   rS   rE  rp   rn   r   r  s       r+   ry   zTestLoadTxt.test_1D  s    H		q	JJq$HH\3'1a H		q	JJqs3HH\3'1a r,   c                     t               }|j                  d       |j                  d       t        j                  |t
        ddd i      }t        j                  g dt
              }t        ||       y )N	1,2,3,,5
r   r6  r:   c                      t        | xs d      S Nrp   r*   s    r+   r  z*TestLoadTxt.test_missing.<locals>.<lambda>	      AJ r,   rm   r7  r  rc   rj   r:   r  r  r  r  s       r+   test_missingzTestLoadTxt.test_missing  sY    H		q	JJqs#$&?"@BHH'-1a r,   c                     t               }|j                  d       |j                  d       t        j                  |t
        ddd id      }t        j                  dd	gd
dggt
              }t        ||       y )N1,2,3,,5
6,7,8,9,10
r   r6  r:   c                      t        | xs d      S r  r  r  s    r+   r  z:TestLoadTxt.test_converters_with_usecols.<locals>.<lambda>  r  r,   rc   r:   rm   r7  r  usecolsrj   r     	   r  r  s       r+   test_converters_with_usecolsz(TestLoadTxt.test_converters_with_usecols  sj    H	()	q	JJqs#$&?"@&( HHq$i!Q(#.1a r,   c                     t               }|j                  d       |j                  d       t        j                  |t
        dd      }t        j                  g dt
              }t        ||       y )N# comment
1,2,3,5
r   r6  #rm   r7  r?  rc   rj   r:   r  r  r  s       r+   test_comments_unicodez!TestLoadTxt.test_comments_unicode  sR    H	&'	q	JJqs #%HH\3'1a r,   c                     t               }|j                  d       |j                  d       t        j                  |t
        dd      }t        j                  g dt
              }t        ||       y )Nr  r   r6     #r
  r  r  r  s       r+   test_comments_bytezTestLoadTxt.test_comments_byte   sR    H	&'	q	JJqs $&HH\3'1a r,   c                     t               }|j                  d       |j                  d       t        j                  |t
        dg d      }t        j                  g dg dgt
              }t        ||       y )Nz,# comment
1,2,3
@ comment2
4,5,6 // comment3r   r6  )r	  @z//r
  r   r%  r  r  s       r+   test_comments_multiplez"TestLoadTxt.test_comments_multiple)  sW    H	AB	q	JJqs 02HHi+S11a r,   )r  r:      zPyPy bug in error formattingrz   c                    t               }|j                  d       |j                  d       t        j                  |t
        dd      }t        j                  g dt
              }t        ||       t               }|j                  d       |j                  d       t        t        t        j                  |t
        dd       y )Nz/* comment
1,2,3,5
r   r6  z/*r
  r  z*/ comment
1,2,3,5
)
r$   r.   rN   rS   rE  rp   rn   r   r   r  r  s       r+   test_comments_multi_charsz%TestLoadTxt.test_comments_multi_chars2  s     H	'(	q	JJqs $&HH\3'1a  H	'(	q	j"**asc#	%r,   c                    t               }|j                  d       |j                  d       t        j                  |t
        dd      }t        j                  g dt
              }t        ||       t               }|j                  d       |j                  d       t        j                  |t
        dd      }t        j                  g dt
              }t        ||       y )Ncomment
1,2,3,5
r   r6  rc   )rm   r7  skiprowsr  r  r  r  s       r+   test_skiprowszTestLoadTxt.test_skiprowsD  s    H	$%	q	JJqs !#HH\3'1a H	&'	q	JJqs !#HH\3'1a r,   c           
      B   t        j                  ddgddggt              }t               }t        j                  ||       |j                  d       t        j                  |t        d      }t        ||d d df          t        j                  g dg d	gt              }t               }t        j                  ||       |j                  d       t        j                  |t        d
      }t        ||d d dd f          |j                  d       t        j                  |t        t        j                  ddg            }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 ]J  } |d      }|j                  d       t        j                  |t        |      }t        ||d d df          L  G d d      } |       }|j                  d       t        j                  |t        |      }t        ||d d df          |j                  d       t        j                  |t        |f      }t        ||d d df          d}t#        |      }ddg}	ddg}
t        j                  |dt%        t'        |	|
                  }t)        |d   ddg       t)        |d   ddg       |j                  d       d}t+        t,        dt/        |      j0                  z  t         j                  ||       t+        t,        dt/        |      j0                  z  t         j                  |d|dg       y )Nrc   rj   r:   rk   r   rc   rm   r  r   r:   rk   r  r   c                       e Zd Zd Zy)*TestLoadTxt.test_usecols.<locals>.CrazyIntc                      yr  r7   r  s    r+   	__index__z4TestLoadTxt.test_usecols.<locals>.CrazyInt.__index__t  s    r,   N)r3   r4   r5   r!  r7   r,   r+   CrazyIntr  s  s    r,   r"  z<JOE 70.1 25.3
                BOB 60.5 27.9
                stidtempS4f8r   rj   r  rm      JOE   BOBL9@fffff;@      ?z^usecols must be.*%sr  )rS   rn   ro   r   r  rN   rE  r   rp   int8int16r  int64r   uint16uint32uint64r$   r^  r  r   r   	TypeErrorr;   r3   )r)   rg   r   r   int_typeto_readr"  	crazy_intr   r  dtypesrU   	bogus_idxs                r+   test_usecolszTestLoadTxt.test_usecolsU  s   HHq!fq!f%u-I


1a	q	JJqt41a1g&HHi+U3I


1a	q	JJqv61a12h' 	
q	JJqrxxA/?@1a12h' bggrxx288RXXryyBII/ 	+H qkGFF1I

1E7;Aq!AqD'*	+	 	 J		q	JJqy91a1g&	q	JJq	|<1a1g& 4L jjF$s5&7I2JKS[66"23S[4,/ 	
q		"T)_%=%==JJ9	 	"T)_%=%==JJAy!#4	r,   c                    t        j                  t              5  t        j                  dgdgd       d d d        t        j                  t
        t        f      5  t        j                  dgdgd       d d d        t        j                  t        d      5  t        j                  dgd	d
gd       d d d        y # 1 sw Y   xY w# 1 sw Y   UxY w# 1 sw Y   y xY w)Nz1
l            r6  )r  r7  l            zQIf a structured dtype .*. But 1 usecols were given and the number of fields is 3.r   z1,1
zi,2ir   )rm   r  r7  )r   r   OverflowErrorrS   rE  r  r5  r  s    r+   test_bad_usecolszTestLoadTxt.test_bad_usecols  s    ]]=) 	@JJw3?	@]]J67 	@JJw3?	@ ]]934 	L JJysK	L 	L	@ 	@	@ 	@	L 	Ls#   B?CC?CCC c                 .   t               }|j                  d       |j                  d       t        j                  dt
        fddt
        fdt        fgfg      }t        j                  ||d      }t        j                  d	d
g|      }t        ||       y )N1,2,3.0
4,5,6.0
r   r   r   r   r*   r6  r  rc   )rj   r4  rk   )r        @)
r$   r.   rN   rS   rm   rp   ro   rE  rn   r   r)   r   r   r   rg   s        r+   test_fancy_dtypezTestLoadTxt.test_fancy_dtype  s{    H	$%	q	XXSzC3*sEl)C#DEFJJqc2HHm]3R81a r,   c                     t        d      }t        j                  ddt        fdt        fdt        dfg      }t        j
                  ||      }t        j                  dd	d
g dg dgfg|      }t        ||       y Nzaaaa  1.0  8.0  1 2 3 4 5 6rL   r%  r   r   blockr  rl   aaaar2         @r   r%  r$   rS   rm   ro   rp   rE  rn   r   rD  s        r+   test_shaped_dtypezTestLoadTxt.test_shaped_dtype  sv    01XX~U|c5\f-/ 0JJq#HHvsC)Y)?@A1a r,   c           	         t        d      }t        j                  ddt        fdt        fdt        dfg      }t        j
                  ||      }t        j                  dd	d
g dg dgg dg dggfg|      }t        ||       y )Nz*aaaa  1.0  8.0  1 2 3 4 5 6 7 8 9 10 11 12rH  r   r   rI  )rj   rj   r:   rl   rJ  r2  rK  r   r%  )r  r  r  )
         rL  rD  s        r+   test_3d_shaped_dtypez TestLoadTxt.test_3d_shaped_dtype  s    ?@XX~U|c5\i02 3JJq#HHvsC"I.L0IJL M 	1a r,   c                     ddg}t         t        j                  fD ]>  }t        j                  ddg|      }t        j                  ||      }t        ||       @ y )Nstr1str2rl   )r  rS   bytes_rn   rE  r   )r)   r   r   rg   r   s        r+   test_str_dtypezTestLoadTxt.test_str_dtype  sS    V		" 	%B&&)4A

1B'Aq!$	%r,   c                    t        j                  t        d      5  t               }t	        j
                  |      }t        |j                  d       t	        j
                  |t        j                        }t        |j                  d       t        |j                  t        j                  k(         d d d        y # 1 sw Y   y xY w)Ninput contained no datar   r   rl   )r   warnsr   r$   rS   rE  r   re   r1  r   rm   )r)   r   r   s      r+   test_empty_filezTestLoadTxt.test_empty_file  s    \\+-FG 	)A

1A$'

1BHH-A$'AGGrxx'(	) 	) 	)s   BB<<Cc                 &   t               }|j                  ddg       |j                  d       t        j                  |ddd i      }t        |ddg       |j                  d       t        j                  |dd	d
 i      }t        |ddg       y )Nz1 21
z3 42
r   r  c                     t        | d      S N   r  r  s    r+   r  z3TestLoadTxt.test_unused_converter.<locals>.<lambda>      3q": r,   r  r     *   rc   c                     t        | d      S r_  r  r  s    r+   r  z3TestLoadTxt.test_unused_converter.<locals>.<lambda>  ra  r,   !   B   )r$   r0   rN   rS   rE  r   )r)   r   r   s      r+   test_unused_converterz!TestLoadTxt.test_unused_converter  s    H	h)*	q	zz!T&')=%>@4"b*	q	zz!T&')=%>@4"b*r,   c           	          d}dt         fdt        fg}d }d|i}t        j                  t	        |      d||      }t        j
                  dt        ddd      fd	t        d
dd      fg|      }t        ||       y )N0 1; 2001-01-01
                   2; 2002-01-31 idxcodec                 6    t        | j                         d      S Nz%Y-%m-%dr?   stripr  s    r+   r  z4TestLoadTxt.test_dtype_with_object.<locals>.<lambda>      !'')Z8 r,   rc   ;r7  rm   r    rj        rl   )rp   ru   rS   rE  r$   rn   r   r   r)   r   ndtypefuncr  testcontrols          r+   test_dtype_with_objectz"TestLoadTxt.test_dtype_with_object  s    %#, 018Y
zz&,#V%/1(($1%&HT1b,A(BC 	T7#r,   c                     d}t               }|j                  d|z         |j                  d       t        j                  |t        j
                        }t        ||       y )N)l   +&|    l   -(|    %s %sr   rl   )r$   r.   rN   rS   rE  r4  r   r)   tgtr   r  s       r+   test_uint64_typezTestLoadTxt.test_uint64_type  sG    8H	#	q	jj")),S#r,   c                     d}t               }|j                  d|z         |j                  d       t        j                  |t        j
                        }t        ||       y )N)l l    r~  r   rl   )r$   r.   rN   rS   rE  r1  r   r  s       r+   test_int64_typezTestLoadTxt.test_int64_type  sG    9H	#	q	jj"((+S#r,   c                    t        j                  ddd      j                  t         j                        }t        j                  || f      j                  t
              }dj                  t        t
        j                  |            }t               }|j                  |       t
        t         j                  fD ]K  }|j                  d       t        j                  ||t
        j                  d      }t        ||d|z  	       M y )
NirO  r  r  r   r9   r  re  )err_msg)rS   logspaceastypefloat32hstackro   r   maphexr$   r.   rN   rE  fromhexr   )r)   r  inpr   r   r  s         r+   test_from_float_hexzTestLoadTxt.test_from_float_hex  s     kk#r1%,,RZZ8iisd$++E2iiEIIs+,H	"**% 	6BFF1I**JCc4"95		6r,   c                     t        d      }t        j                  t        d      5  t	        j
                  |       ddd       y# 1 sw Y   yxY w)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  rS   rE  r  s     r+   6test_default_float_converter_no_default_hex_conversionzBTestLoadTxt.test_default_float_converter_no_default_hex_conversion  s?     7O]]:JL 	JJqM	 	 	   AAc                     t        d      }t        j                  t        d      5  t	        j
                  |       ddd       y# 1 sw Y   yxY w)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  s     r+   &test_default_float_converter_exceptionz2TestLoadTxt.test_default_float_converter_exception  s@     9]]:AC 	JJqM	 	 	r  c                     t        dd      t        dd      f}t               }|j                  d|z         |j                  d       t	        j
                  |t               }t        ||       y )Nrc   r~  r   rl   )r   r$   r.   rN   rS   rE  r   r  s       r+   test_from_complexzTestLoadTxt.test_from_complex$  sT    q!}gan-H	#	q	jj'*S#r,   c                    t        j                  dt         j                        }t         j                  }t         j                  }|d|z  z
  |d d  t               }t        j                  ||d       |j                  d       |j                         }|j                  d       |j                  dd      }t        ||k7         |j                  |       |j                  d       t        j                  |t              }t        ||       y )	Nrj   rj   rl   rH  z%.16er  r   s   e+00-s   e00+-)rS   rJ  rK  rL  r   r   r  rN   r@  replacer   r.   rE  r   r   )r)   rg   rP  rQ  r   txttxt_badr  s           r+   test_complex_misformattedz%TestLoadTxt.test_complex_misformatted,  s     HHV2==1UUTTD2I~!I


1aW%	q	ffh	q	++h13		q	jj'*S!r,   c                     t               5 }t        |d      5 }|j                  d       d d d        t        j                  |      }d d d        t        ddgddgg       y # 1 sw Y   9xY w# 1 sw Y   (xY w)Nr_  z
1 213 42rc   rc  r:   rd  )r   r   r.   rS   rE  r   )r)   rL   r   r   s       r+   test_universal_newlinez"TestLoadTxt.test_universal_newline@  sq    Z 	$4dC (A'(::d#D	$ 	41b'Ar7!34( (	$ 	$s!   A.A"A."A+	'A..A7c                     t               }|j                  d       |j                  d       ddd}t        j                  ||d      }t        j
                  g d      }t        |d	   |       y )
Nz 1 	2 	3	start 
4	5	6	  
7	8	9.5	r   )r   r   r+  comment)<i4r  <f4|S8r  	r  )s   start s     r,   r  )r$   r.   rN   rS   rE  rn   r   rD  s        r+   test_empty_field_after_tabz&TestLoadTxt.test_empty_field_after_tabG  s]    H	=>	q	157JJqd3HH,-1Y<+r,   c                    t        d      }ddd}t        j                  ||d      \  }}}t        |j                  j
                  dk(         t        |j                  j
                  dk(         t        |j                  j
                  d	k(         t        |t        j                  d
dg             t        |t        j                  ddg             t        |t        j                  ddg             y )NM 21 72
F 35 58rg   r   r   )|S1r  r  r  Trm   unpackr  r  r     M   Frc  #         R@      M@)r$   rS   rE  r   rm   r  r   rn   r)   r  r   rg   r   r   s         r+   test_unpack_structuredz"TestLoadTxt.test_unpack_structuredQ  s    '(&3HI**S481au$%u$%u$%1bhhd|451bhhBx011bhhc{34r,   c                    t               }|j                  d       |j                  d       t        t        t
        j                  |d       |j                  d       t        t        t
        j                  |d       |j                  d       t        j                  |t        dd      }t        j                  g d	g d
g      }t        ||       t               }|j                  d       |j                  d       t        j                  |t        dd      }t        |j                  dk(         |j                  d       t        j                  |t        dd      }t        |j                  dk(         |j                  d       t        j                  |t        dd      }t        |j                  dk(         t               }|j                  d       |j                  d       t        j                  |t        dd      }t        |j                  dk(         |j                  d       t        j                  |t        dd      }t        |j                  dk(         |j                  d       t        j                  |t        dd      }t        |j                  dk(         t        j                  t        d      5  t               }t        t        j                  |d      j                  dk(         t        t        j                  |d      j                  dk(         d d d        y # 1 sw Y   y xY w)Nz1,2,3
4,5,6r   r:   ndminr-  r6  rc   )rm   r7  r  r   r%  z0,1,2rj   r  )r:   z0
1
2)r:   rc   rY  r   r   rc   rZ  )r$   r.   rN   r   r  rS   rE  rp   rn   r   r   re   r   r[  r   )r)   r   r   rg   r  r   r   s          r+   test_ndmin_keywordzTestLoadTxt.test_ndmin_keyword\  s6   H		q	j"**aq9	q	j"**as;	q	JJqs!<HHi+,1a H		q	JJqs!<6!"	q	JJqs!<4 	q	JJqs!<4 H			q	JJqs!<6!"	q	JJqs!<4 	q	JJqs!<4  \\+-FG 	:ABJJq*00G;<BJJq*00D89	: 	: 	:s   
A%L88Mc                 |    d }t        j                   |             }t        |t        j                  d             y )Nc               3   :   K   t        d      D ]	  } d| z    y wNrO  r   )r   r   s    r+   r
  z0TestLoadTxt.test_generator_source.<locals>.count  s"     2Y Qhs   rO  )rS   rE  r   r  r)   r
  r  s      r+   test_generator_sourcez!TestLoadTxt.test_generator_source  s+    	 jj!3		".r,   c                     t               }|j                  d       |j                  d       t        t        dt
        j                  |       y )Nz1 2 3
4 5 6
2 3r   3)r$   r.   rN   r   r  rS   rE  r  s     r+   test_bad_linezTestLoadTxt.test_bad_line  s5    H	#$	q	 	JRZZ;r,   c                     t               }|j                  d       |j                  d       t        j                  dt
        fddt
        fg      }t        j                  |d|d        y )Nz100,foo,200
300,None,400r   r   )rg   S10r   r6  )r7  rm   r?  )r$   r.   rN   rS   rm   rp   rE  )r)   r   r   s      r+   test_none_as_stringzTestLoadTxt.test_none_as_string  sP    H	+,	q	XXSz<#s<=


12=r,   zANSI_X3.4-1968zWrong preferred encodingc                 j   d}|j                  d      j                  dd      j                         }t               5 }t	        |d      5 }|j                  |       d d d        t	        |d      5 }t        j                  |dt        j                        }d d d        t        |       t	        |d      5 }t        j                  |dd      }d d d        g d	}t        |t        j                  |d
             d d d        y # 1 sw Y   xY w# 1 sw Y   |xY w# 1 sw Y   OxY w# 1 sw Y   y xY w)Ns/   5,6,7,Õscarscar
15,2,3,hello
20,2,3,Õscar
rc  r  r2   r   r   rq  S)s   5,6,7,Õscarscars   15,2,3,hellos   20,2,3,Õscarrl   )r=   r  
splitlinesr   r   r.   rS   rE  rh  r   rn   )r)   butf8sutf8r/  r   r   s         r+   test_binary_loadzTestLoadTxt.test_binary_load  s   +W%--dB7BBDZ 
	:4dD! QdD! CQJJq7"''BCq%(dD! ?QJJq7#>?TAq"((1C"89
	: 
	: C C? ?
	: 
	:sS   D)	DD)/'D D)6D-D)D	
D)D	D)D&	"D))D2c                     t               }|j                  d       |j                  d       t        j                  |t
        dd      }t        j                  g dt
              }t        ||       y )N1,2,3,5
4,5,7,8
2,1,4,5r   r6  rc   rm   r7  max_rowsr  r  r  s       r+   test_max_rowszTestLoadTxt.test_max_rows  sR    H	+,	q	JJqs !#HH\3'1a r,   c                    t               }|j                  d       |j                  d       t        j                  |t
        ddd      }t        j                  g dt
              }t        ||       t               }|j                  d       |j                  d       t        j                  |t
        ddd      }t        j                  g dg d	gt
              }t        ||       y )
Nz comments
1,2,3,5
4,5,7,8
2,1,4,5r   r6  rc   rm   r7  r  r  r  comment
1,2,3,5
4,5,7,8
2,1,4,5rj   rk   r  r  r  r  r  s       r+   test_max_rows_with_skiprowsz'TestLoadTxt.test_max_rows_with_skiprows  s    H	56	q	JJqs !A/HH\3'1a H	45	q	JJqs !A/HHlL1371a r,   c                 v   t               }|j                  d       |j                  d       t        j                  |t
        dd      }t        j                  g dg dgt
              }t        ||       t        j                  |t
        d      }t        j                  g d	t
              }t        ||       y )
Nr  r   r6  rj   r  r  r  r  rj   rc   rk   r  r  r  s       r+   $test_max_rows_with_read_continuationz0TestLoadTxt.test_max_rows_with_read_continuation  s    H	+,	q	JJqs !#HHlL1371a JJqs3HHY$1a r,   c                     t               }|j                  d       |j                  d       t        j                  |t
        ddd      }t        j                  g dg dg d	gt
              }t        ||       y )
Nr  r   r6  rc   r  r  r  r  r  r  r  s       r+   test_max_rows_largerz TestLoadTxt.test_max_rows_larger  s[    H	45	q	JJqs !A/HHlL,?E1a r,   skipr   rc   )zignored
1,2
r  3,4
)ignored1,2r2   3,4zignored
1,2

3,4r   )z-1,0
r  r  r  )z-1,0r  r2   r  z-1,0
1,2

3,4c           
      H   t        j                  t        dd|z
         5  t        j                  |t
        |dd|z
        }t        |ddgdd	gdd
gg|d         d d d        t        |t              r|j                  d       t        j                         5  t        j                  dt               t        j                  t              5  t        j                  |t
        |dd|z
         d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)NzInput line 3.*max_rows=r:   r   r6  )rm   r  r7  r  r  r   rc   rj   rk   error)r   r[  r   rS   rE  rp   r   rQ   r   rN   r   r   simplefilterr   )r)   r  r   r  s       r+   test_max_rows_empty_linesz%TestLoadTxt.test_max_rows_empty_lines  s    \\+3AdF8<> 	F**Tts&'f.Csb!Wq!fq!f$=de$DE		F dH%IIaL$$& 	,!!';7{+ ,

4sTS$%dF,,	, 	,	F 	F, ,	, 	,s/   :D 4D"D/D D	D	DD!N);r3   r4   r5   staticmethodrS   rE  r  r  r  r   rs   ry   r  r  r  r  r  r   r   r   r   rO   implementationversionr  r  r;  r>  rE  rM  rR  rW  r\  rh  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  localegetpreferredencodingr  r  r  r  r  r  r   r  r7   r,   r+   r  r    s?   BJJ'H+
9!$!!!!!!! [[KC$6$6$>$>)$K=  ?%?% !"CJ	L!!!%)+$6 [[KC$6$6$>$>)$K=  ?? [[KC$6$6$>$>)$K=  ??(5,	5(:T/<> [[33359II9  ;:;: !!"!! [[ff-56-../023*++,-0/ 0,0,r,   r  c                   r    e Zd Zd Zd Zd Zej                  j                  de	e
g      d        Zd Zd Zy)	Testfromregexc                     t               }|j                  d       |j                  d       dt        j                  fdg}t        j
                  |d|      }t        j                  g d|      }t        ||       y )Nz1.312 foo
1.534 bar
4.444 quxr   numvalS3z([0-9.]+)\s+(...)))ˡE?r&  g%C?r'  g-@quxrl   r$   r.   rN   rS   float64	fromregexrn   r   rD  s        r+   r   zTestfromregex.test_record  se    H	12	q	bjj!=1LL0"5HHE1a r,   c                     t               }|j                  d       |j                  d       dt        j                  fdg}t        j
                  |d|      }t        j                  g d|      }t        ||       y )N1312 foo
1534 bar
4444 quxr   r  r  z(\d+)\s+(...)))   r&  )  r'  )\  r  rl   )r$   r.   rN   rS   r  r  rn   r   rD  s        r+   test_record_2zTestfromregex.test_record_2  se    H	./	q	bhh/LL,b1HHB1a r,   c                     t               }|j                  d       |j                  d       dt        j                  fg}t        j
                  |d|      }t        j                  g d|      }t        ||       y )Nr  r   r  z(\d+)\s+...))r  )r  )r  rl   r  rD  s        r+   test_record_3zTestfromregex.test_record_3  s_    H	./	q	bjj!"LLNB/HH0;1a r,   	path_typec                 &   d}t               5 } ||      }t        |d      5 }|j                  d|z   dz          d d d        dt        j                  fdg}t        j
                  |d|d	      }t        j                  d
d|j                  d      z   fddg|      }t        ||       t        j                  dt        j                        }	t        j
                  ||	|d	      }t        ||       d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nrb  r   s	   1.312 foos    
1.534 bar
4.444 quxr  )r  U4z(?u)([0-9.]+)\s+(\w+)rc  r  r  r&  r  r  rl   z([0-9.]+)\s+(\w+))r   r   r.   rS   r  r  rn   r=   r   rP  compileUNICODE)
r)   r  ri  str_pathr/  r   r   r   rg   regexps
             r+   test_record_unicodez!Testfromregex.test_record_unicode  s   Z 	%8X&DdD! JQt+.HHIJ "**%}5BT#;R'RA5%$++g*>">?)+246Aq!$ZZ 4bjjAFT62@Aq!$	% 	%J J	% 	%s"   DC;B8D;D	 DDc                     t        j                  d      }t        d      }dt        j                  fg}t        j
                  g d|      }t        j                  |||      }t        ||       y )N   (\d)   123r  r   rl   )rP  r  r   rS   r  rn   r  r   )r)   r  r   r   rg   r   s         r+   test_compiled_bytesz!Testfromregex.test_compiled_bytes-  sV    H%FObjj!"HHYb)LLFB'1a r,   c                     t        j                  d      }t        d      }t        j                  t
        d      5  t        j                  ||t        j                         d d d        y # 1 sw Y   y xY w)Nr  r	  zstructured datatyper   rl   )	rP  r  r   r   r   r5  rS   r  r  )r)   r  r   s      r+   test_bad_dtype_not_structuredz+Testfromregex.test_bad_dtype_not_structured5  sQ    H%FO]]9,AB 	6LLF"**5	6 	6 	6s   'A,,A5N)r3   r4   r5   r   r  r  r   r   r  r  r   r  r
  r  r7   r,   r+   r  r    sD    	!	!! [[[3+6% 7%"!6r,   r  c                      e Zd Z eej
                        Zd Zd Zd Z	d Z
d Zd Zd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Ze jB                  jE                  d      d        Z#d Z$d Z%d Z&d Z'd  Z(d! Z)d" Z*d# Z+d$ Z,d% Z-d& Z.d' Z/d( Z0d) Z1d* Z2d+ Z3d, Z4d- Z5d. Z6d/ Z7d0 Z8d1 Z9d2 Z:d3 Z;d4 Z<d5 Z=d6 Z>d7 Z?d8 Z@d9 ZAd: ZBd; ZCd< ZDd= ZEd> ZFd? ZGd@ ZHdA ZIdB ZJdC ZKdD ZLdE ZMdF ZNdG ZOe jB                  jE                  dH      dI        ZPe jB                  jE                  d      dJ        ZQdK ZRdL ZSdM ZTdN ZUdO ZVdP ZWdQ ZXdR ZYdS ZZdT Z[e jB                  j                  dUg dV      dUe]fdW       Z^yX)YTestFromTxtc                 r   t        d      }t        j                  |dt        j                  fdt        j                  fg      }t        j                  ddgddg      }t        ||       t        d	      }d
dd}t        j                  ddg|      }t        j                  ||      }t        ||       y )Nr  r   r   rl   r   r   r   r   zM 64.0 75.0
F 25.0 60.0r  r  r  r  r  )r$   rS   
genfromtxtr  rn   r   )r)   r   rz  r{  
descriptors        r+   r   zTestFromTxt.test_recordB  s    j!}}T3/C?)KL((FF+K3MNT7#01:!35
((-/@A!+-}}T4T7#r,   c                 \   t        d      }t        j                  ddgddggt              }t        j                  |t              }t        ||       |j                  d       t        j                  ddgddggt              }t        j                  |t              }t        ||       y )Nr  rc   rj   r:   rk   rl   r   )	r$   rS   rn   rp   r  r   rN   ro   rE  )r)   r   r{  rz  s       r+   rs   zTestFromTxt.test_arrayQ  s    j!((QFQF+37}}T-4)		!((QFQF+59zz$e,4)r,   c                    t        j                  g dt              }t        d      }t        j                  |t              }t        ||       t        d      }t        j                  |t        d      }t        ||       y )Nrx   r  rl   r  r6  r  )rS   rn   rp   r$   r  r   r)   r{  r   rz  s       r+   ry   zTestFromTxt.test_1D]  s\    ((<-n%}}T-4)k"}}T<4)r,   c                    t        j                  g dt              }t        d      }t        j                  |t        dd      }t        ||       t        d      }t        j                  |t        dd      }t        ||       y )Nr  r  r6  r	  r
  z1,2,3,5# comment
)rS   rn   rp   r$   r  r   r  s       r+   test_commentszTestFromTxt.test_commentsi  sd    ((<-,-}}TcJT7#*+}}TcJT7#r,   c                    t        j                  g dt              }t        t        d      }t	        d      }t        j
                  |fddi|}t        ||       t	        d      }t        j                  |fddi|}t        ||       y )	Nr  r6  r  r  skip_headerrc   r  r  )rS   rn   rp   dictr$   r  r   rE  )r)   r{  r^   r   rz  s        r+   r  zTestFromTxt.test_skiprowsu  sx    ((<-C3/*+}}T;q;F;T7#,-zz$55f5T7#r,   c           	         t        dd      D cg c]  }d|z  	 }}|j                  d       |j                  t        d      D cg c]
  }d|||fz   c}       d|d<   t        d	d
dd      }t	        j
                  t        dj                  |            fi |}t	        j                  t        d      D cg c]  }d|z  d|z  d|z  f c}dD cg c]
  }|t        f c}      }t        ||       y c c}w c c}w c c}w c c}w )Nrc   r  z# %izA, B, C3   z%i,%3.1f,%03sz99,99r  r6  Tr  rO  )r7  r  r  skip_footerr  )   r~  ABCrl   )r   r   rZ  r  rS   r  r$   r   rn   ro   r   )r)   r   r   r^   rz  _ctrls          r+   test_skip_footerzTestFromTxt.test_skip_footer  s    $)!QK0q
00I%)DQ_1ay0DER4QBO}}VDIIdO4??xxrKA$(D1HdQh7K389a5z9;T4  1D L9s   C9C>:DD
c                     t               5 }|j                  t               d}t        t        t
        j                  t        |      d       t        j                  t        |      dd      }t        |t        j                  ddgddgddgd	d	gg             t        j                  t        |      d
      }t        |t        j                  ddgddgddgd	d	gg             d}t        j                  t        |      dd      }t        |t        j                  ddgddgd	d	gddgg             t        j                  t        |      d
d      }t        |t        j                  ddgddgd	d	gg             d d d        y # 1 sw Y   y xY w)Nz1 1
2 2
3 3
4 4
5  
6  
7  
rc   )r  F)r  invalid_raiser2  r3  r4  r5  r:   z1 1
2  
3 3
4 4
5  
6 6
7 7
rC  )
r   r   r   r   r  rS   r  r$   r   rn   )r)   r   basestrrg   s       r+   test_skip_footer_with_invalidz)TestFromTxt.test_skip_footer_with_invalid  sa     	FCJJ();G*bmm /q: wQeEABHHr2hR2r(RH%MNOfWo1=ABHHr2hR2r(RH%MNO;GwQeEABHHr2hR2r(RH%MNOwQeEABHHr2hR2r(%CDE+	F 	F 	Fs   E0FFc                 
   t        d      }t        j                  d      5 }t        j                  ddt               t        j                  |d dd      }t        |d   j                  t        u        d d d        t        j                  d	d
g      t        j                  ddg      t        j                  ddg      d}t        d   |d          t        |d   |d          t        |d   |d          y # 1 sw Y   xY w)Nz)gender age weight
M 64.0 75.0
F 25.0 60.0Tr   r   r2   r<   )rm   r  rg  r   r  r  r  r  r  r  r  r  r  r  )r$   r   r   r   r   rS   r  r   categoryrn   r   r)   r   r_  rz  r{  s        r+   test_headerzTestFromTxt.test_header  s    CD$$D1 	@Q##Hb2KL==T*13DAaDMM%>>?		@
  XXtTl3((D$<0XXtTl35 	T(^WX%67T%['%.1T(^WX%67	@ 	@s   AC99Dc                    t        d      }t        j                  d      5 }t        j                  ddt               t        j                  |d d      }t        |d   j                  t        u        d d d        t        j                  d	d
g      t        j                  ddg      t        j                  ddg      t        j                  ddg      t        j                  ddg      g}t        j                  j                  g d       t        |      D ]  \  }}t        |d|z     |        y # 1 sw Y   xY w)Nz*A 64 75.0 3+4j True
BCD 25 60.0 5+6j FalseTr   r   r2   r<   r  r      As   BCD@      r  r  y      @      @y      @      @F)f0f1f2f3r,  zf%i)r$   r   r   r   r   rS   r  r   r'  rn   r   rm   r  r   )r)   r   r_  rz  r{  r   r   s          r+   test_auto_dtypezTestFromTxt.test_auto_dtype  s   CD$$D1 	@Q##Hb2KL==TGDDAaDMM%>>?	@ 88T6N+88RH%88T4L)88VV,-88T5M*	.
 	TZZ%%'EF"7+ 	0IQeai$/	0	@ 	@s   AD44D=c                     t        d      }t        j                  |d       }t        j                  g dg dg      }t	        ||       y )Nz1 2 3 4
5 6 7 8
rl   rx   )r  r  r  r  r$   rS   r  rn   r   r)   r   rz  r{  s       r+   test_auto_dtype_uniformz#TestFromTxt.test_auto_dtype_uniform  s:    *+}}T.((L,78T7#r,   c                     t        d      }t        j                  dt        fddt        fdt        fgfg      }t        j
                  ||d      }t        j                  dd	g|
      }t        ||       y )Nr@  r   r   r   r*   r6  r  rA  rB  rl   )r$   rS   rm   rp   ro   r  rn   r   r)   r   
fancydtyperz  r{  s        r+   rE  zTestFromTxt.test_fancy_dtype  sg    *+XXSzC3*sEl1K+LMN
}}TsC((M=9LT7#r,   c                     ddd}t        d      }d}t        j                  |||      }||d<   t        j                  dd	g|
      }t	        ||       y )N)grg   r_  r  r  s   M 64.0 75.0
F 25.0 60.0r  rm   r  r  r  r  rl   r4  )r)   r  r   r  rz  r{  s         r+   test_names_overwritez TestFromTxt.test_names_overwrite  sb    .!35
12+}}T5A#
7((--/6@BT7#r,   c                     t        j                  t        d      5  t        j                  d       d d d        y # 1 sw Y   y xY w)Nzfname must be a string,r   {   )r   r   r5  rS   r  r  s    r+   test_bad_fnamezTestFromTxt.test_bad_fname  s2    ]]9,EF 	MM#	 	 	s	   ;Ac                    t        d      }t        j                  d      5 }t        j                  ddt               t        j                  |dd d      }t        |d   j                  t        u        d d d        t        j                  g d	d
dt        fdt        fg      }t        |       t        d      }t        j                  d      5 }t        j                  ddt               t        j                  |dd d      }t        |d   j                  t        u        d d d        t        ||       y # 1 sw Y   xY w# 1 sw Y   "xY w)NzN
#gender age weight
M   21  72.100000
F   35  58.330000
M   33  21.99
        Tr   r   r2   r<   )r  rm   rg  r   ))r  rc  gfffffR@)r  r  g
ףp=*M@)r  rf  g=
ףp5@)r  r  r  r  rl   sO   
# gender age weight
M   21  72.100000
F   35  58.330000
M   33  21.99
        r$   r   r   r   r   rS   r  r   r'  rn   rp   ro   r   )r)   r   r_  rz  r   s        r+   test_commented_headerz!TestFromTxt.test_commented_header  s3      $$D1 	@Q##Hb2KL==T*13DAaDMM%>>?		@
 xxM05#,5@QRTT4    $$D1 	@Q##Hb2KL==T*13DAaDMM%>>?		@
 	T4 )	@ 	@	@ 	@s   AD:AE:EEc                     t        d      }t        j                  |t        t        fd d      }t        j                  ddgdt        fdt        fg      }t        ||       y )	Nzcol1 col2
 1 2
 3 4T)rm   r?  r  r   r   col1col2rl   r$   rS   r  rp   rn   r   r5  s       r+   test_names_and_comments_nonez(TestFromTxt.test_names_and_comments_none  sQ    -.}}T#sd$O((FF+VSMFC=3QRT7#r,   c                    t               5 }t        j                  j                  |d      }t	        |d      5 }|j                  dj                                d d d        t               5  t        j                  t              5  t        j                  |d       d d d        d d d        d d d        y # 1 sw Y   ^xY w# 1 sw Y   &xY w# 1 sw Y   *xY w# 1 sw Y   y xY w)Nrd  r      ϖasciir  )r   rZ   r/  r   r   r.   r  r   r   r   UnicodeDecodeErrorrS   r  )r)   rj  fpathr   s       r+   test_file_is_closed_on_errorz(TestFromTxt.test_file_is_closed_on_error	  s    Y 		;&GGLL4EeT" 8a-44678
 $% ;]]#56 ;MM%':;;		; 		;8 8; ;; ;		; 		;sR   -C B5C*CCC$C5B>	:CC
CC	CC"c                 z   t        d      }t        j                  d      5 }t        j                  ddt               t        j                  |ddd d      }t        |d	   j                  t        u        d d d        t        j                  d
ddt        fdt        fg      }t        |       y # 1 sw Y   <xY w)NA B C D
 aaaa 121 45 9.1Tr   r   r2   ACDr<   )r  r  rm   rg  r   )rJ  -   333333"@rR  |S4rS  rT  rl   rB  r(  s        r+   test_autonames_and_usecolsz&TestFromTxt.test_autonames_and_usecols  s    12$$D1 	@Q##Hb2KL==&*$JDAaDMM%>>?		@
 ((,".c
S%L!IKT7#	@ 	@s   AB11B:c                     t        d      }t        j                  |t        ddd id      }t        j                  ddgd	d
ggt              }t        ||       y )Nr  r6  r:   c                      t        | xs d      S r  r  r  s    r+   r  z:TestFromTxt.test_converters_with_usecols.<locals>.<lambda>&      Se_ r,   r  r  rj   r  r  r  rG  r5  s       r+   r  z(TestFromTxt.test_converters_with_usecols"  sV    ./}}T()+D'E$+- ((QI1v.4T7#r,   c           
         t        d      }t        j                  d      5 }t        j                  ddt               t        j                  |ddd ddd	 i
      }t        |d   j                  t        u        d d d        t        j                  dddt        fdt        fg      }t        |       y # 1 sw Y   <xY w)NrP  Tr   r   r2   rQ  r<   rS  c                     dt        |       z  S )Nrj   r  r  s    r+   r  zDTestFromTxt.test_converters_with_usecols_and_names.<locals>.<lambda>2  s    1s1v: r,   )r  r  rm   rg  r  r   )rJ  Z   rV  rW  rT  rl   rB  r(  s        r+   &test_converters_with_usecols_and_namesz2TestFromTxt.test_converters_with_usecols_and_names+  s    12$$D1 	@Q##Hb2KL==d&*W,/1E+FHD AaDMM%>>?	@ ((,".c
S%L!IKT7#	@ 	@s   AB55B>c                     dd i}t        d      }t        j                  |dd ddg|      }t        j                  t	        ddd	      d
fdt        j
                  fdt        fg      }t        ||       y )Ndatec                     t        | d      S Nz%Y-%m-%d %H:%M:%SZ)r?   r  s    r+   r  z9TestFromTxt.test_converters_cornercases.<locals>.<lambda>;  s    hq*>? r,   2009-02-03 12:00:00Z, 72214.0r6  r#  r7  rm   r  r    rj   r:       `@rl   )r$   rS   r  rn   r   object_ro   r   r)   	converterr   rz  r{  s        r+   test_converters_cornercasesz'TestFromTxt.test_converters_cornercases8  sz     ?A	56}}TS#)6"2yJ((HT1a0&9#)2::"6!HJT7#r,   c                     dd i}t        d      }t        j                  |dd ddg|      }t        j                  t	        ddd	      d
fddt
        fg      }t        ||       y )Nrb  c                 @    t        j                  t        | d            S rd  )rS   
datetime64r?   r  s    r+   r  z:TestFromTxt.test_converters_cornercases2.<locals>.<lambda>F  s    bmmHQ8L,MN r,   re  r6  r#  rf  rg  rj   r:   rh  )rb  zdatetime64[us]rl   )r$   rS   r  rn   r   ro   r   rj  s        r+   test_converters_cornercases2z(TestFromTxt.test_converters_cornercases2C  sq     NP	56}}TS#)6"2yJ((HT1a0&9"<vuo!NPT7#r,   c                     t        d      }t        j                  |ddd i      }t        |ddg       |j	                  d       t        j                  |ddd	 i      }t        |d
dg       y )Nz1 21
  3 42
r  r   c                     t        | d      S r_  r  r  s    r+   r  z3TestFromTxt.test_unused_converter.<locals>.<lambda>R      SBZ r,   rb  rc  rd  rc   c                     t        | d      S r_  r  r  s    r+   r  z3TestFromTxt.test_unused_converter.<locals>.<lambda>W  rs  r,   rf  rg  )r$   rS   r  r   rN   r)   r   rz  s      r+   rh  z!TestFromTxt.test_unused_converterN  sl    &'}}T4()+?'@BTB8$		!}}T4()+?'@BTB8$r,   c                     d }d }t        d      }t        ||ddd d      }t        t        t        j
                  |fi | y )Nc                     t        d| j                         v xr | j                         d   xs( d| j                         vxr | j                         xs d      S )N   rr  r  ro   lowerr[  rp  r  s    r+   r  z4TestFromTxt.test_invalid_converter.<locals>.<lambda>[  sL    udaggi&7&IAGGIbM &R&*!'')&;&I	&PS S r,   c                     t        d| j                         v xr | j                         d   xs( d| j                         vxr | j                         xs d      S )N   %r   r  ry  r  s    r+   r  z4TestFromTxt.test_invalid_converter.<locals>.<lambda>]  sL    eTQWWY%6%G1779Q< %Q%)%:%Hqwwy%OCR 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.55r  r6  r<   )r  r7  rm   rg  )r$   r  r   r   rS   r  )r)   
strip_rand	strip_perr*   r^   s        r+   test_invalid_converterz"TestFromTxt.test_invalid_converterZ  sS    S
R	 5 6 $4* 	nbmmQA&Ar,   c                     t        d      }d }t        j                  |dd|i      }t        j                  ddgdd	gg      }t	        ||       y )
Nz	q1,2
q3,4c                     t        | dd        S r  )ro   r  s    r+   r  z;TestFromTxt.test_tricky_converter_bug1666.<locals>.<lambda>j  s    ae r,   r6  r   )r7  r  r2  r3  r4  r5  r4  )r)   r*   cnvrz  r{  s        r+   test_tricky_converter_bug1666z)TestFromTxt.test_tricky_converter_bug1666g  sL    < $}}Q#1c(C((RHr2h/0T7#r,   c                 d   d}t        j                  t        |      dt        dt        i      }t        j
                  dgddt        fdt        fg	      }t        ||       t        j                  t        |      dt        dt        i      }t        j
                  g d
      }t        ||       y )Nz2009; 23; 46rr  r   rs  )2009      7@.   )r.  rX  r/  r0  rl   )g     d@r  r  )rS   r  r$   ro   r<   rn   r   )r)   dstrrz  r{  s       r+   test_dtype_with_convertersz&TestFromTxt.test_dtype_with_converterso  s    }}VD]&)Au:O((-."/$u!NPT7#}}VD]&)Au:O((+-T7#r,   (ignore:.*recfromcsv.*:DeprecationWarningc           	      z   d}dddddg d}t         t         t         fdd	}t        t        |      |d
d |d      }t        j                  j                  g d|      }t        ||       g d}t        t        |      |d
dd |d      }t        j                  j                  g d|      }t        ||       y )Nz!1,5,-1,1:1
2,8,-1,1:n
3,3,-2,m:n
r   rc   rj   r:   )z1:1z1:nzm:1zm:n)e1r   e2r   )e3i2r   i1c                 *    | j                            S r&   r  )r~   dmaps    r+   r  zDTestFromTxt.test_dtype_with_converters_and_usecols.<locals>.<lambda>  s    T!((*5E r,   )r   rc   rj   r:   r6  r<   )rm   r7  r  r  rg  ))rc   r  r  r   )rj   r  r  rc   )r:   r:   r:   rl   )r  r  r  )r   rc   r:   )rm   r7  r  r  r  rg  ))rc   r  r   )rj   r  rc   )r:   r:   r:   )rp   r   r$   rS   recrn   r   )r)   r  dtypconvrz  r{  r  s         @r+   &test_dtype_with_converters_and_usecolsz2TestFromTxt.test_dtype_with_converters_and_usecols{  s    5q3@33+EF&-ts $I&&,,C4,PT7#8&-ts"+4D#*, &&,,:$,GT7#r,   c           	      `   d}dt         fdt        fg}d }d|i}t        j                  t	        |      d||      }t        j
                  dt        ddd      fd	t        d
dd      fg|      }t        ||       ddt         fdt        fgfg}t        t        d      5  t        j                  t	        |      d||      }d d d        dt         fdt        fdg fg}t        t        d      5  t        j                  t	        |      d||      }d d d        y # 1 sw Y   XxY w# 1 sw Y   y xY w)Nrj  rk  rl  c                 6    t        | j                         d      S rn  ro  r  s    r+   r  z4TestFromTxt.test_dtype_with_object.<locals>.<lambda>  rq  r,   rc   rr  rs  rt  rj   ru  rv  rl   nestzNested fields.* not supported.*)
rp   ru   rS   r  r$   rn   r   r   r   NotImplementedErrorrw  s          r+   r|  z"TestFromTxt.test_dtype_with_object  sJ   %#, 018Y
}}VD\S(24(($1%&HT1b,A(BC 	T7#UCL66*:;<= !4!BD 	F=='-*FD	F #, 062,? !4!BD 	F=='-*FD	F 	F	F 	F	F 	Fs   #D,#D$D!$D-c                     t        j                  t        d      t              }|d   dk(  sJ t        j                  t        d      t              }|d   dk(  sJ y )N1rl   r7      1strings   string)rS   r  r$   ru   )r)   parseds     r+   #test_dtype_with_object_no_converterz/TestFromTxt.test_dtype_with_object_no_converter  sO    vc{&9bzT!!!vh/v>bzY&&&r,   c           	          t        d      }t        j                  |dd t        ddt        i      }t        j
                  dgddt        fg	      }t        ||       y )
Nzskip,skip,2001-01-01,1.0,skipr6  r  rj   )r7  r  rm   r  r  )
2001-01-01r2  )r2   |S10r2   rl   )r$   rS   r  ro   r<   rn   r   r5  s       r+   'test_userconverters_with_explicit_dtypez3TestFromTxt.test_userconverters_with_explicit_dtype  sW    56}}TSE%+E
D((./".U!<>T7#r,   c           
         d}t               5 }t        |d      5 }|j                  d|z   dz          d d d        t        j                  |dd t
        ddt        id	      }d d d        t        j                  d
|j                  d      z   dfgddt
        fg      }t        |       y # 1 sw Y   xxY w# 1 sw Y   VxY w)Nrb  r   s   skip,skip,2001-01-01s	   ,1.0,skipr6  r  rj   rc  )r7  r  rm   r  r  rg  r  r2  )r2   z|U11r2   rl   )
r   r   r.   rS   r  ro   r  rn   r=   r   )r)   ri  r/  r   rz  r{  s         r+   ,test_utf8_userconverters_with_explicit_dtypez8TestFromTxt.test_utf8_userconverters_with_explicit_dtype  s    Z 	34dD! GQ/$6EFG==D)/QH*13D	3 ((\DKK,@@"EF".U!<>T7#G G	3 	3s!   B5B).B5)B2	.B55B>c                     t        d      }t        j                  |      }t        j                  g dg dg      }t	        ||       y )Nz1  2  3  4   5
6  7  8  9  10)r2  r3  r4  r5        @)rC        @rK        "@g      $@r4  r5  s       r+   test_spacedelimiterzTestFromTxt.test_spacedelimiter  s>    67}}T"((013 4T7#r,   c                     d}t        j                  t        |      d      }t        j                  g dg dg dg      }t	        ||       y )Nz  1  2  3
  4  5 67
890123  4r:   )r7  r   )rk   r  C   )iz  r?  rk   )rS   r  r$   rn   r   r5  s       r+   test_integer_delimiterz"TestFromTxt.test_integer_delimiter  s:    0}}VD\Q7((Iz=ABT7#r,   c                     t        d      }t        j                  |t        ddd i      }t        j                  g dt              }t        ||       y )Nr  r6  r:   c                      t        | xs d      S r  r  r  s    r+   r  z*TestFromTxt.test_missing.<locals>.<lambda>  r\  r,   r  r  rG  r5  s       r+   r  zTestFromTxt.test_missing  sE    l#}}T()+D'EG((-s3T7#r,   c                 l   d}t        j                  t        |      dd      }t        j                  dt         j                  dt         j                  fdt         j                  dfg      }t        j                  g d	t
        
      }t        |j                  |       t        |j                  |       y )Nz1	2	3
	2	
1		3r  T)r7  usemaskr   rj   rc   r:   )r   r   r   rc   r   rc   r   rc   r   rl   )	rS   r  r$   rn   nanboolr   r   mask)r)   r  rz  ctrl_dctrl_ms        r+   test_missing_with_tabsz"TestFromTxt.test_missing_with_tabs  s{    &}}VC[D%),9rvvq"&&&9Arvvq>JL;4HTYY'TYY'r,   c                    t        j                  ddgddggt              }t               }t        j                  ||       |j                  d       t        j                  |t        d      }t        ||d d df          t        j                  g dg d	gt              }t               }t        j                  ||       |j                  d       t        j                  |t        d
      }t        ||d d dd f          |j                  d       t        j                  |t        t        j                  ddg            }t        ||d d dd f          y )Nrc   rj   r:   rk   r   r  r  r   r  r   )rS   rn   ro   r$   r  rN   r  r   r  s       r+   r;  zTestFromTxt.test_usecols  s     ((QFQF+U3x


4!		!}}T=T71a4=)((Iy159x


4!		!}}T?T71ab5>*		!}}T!Q8HIT71ab5>*r,   c                     d}t        j                  t        |      dd      }t        j                  ddgdD cg c]
  }|t        f c}      }t        ||       y c c}w )	N1 2 3
4 5 6a, b, cza, c)r  r  r  rk   r  acrl   )rS   r  r$   rn   ro   r   )r)   r   rz  r  r   s        r+   test_usecols_as_csszTestFromTxt.test_usecols_as_css  sT    }}VD\#,f>xx(T0J!U0JKT4  1Ks   A
c           
          t        d      }ddg}ddg}t        j                  |dt        t	        ||                  }t        |d   dd	g       t        |d   d
dg       y )NzJOE 70.1 25.3
BOB 60.5 27.9r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  )r$   rS   r  r^  r  r   )r)   r   r  r9  rz  s        r+   "test_usecols_with_structured_dtypez.TestFromTxt.test_usecols_with_structured_dtype   sg    45 }}&S-?(@BT&\FF#34T&\D$<0r,   c                     t        j                  t        d      d      }t        |t        j                  ddg             y )Ns   1 2 3
4 5 6r   r.  r2  r5  )rS   r  r$   r   rn   )r)   rz  s     r+   test_usecols_with_integerz%TestFromTxt.test_usecols_with_integer
  s.    }}VO4a@T288RH-.r,   c                 "   t        j                  ddgdt        fdt        fg      }d}t        d      }t        j                  t        |      fd	d
i|}t        ||       t        j                  t        |      fd	di|}t        ||       y )Nr  r  rg   r   rl   r  r  )r  r  r   r  )rg   r   )rS   rn   ro   r  r  r$   r   )r)   r   r   r^   rz  s        r+   test_usecols_with_named_columnsz+TestFromTxt.test_usecols_with_named_columns  s    xx(#uU|0LMI&}}VD\E7EfET4 }}VD\ ;%/;39;T4 r,   c                 N   t               5 }|j                  d       t               }t        j                  |      }t        |t        j                  g              t        j                  |d      }t        |t        j                  g              d d d        y # 1 sw Y   y xY w)Nzgenfromtxt: Empty input file:)messagerc   )r  )r   r   r$   rS   r  r   rn   )r)   r   r   rz  s       r+   r\  zTestFromTxt.test_empty_file  sy      	-CJJ>J?8D==&Drxx|, ==15Drxx|,	- 	- 	-s   BBB$c                     t        d      }t        j                  dt        fddt        fdt        fgfg      }t        j
                  ||dd      }t        j                  d	d
g|      }t        ||       y )Nr@  r   r   r   r*   r6  T)rm   r7  r  rA  rB  rl   )	r$   rS   rm   rp   ro   r  marn   r   r8  s        r+   test_fancy_dtype_altz TestFromTxt.test_fancy_dtype_alt&  si    *+XXSzC3*sEl1K+LMN
}}TsDQ((M=9LT7#r,   c                     t        d      }t        j                  ddt        fdt        fdt        dfg      }t        j
                  ||      }t        j                  dd	d
g dg dgfg|      }t        ||       y rG  )r$   rS   rm   ro   rp   r  rn   r   rD  s        r+   rM  zTestFromTxt.test_shaped_dtype.  sv    01XX~U|c5\f-/ 0MM!2&HHvsC)Y)?@A1a r,   c                    t        d      }t        ddd      }t        j                  |fd dd|}t	        j
                  ddgd	d
gdt        fdt        fg      }t        ||       t        |j                  |j                         |j                  d       t        j                  |fddi|}t	        j
                  ddgd	d
gdt        fdt        fg      }t        ||       t        |j                  |j                         y )NA,B
0,1
2,N/Ar6  N/ATr7  missing_valuesr  rm   r  r  rj   r  FFFTrR  Br  rm   r   r  )r$   r  rS   r  r  rn   rp   r   r  rN   ro   r)   r   r^   rz  r{  s        r+   test_withmissingzTestFromTxt.test_withmissing7  s    '(EF}}TFtFvF((FG,!/ ?#&*sCj!9; 	T7#TYY-		!}}T:4:6:((FG,!/ ?#&,e!=? 	T7#TYY-r,   c                 &   d}t        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|      }t        ||       ||d<   t	        j
                  t        |      fdddddd|}t        j                  g d
g d|      }t        ||       t	        j
                  t        |      fdddddd|}t        j                  g d
g d|      }t        ||       y )Nz4A, B, C
0, 0., 0j
1, N/A, 1j
-9, 2.2, N/A
3, -99, 3jr6  T)rm   r7  r  rR  r  rS  r  r  ))r   r  y                )rc   r  rH  )r  g@            8)r:   y              @)r  r  )r   r   rc   r  r  rm   r  r  r  r   rc   rj   )r  r  )r  r  r  r  )r   r  rS  )
r  rp   ro   r   rS   r  r$   r  rn   r   )r)   r   
basekwargsmdtyperz  r{  s         r+   test_user_missing_valuesz$TestFromTxt.test_user_missing_valuesI  s+   I4A
*sElS'N;}}VD\ *% *(*(( < L!') 	T7#$
7}}VD\ b/1ce+DdbV`b(( < L!') 	T7#}}VD\ */1%+H$(* )* (( < L!') 	T7#r,   c           
      B   t        j                  ddgdt        fdt        fg      }d}t        dt        dd	d
dddddd      }t        j                  t        |      fi |}t        j                  ddgdD cg c]
  }|t        f c}      }t        ||       t        j                  t        |      fddi|}t        j                  ddgdD cg c]
  }|t        f c}      }t        ||       d}t        j                  t        |      dt        dd      }t        j                  g dg dg      }t        ||       t        j                  t        |      dt        dd      }t        j                  g dg dg      }t        ||       y c c}w c c}w )N)r   r:   )rk   r  rg   r   rl   zN/A, 2, 3
4, ,???r6  za,b,cr  r  z???)r   r   rj   r   r  )r7  rm   r  r  filling_values)r   rj   r:   )rk   r   r  abcr  r  r  z1,2,*,4
5,*,7,8
*)r7  rm   r  r  )rc   rj   r   rk   )r  r   r  r  r  )rc   rj   r  rk   )r  r  r  r  )rS   rn   rp   r  r  r$   r   )r)   r   r   r^   rz  r  data2s          r+   test_user_filling_valuesz$TestFromTxt.test_user_filling_valuesi  si   xx+S#Jc
3KL##).SU%C)*t%<	>
 }}VD\4V4xxL1167A3x79T4 }}VD\E7EfExx+d3KQH3KLT4 $}}VE]c,/Cxx|45T4 }}VE]c,/Dxx67T4  8 4Ls   ;F
F
c                     t        d      }t        j                  |d dddd      }t        j                  ddgdd	gd
t
        fdt        fg      }t        ||       t        |j                  |j                         y )NzA,B
0,1.5
2,-999.00r6  z-999.0T)rm   r7  r  r  r  )r   r-  )rj   g      r  r  rR  r  r  )	r$   rS   r  r  rn   rp   ro   r   r  r5  s       r+   test_withmissing_floatz"TestFromTxt.test_withmissing_float  st    -.}}T+34O((Hh/!/ ?#&*sEl!;= 	T7#TYY-r,   c                     t        d      }t        j                  |d dd      }t        j                  g dg dgg dg dg      }t        ||       y )	Nz1 2 3
4 5 6
2,5Trm   r  r  r   r%  r  )r  )r$   rS   r  r  rn   r   r5  s       r+   test_with_masked_column_uniformz+TestFromTxt.test_with_masked_column_uniform  sI    &'}}T,14A((Iy1I8NOT7#r,   c                     t        d      }t        j                  |d dd      }t        j                  ddgddgdt
        fd	t
        fd
t        fg      }t        ||       y )NzTrue 2 3
False 5 6
r  Tr  r   )r   r  r  r  r.  r/  r0  r  )r$   rS   r  r  rn   r  rp   r   r5  s       r+   test_with_masked_column_variousz+TestFromTxt.test_with_masked_column_various  se    -.}}T,14A((Iy1!*I 6#',ttSk!JL 	T7#r,   c                    dgdz  }t        d      D ]
  }d|d|z  <    |j                  dd       t        dj                  |            t	        d	d d
      fd}t        t        |      }t        t        |      d       t        |t        j                  ddD cg c]
  }|t        f c}             j                  d       t        t        t        j                  d	d
       y c c}w )N1, 1, 1, 1, 1r  r  2, 2, 2, 2 2rO  r   a, b, c, d, er  r6  Tr7  rm   r  c                  4    t        j                  fddi S )Nr#  FrS   r  r^   mdatas   r+   r   z)TestFromTxt.test_invalid_raise.<locals>.f  s    ==FeFvFFr,   rU  abcderl   r7  r  )r   insertr$   r   r  r   r   r   lenrS   r   rp   rN   r   r  r  )r)   r   r   r   mtestr  r^   r  s         @@r+   test_invalid_raisezTestFromTxt.test_invalid_raise  s     2%q 	*A)DaL	*A'tyy'4t<	G.2SZ$UBGGB.IA3x.IJK

1j"-- #4	1 /Js    C/c                    dgdz  }t        d      D ]
  }d|d|z  <    |j                  dd       t        dj                  |            t	        d	d d
d      fd}t        t        |      }t        t        |      d       t        |t        j                  ddD cg c]
  }|t        f c}             j                  d       t        j                  fddi}t        t        |      d       t        j                  ddD cg c]
  }|t        f c}      }d|t        d      D cg c]  }d|z  	 c}<   t        ||       y c c}w c c}w c c}w )Nr  r  r  r  rO  r   r  r  r6  TF)r7  rm   r  r#  c                  4    t        j                  fddi S )Nr  )r   rk   r  r  s   r+   r   z6TestFromTxt.test_invalid_raise_with_usecols.<locals>.f  s    ==AA&AAr,   rU  aerl   r  r  abr  )r   r  r$   r   r  r   r   r   r  rS   r   rp   rN   r  )	r)   r   r   r   r  r  r{  r^   r  s	          @@r+   test_invalid_raise_with_usecolsz+TestFromTxt.test_invalid_raise_with_usecols  s-    2%q 	*A)DaL	*A'tyy'4t$)+	B.2SZ$UBGGB.FA3x.FGH

1e>V>v>SZ$''"t$<!aX$<=.4q*Aa*+UG$ /G
 %=*s   !EE
4Ec           	          dgdz  }t        dj                  |            }dd i}t        d|dD cg c]
  }|t        f c}d	      }t	        t
        t        j                  |fi | y c c}w )
Nz1, 1, 1, 1, -1.1r  r  rk   c                 (    d| j                         z  S )Nz(%s)r  r  s    r+   r  z5TestFromTxt.test_inconsistent_dtype.<locals>.<lambda>  s    6AHHJ#6 r,   r6  r  r<   )r7  r  rm   rg  )r$   r   r  rp   r   r  rS   r  )r)   r   r  r  r  r^   s         r+   test_inconsistent_dtypez#TestFromTxt.test_inconsistent_dtype  si    "#b(tyy'67

/67!aX7'Kj"--A&A 8s   A*c                     d}t        j                  t        |      dd d      }t        j                  ddgdt        fdt        fd	t
        fg
      }t        ||       y )N0, 1, 2.3
4, 5, 6.7r6  f%02ir7  rm   
defaultfmtr   rc   ffffff@)rk   r  @f00f01f02rl   )rS   r  r$   rn   rp   ro   r   r)   r   r  r   s       r+   test_default_field_formatz%TestFromTxt.test_default_field_format  sY    %fTl'*$7Lxxk2 %s|eS\E5>JLUD!r,   c                     d}t        j                  t        |      dt        d      }t        j                  g dg dgt              }t        ||       y )Nr  r6  r  r  r  r2  r  r5  r  r  rl   rS   r  r$   ro   rn   r   r  s       r+   test_single_dtype_wo_namesz&TestFromTxt.test_single_dtype_wo_names  sB    %fTl'*%GMxx6eDUD!r,   c                     d}t        j                  t        |      dt        d      }t        j                  ddgdD cg c]
  }|t        f c}      }t        ||       y c c}w )	Nr  r6  r  r  r  r  r  rl   r  r)   r   r  r  r   s        r+   "test_single_dtype_w_explicit_namesz.TestFromTxt.test_single_dtype_w_explicit_names  sY    %fTl'*%yJxx6389a5z9;UD! :   A#
c                     d}t        j                  t        |      dt        d      }t        j                  ddgdD cg c]
  }|t        f c}      }t        ||       y c c}w )	Nza, b, c
0, 1, 2.3
4, 5, 6.7r6  Tr  r  r  r  rl   r  r   s        r+   "test_single_dtype_w_implicit_namesz.TestFromTxt.test_single_dtype_w_implicit_names  sY    .fTl'*%tExx6389a5z9;UD! :r"  c                     d}t        j                  t        |      dt        t        t        fd      }t        j
                  ddgdt        fdt        fd	t        fg
      }t        ||       y )Nr  r6  zf_%02ir  )r   r2  r  )rk   r  r  f_00f_01f_02rl   rS   r  r$   rp   ro   rn   r   r  s       r+   test_easy_structured_dtypez&TestFromTxt.test_easy_structured_dtype  s`    %fTlc$'#68Mxx|4 &}vuoOQUD!r,   c                    d}t        dd d      }t        j                  d      5 }t        j                  ddt               t        j                  t        |      fi |}t        |d	   j                  t        u        d d d        t        j                  d
gddt        fdg      }t        |       t        j                  d      5 }t        j                  ddt               t        j                  t        |      fddi|}t        |d	   j                  t        u        d d d        t        j                  dgddt        fdg      }t        ||       y # 1 sw Y   xY w# 1 sw Y   CxY w)Nz01/01/2003  , 1.3,   abcder6  r<   )r7  rm   rg  Tr   r   r2   r   )z01/01/2003  ?z   abcde)r.  z|S12r/  )r0  r  rl   	autostrip)z
01/01/2003r,  r  )r.  r  )r0  z|S5)r  r   r   r   r   rS   r  r$   r   r'  rn   ro   r   )r)   r   r^   r_  r  r   s         r+   test_autostripzTestFromTxt.test_autostrip  sJ   +4'B$$D1 	@Q##Hb2KLMM&,9&9EAaDMM%>>?	@ xx:;-e}mLNUD!$$D1 	@Q##Hb2KLMM&,I$I&IEAaDMM%>>?	@ xx56-e}mLNUD!	@ 	@	@ 	@s   AEAE(E%(E1c                 6   d}t        j                  t        |      ddd       }dt        fdt        fdt        fg}t        j
                  d|	      }t        ||       t        j                  t        |      ddd d
d
      }dt        fdt        fdt        fg}t        j
                  d|	      }t        ||       t        j                  t        |      ddd d
      }dt        fdt        fdt        fg}t        j
                  d|	      }t        ||       y )NzA.A, B (B), C:C
1, 2, 3.14r6  Tr7  r  rm   AAB_BCC)rc   rj   gQ	@rl   r2   r7  r  rm   replace_spacedeletecharsA.AB (B)C:Cr7  r  rm   r6  B_(B)r)  r)   r  rz  
ctrl_dtyper   s        r+   test_replace_spacezTestFromTxt.test_replace_space  s    +}}VC['*$dDSkE3<$?
xxJ7T4 }}VC['*$d+-2? clWcNUENC
xxJ7T4 }}VC['*$d)+- clWcNUENC
xxJ7T4 r,   c                 N   d}t        j                  t        |      ddt              }dt        fdt        fdt        fg}t        j                  d|	      }t        ||       t        j                  t        |      ddt        d
d
      }dt        fdt        fdt        fg}t        j                  d|	      }t        ||       t        j                  t        |      ddt        d
      }dt        fdt        fdt        fg}t        j                  d|	      }t        ||       y )NzA.A, B (B), C:C
1, 2, 3r6  Tr0  r1  r2  r3  r   rl   r2   r4  r7  r8  r9  r:  r;  )rS   r  r$   rp   rn   r   r<  s        r+   test_replace_space_known_dtypez*TestFromTxt.test_replace_space_known_dtype,  s    (}}VC['*$cCSkE3<$=
xx	4T4 }}VC['*$c+-2? clWcNUCLA
xx	4T4 }}VC['*$c)+- clWcNUCLA
xx	4T4 r,   c                    d}t        dd      }t        j                  ddgdD cg c]
  }|t        f c}      }t        j                  t        |      fd	d i|}t        ||       t        j                  ddgdD cg c]
  }|t        f c}      }t        j                  t        |      fi |}y c c}w c c}w )
NzA,,C
0,1,2
3,4,5r6  Tr   r  r  )rR  r.  rS  rl   rm   )r  rS   rn   rp   r  r$   r   ro   )r)   r   r^   r  r   rz  s         r+   test_incomplete_namesz!TestFromTxt.test_incomplete_namesD  s    #40xxI.1ABA3xBD}}VD\@@@T4 xxI.3CDa5zDF}}VD\4V4 C
 Es   B7
 B<
c                     d}t        j                  t        |      t        t        t        fd      }t        j
                  ddgdt        fdt        fdt        fg      }t        ||       y )	Nz1 2 3
 4 5 6rg   r<  r   r%  r.  r/  rl   r)  )r)   r   rz  r   s       r+   test_names_auto_completionz&TestFromTxt.test_names_auto_completionR  s^    }}VD\$'#4CAxxI. #SzD%=4+FHT4 r,   c                    d}d}t        j                  t        |      t        t        t        fddd      }t	        |j
                  j                  |       t        j                  t        |      t        t        t        fddd      }t	        |j
                  j                  |       t        j                  t        |      t        ddd      }t	        |j
                  j                  |       y )Nz'A,B,C,D,E
0,1,2,3,4
0,1,2,3,4
0,1,2,3,4)rR  rS  Er6  )r   rj   rk   T)rm   r7  r  r  )rS   r  r$   rp   r   rm   r  )r)   r   
ctrl_namesrz  s       r+   test_names_with_usecols_bug1636z+TestFromTxt.test_names_with_usecols_bug1636[  s    ;$
}}VD\$'c?c%.d< 	TZZ%%z2}}VD\$'c?c%4DB 	TZZ%%z2}}VD\#&#%4DB 	TZZ%%z2r,   c                    d}t        ddd       }t        j                  ddgdt        fdt        fd	t        fg
      }t        j
                  t        |      fi |}t        ||       t        ddd       }t        j                  ddgdt        fdt        fd	t        fg
      }t        j
                  t        |      fi |}t        ||       y )Nz-    A    B   C
    0    1 2.3
   45   67   9.)r  r  rk   Tr0  r  )rU  r  r  rR  r  rS  rl   r  )r  rS   rn   rp   ro   r  r$   r   r)   r   r^   r   rz  s        r+   test_fixed_width_namesz"TestFromTxt.test_fixed_width_namesn  s    @	TBxxl3 #SzC:U|DF}}VD\4V4T4 T:xxl3 #SzC:U|DF}}VD\4V4T4 r,   c                     d}t        dd d      }t        j                  g dg dg dgt              }t        j                  t        |      fi |}t        ||       y )	Ns   1, 2, 3
1, , 5
0, 6, 
r6  r  )r7  rm   r  r   )rc   r  r  )r   r  r  rl   )r  rS   rn   rp   r  r$   r   rJ  s        r+   test_filling_valueszTestFromTxt.test_filling_values}  sM    +4ExxL,?sK}}VD\4V4T4 r,   c                 \   t        j                  d      5 }t        j                  ddt               t	        j
                  t        d      d d dd      }t        |d	   j                  t        u        d d d        t        d
   d       t        j                  d      5 }t        j                  ddt               t	        j
                  t        d      d d dd      }t        |d	   j                  t        u        d d d        t        |d
   d       y # 1 sw Y   xY w# 1 sw Y   %xY w)NTr   r   r2   ztest1,testNonetherestofthedatar6  r<   rm   r?  r7  rg  r   rc   s   testNonetherestofthedataztest1, testNonetherestofthedatas    testNonetherestofthedata)
r   r   r   r   rS   r  r$   r   r'  r   )r)   r_  rz  s      r+   test_comments_is_nonez!TestFromTxt.test_comments_is_none  s   $$D1 	@Q##Hb2KL==(H!I'+dc*13D AaDMM%>>?	@ 	T!W9:$$D1 	@Q##Hb2KL==(I!J'+dc*13D AaDMM%>>?	@ 	T!W:;	@ 	@	@ 	@s   AD!AD"D"D+c                    d}d}d|z   dz   }||z   |z   }t        j                  d      5 }t        j                  ddt               t	        j
                  t        |      d d d	d
      }t        |d   j                  t        u        d d d        t        d   d       t        |d   d|z          t        |d   d       t	        j
                  t        |      d d d	d      }t        |d   d       t        |d   d|j                  d      z          t        |d   d       t        j                  d      5 }t        j                  ddt               t	        j
                  t        d|z         d d d	d
      }t        |d   j                  t        u        d d d        t        |d   d       t        |d   d|z          y # 1 sw Y   <xY w# 1 sw Y   8xY w)Ns      norm1,norm2,norm3
   test1,testNonethe   ,test3
Tr   r   r2   r6  r<   rO  r   )rc   r      test1)rc   rc      testNonether      test3r9   test1testNonethetest3   0,testNonether.  r/  )r   r   r   r   rS   r  r$   r   r'  r   r=   )r)   r9   normencr*   r_  rz  s          r+   test_latin1zTestFromTxt.test_latin1  s    %"V+k93J$$D1 	@Q##Hb2KL=='+dc*13D AaDMM%>>?	@ 	T$Z*T$Z&!89T$Z*}}VAY#'$#&.0 	T$Z)T$Zx1H!HIT$Z)$$D1 	@Q##Hb2KL==(86(A!B'+dc*13D AaDMM%>>?	@ 	T$Z#T$Z&!89/	@ 	@ 	@ 	@s   AG8A GGGc                     d}| j                  t        |      d d      }t        |t        j                  |j                  d      j                                      y r  )r  r   r   rS   rn   r=   r[  r  s      r+   test_binary_decode_autodtypez(TestFromTxt.test_binary_decode_autodtype  sD    4MM'%.xMH1bhhu||H'='C'C'EFGr,   c                    d}d}d|z   dz   }||z   |z   }t        j                  d      5 }t        j                  ddt               t	        j
                  t        |      d d d	d
      }t        |d   j                  t        u        d d d        t	        j                  g ddd|z   dgg dg      }t        |       y # 1 sw Y   8xY w)Nrb  rR  rS  rT  Tr   r   r2   r6  r<   rO  r   )s   norm1s   norm2s   norm3rU  rV  rW  )r   r   r   r   rS   r  r$   r   r'  rn   r   )r)   ri  r\  r]  r*   r_  rz  ctls           r+   test_utf8_byte_encodingz#TestFromTxt.test_utf8_byte_encoding  s    %"T)K73J$$D1 	@Q##Hb2KL=='+dc*13D AaDMM%>>?	@ hh/NT18</1 2 	4%	@ 	@s   AB??Cc           	         d}t               5 }t        |d      5 }|j                  d|z   dz   dz         d d d        t        j                  |d d dd      }t        j
                  d	d
|j                  d      z   dgd	d
|j                  d      z   dggt        j                        }t        ||       t        |d      5 }|j                  d|z          d d d        t        j                  |d d dd      }t        |d   d       t        |d   d
|j                  d      z          d d d        y # 1 sw Y   xY w# 1 sw Y   hxY w# 1 sw Y   y xY w)Nrb  r   rS  rT  rj   r6  rc  rO  rX  rY  rZ  rl   r[  r.  r   r/  )
r   r   r.   rS   r  rn   r=   rh  r   r   )r)   ri  r/  r   rz  rb  s         r+   test_utf8_filezTestFromTxt.test_utf8_file  sZ   Z 	K4dD! IQ-4{BaGHI==TD+.BD((}t{{7/CCWM}t{{7/CCWMO 77$C tS) dD! 1Q(4/01==TD+.BDdQ'd]T[[5I%IJ#	K 	KI I1 1	K 	Ks;   ED0BE D<AE0D9	5E<E	EEc           	      &   d}d}	 t        j                         }|j                  |       t               5 }t        |d      5 }|j                  d       |j                  d|z   dz          |j                  d|z   d	z          d d d        t        j                  d
      5 }t        j                  ddt               t        j                  |d d dd      }t!        |d   j"                  t        u        d d d        t        j$                  g dd|dgdd|z   dggt        j&                        }t)        |       d d d        y # t        t        f$ r t        j                  d       Y @w xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)NrJ  u   öüözTSkipping test_utf8_file_nodtype_unicode, unable to encode utf8 in preferred encodingr  znorm1,norm2,norm3
znorm1,z,norm3
ztest1,testNonethez,test3
Tr   r   r2   r6  r<   rO  r   )norm1norm2norm3rg  ri  rX  rY  rZ  rl   )r  r  r  UnicodeErrorImportErrorr   r  r   r   r.   r   r   r   r   rS   r  r   r'  rn   rh  r   )	r)   ri  r9   rg  r/  r   r_  rz  rb  s	            r+   test_utf8_file_nodtype_unicodez*TestFromTxt.test_utf8_file_nodtype_unicode  s   	G224HKK!
 Z 	*4dD! AQ-.6)J67+d2Z?@A ((5 D''"(AC}}T/2WF !)BBCD ((0vw/}t3W=? 77	$C
 tS)#	* 	*	 k* 	GKK F G	G
A AD D	* 	*sO   %E FA E/F AE;4AF$E,+E,/E8	4F;F	 FF(ignore:.*recfromtxt.*:DeprecationWarningc                 
   t        d      }t        ddd      }t        |fi |}t        j                  ddgdt
        fd	t
        fg
      }t        t        |t        j                               t        ||       t        d      }t        |fd dd|}t        j                  ddgddgdt
        fd	t
        fg      }t        ||       t        |j                  |j                         t        |j                  ddg       y )NA,B
0,1
2,3r6  r  Tr  r  r  rR  r  rl   r  r  r  r  r  r  r   rj   )r$   r  r   rS   rn   rp   r   rQ   recarrayr   r  r  rR  r  s        r+   test_recfromtxtzTestFromTxt.test_recfromtxt	  s     o&EF$)&)((FF+#&*sCj!9;
4-.T7#'($CdDCFC((FG,!/ ?#&*sCj!9; 	T7#TYY-TVVaV$r,   c                    t        d      }t        dddd      }t        |fdd i|}t        j                  ddgd	t
        fd
t
        fg      }t        t        |t        j                               t        ||       t        d      }t        |fd dd|}t        j                  ddgddgd	t
        fd
t
        fg      }t        ||       t        |j                  |j                         t        |j                  ddg       t        d      }t        |d      }t        j                  ddgdt
        fdt
        fg      }t        t        |t        j                               t        ||       t        d      }dt
        fdt        fg}t        |d|      }t        j                  ddg|      }t        t        |t        j                               t        ||       t        d      }t        |dd i      }t        j                  ddgdt        dffg      }t        |j                  |j                         t        ||       y )Nro  r  Tr<   )r  r  case_sensitiverg  rm   r  r  rR  r  rl   r  r  r  r  r  r  r   rj   )r  rg   r   )r  rm   zcolor
"red"
"blue"c                 $    | j                  d      S )N")rp  r  s    r+   r  z-TestFromTxt.test_recfromcsv.<locals>.<lambda><	  s     r,   )r  )red)bluecolorrk   )r$   r  r   rS   rn   rp   r   rQ   rp  r   r  r  rR  ro   r  rm   )r)   r   r^   rz  r{  rm   s         r+   test_recfromcsvzTestFromTxt.test_recfromcsv	  s    o&U$t&($5d5f5((FF+#&*sCj!9;
4-.T7#'($CdDCFC((FG,!/ ?#&*sCj!9; 	T7#TYY-TVVaV$o&$u6((FF+#&*sCj!9;
4-.T7#o&sc5\*$uEB((FF+!&(
4-.T7# ,-$A/F+GH((Hi0'C89L8MNTZZ/T7#r,   c                     d}t        |      }t        j                  |d      }t        j                  |      }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}t        j                  t        |      d      }t        j                  ddgddgg      }t        ||       t	        t
        t        j                  t        |      dd       t	        t
        t        j                  t        |      d       t               5 }|j                  t               t        j                  t        |      dd      }t        j                  ddgddgddgddgg      }t        ||       t        j                  t        |      dd      }t        j                  ddgddgddgddgg      }t        ||       d d d        d}t        |      }t        j                  |ddd      }t        j                  g dddg      }t        ||       t        j                  |d |j                        }t        j                  ddgddg      }t        ||       y # 1 sw Y   xY w) Nz1 2
3 4
5 6
7 8
9 10
r:   )r  rc   rj   rk   r  r  r  r  r  rO  r   z1 1
2 2
0 
3 3
4 4
5  
6  
7  
r2  r3  )r  r  F)r  r#  r4  r5  z"a b
#c d
1 1
2 2
#0 
3 3
4 4
5  5
T)r  r  r  ))r2  r2  )r3  r3  )r4  r4  )r   <f8)r  r{  rl   )r  rm   )r5  r5  )r  r  )r$   rS   r  r   r   r  rn   r   r   r   rm   )r)   r   r  a1a2rz  r{  r   s           r+   r  zTestFromTxt.test_max_rowsA	  s1   +Tl]]3+]]3R1a&1a&1a&12R1a&1b'*+ 	j"--J 9}}VD\A6((RHr2h/0T7# 	j"--1 	" 	j"--J   		(CJJ()==ODhhR2r(RHr2hGHGw'==ODhhR2r(RHr2hGHGw'		( < Tl}}Sa!4H((?)<8:T7# }}S4tzzB((J
3)<8:T7#3		( 		(s   3B2JJc                 R   t        j                  d      j                  d      }d}|D ]d  }d|z   dz   }t               5 }t	        |d      5 }|j                  |       d d d        t        j                  |      }d d d        t        |       f y # 1 sw Y   5xY w# 1 sw Y   $xY w)Nr  r  r  r  r  r_  )rS   r  r  r   r   r.   r  r   )r)   r  r  r  r   rL   r   r  s           r+   test_gft_using_filenamez#TestFromTxt.test_gft_using_filenamew	  s     iil""6*& 	)CS=7*D *t$_ "GGDM"mmD)* sC(	)" "* *s#   BBBBBB&	c                    t        j                  d      j                  d      }d}|D ]  }d|z   dz   }t               }t	        j
                  |d      5 }|j                  t        |             d d d        t        d	      5 }t        |d      5 }|j                  |       d d d        t        t        j                  |      |       d d d         y # 1 sw Y   fxY w# 1 sw Y   ?xY w# 1 sw Y   xY w)
Nr  r  r  r  r  r_  fileobjr  z.gz2r   )rS   r  r  r   r  GzipFiler.   r"   r   r   r   r  )	r)   r  r  r  r   r*   r;  rL   r   s	            r+   test_gft_from_gzipzTestFromTxt.test_gft_from_gzip	  s    1%%f-& 		@CS=7*D	Aqs3 'q&' ( @D$_ "GGDM""2==#6?@ @		@' '" "@ @s0   CC-C!#'C-C	!C*&C--C6	c                 |    d }t        j                   |             }t        |t        j                  d             y )Nc               3   L   K   t        d      D ]  } t        d| z          y wr  )r   r"   r  s    r+   r
  z3TestFromTxt.test_gft_using_generator.<locals>.count	  s(     2Y (dQh''(s   "$rO  )rS   r  r   r  r  s      r+   test_gft_using_generatorz$TestFromTxt.test_gft_using_generator	  s+    	( mmEG$3		".r,   c                    t        d      }t        j                  |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	       y )
Nz%73786976294838206464 17179869184 1024rl   )r.  r/  r0  r.  r/  r0  g      Dl        i   )r$   rS   r  r   rm   r  r   ro   r1  int_r   ru  s      r+   test_auto_dtype_largeintz$TestFromTxt.test_auto_dtype_largeint	  s     =>}}T.TZZ%%'9:

4 E)*

4 BHH,-

4 BGG+,T
$9:T$Z-T$Z&r,   c                    t        d      }t        j                  |dd      \  }}}t        |t        j                  g d             t        |t        j                  g d             t        |t        j                  g d             y )Nz1,2,3
4,5,6
7,8,9
0.0,1.0,2.0r6  T)r7  r  )r2  r5  r  r  )r3  r  rK  r2  )r4  rC  r  r3  )r$   rS   rE  r   rn   )r)   r  rg   r   r   s        r+   test_unpack_float_dataz"TestFromTxt.test_unpack_float_data	  sa    78**SC=1a1bhh';<=1bhh';<=1bhh';<=r,   c                    t        d      }ddd}t        j                  ||d      \  }}}t        |j                  t        j                  d             t        |j                  t        j                  d             t        |j                  t        j                  d	             t        |t        j                  d
dg             t        |t        j                  ddg             t        |t        j                  ddg             y )Nr  r  r  r  Tr  r  r   r,  r  r  rc  r  r  r  )r$   rS   r  r   rm   r   rn   r  s         r+   r  z"TestFromTxt.test_unpack_structured	  s     '(&3EF--2d;1aQWWbhhtn-QWWbhhtn-QWWbhhtn-1bhhd|451bhhBx011bhhc{34r,   c                 T   t        d      }t        j                  ddg      t        j                  ddg      t        j                  ddg      f}t        j                  |d dd	
      }t	        ||      D ]1  \  }}t        ||       t        |j                  |j                         3 y )NzM 21 72.
F 35 58.r  r  rc  r  r  r  Tzutf-8)rm   r  rg  )r$   rS   rn   r  r  r   r   rm   )r)   r  expectedrz  rU   results         r+   test_unpack_auto_dtypez"TestFromTxt.test_unpack_auto_dtype	  s     )*HHc3Z("((B8*<bhhSz>RS}}STGLx. 	2KCsF+FLL1	2r,   c                     t        d      }ddd}t        j                  ddgt        j                        }t        j                  ||d	      }t        ||       t        |j                  |j                         y )
Nz21
35r   r   r  rc  r  rl   Tr  )r$   rS   rn   r  r  r   r   rm   r)   r  r   r  rz  s        r+   test_unpack_single_namez#TestFromTxt.test_unpack_single_name	  s^     X'288RHBHH5}}S488T*X^^TZZ0r,   c                 "   t        d      }ddd}t        j                  dt        j                        }t        j                  ||d      }t        ||       t        d	|j                         t        |j                  |j                         y )
Nr  r   r  r  r  rl   Tr  r7   )	r$   rS   rn   r  r  r   r   re   rm   r  s        r+   test_squeeze_scalarzTestFromTxt.test_squeeze_scalar	  sg     Sk'288D1}}S488T*R$X^^TZZ0r,   ndimr  c                     d}t        j                  t        |      |      }t        j                  t        |      |      }t	        ||       y )N42r  )rS   rE  r   r  r   )r)   r  r  rg   r   s        r+   r  zTestFromTxt.test_ndmin_keyword	  s;     JJx}D1MM(3-t41a r,   N)_r3   r4   r5   r  rS   r  r  r   rs   ry   r  r  r!  r%  r)  r2  r6  rE  r=  r@  rC  rH  rN  rY  r  r`  rl  rp  rh  r  r  r  r   r   r   r  r|  r  r  r  r  r  r  r  r;  r  r  r  r  r\  r  rM  r  r  r  r  r  r  r  r	  r  r  r  r!  r$  r*  r.  r>  r@  rB  rD  rH  rK  rM  rP  r^  r`  rc  re  rl  rq  ry  r  r  r  r  r  r  r  r  r  r  r  rp   r  r7   r,   r+   r  r  ?  sA   BMM*H$
*
*
$$	!F080 $$
$!>$;
$$$	$	$
%B$
$ [[ JK$ L$ F6'$
$$$$(+*!1/
	!
-$!.$$@!8.$$1&%.B""""""&!0!05!3&!!<":<H
&"K*!*F [[ JK% L%& [[ JK($ L($T4$l)@ /'2>521
1 [[VY/!s ! 0!r,   r  c                      e Zd Zd Zd Zd Zej                  j                  e	d      ej                  j                  deeg      d               Zej                  j                  deeg      d        Zej                  j                  deeg      d	        Zej                  j                  deeg      d
        Zej                  j                  deeg      ej                  j#                  d      d               Zej                  j                  deeg      ej                  j#                  d      d               Zy)TestPathUsagec                     t        d      5 }t        |      }t        j                  ddgddgg      }t        j                  ||       t        j
                  |      }t        ||       d d d        y # 1 sw Y   y xY w)N.txtr   g?rj   r:   rk   )r   r   rS   rn   r  rE  r   )r)   r/  rg   r   s       r+   test_loadtxtzTestPathUsage.test_loadtxt	  sk    V$ 	%:D3(QF+,AJJtQ

4 Aq!$	% 	% 	%s   AA44A=c                 
   t        d      5 }t        |      }t        j                  ddgddggt              }t        j
                  ||       t        j                  |      }t        ||       d d d        y # 1 sw Y   y xY w)Nr-  r   rc   rj   r:   rk   )r   r   rS   rn   rp   r   rT   r   r)   r/  rg   r   s       r+   test_save_loadzTestPathUsage.test_save_load
  sl    V$ 	(:D1a&1a&)3/AGGD!774=DtQ'	( 	( 	(s   A#A99Bc                 D   t        d      5 }t        |      }t        j                  ddgddggt              }t        j
                  ||       t        j                  |d      }t        ||       ~t        rt                t                d d d        y # 1 sw Y   y xY w)	Nr-  r   rc   rj   r:   rk   r~   r}   )
r   r   rS   rn   rp   r   rT   r   r   r   r  s       r+   test_save_load_memmapz#TestPathUsage.test_save_load_memmap

  s    V$ 
	:D1a&1a&)3/AGGD!7743/DtQ'
	 
	 
	s   B BBzmemmap doesn't work correctlyrz   rC  c                    t        d      5 } ||      }t        j                  ddgddggt              }t        j                  ||       t        j
                  |d      }d	|d
   d
<   d	|d
   d
<   ~t        rt                t                t        j
                  |      }t        ||       d d d        y # 1 sw Y   y xY w)Nr-  r   rc   rj   r:   rk   zr+r  r  r   )	r   rS   rn   rp   r   rT   r   r   r   )r)   rC  r/  rg   r   r   s         r+   test_save_load_memmap_readwritez-TestPathUsage.test_save_load_memmap_readwrite
  s     V$ 	( &D1a&1a&)3/AGGD!-AAaDGAaDG774=DtQ'	( 	( 	(s   B"B88Cc                     t        d      5 } ||      }t        j                  |d       t        j                  |      5 }t	        |d   d       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY wNr   r   r   r   r  )r   rS   r   rT   r   r)   rC  r/  r   s       r+   test_savez_loadzTestPathUsage.test_savez_load)
  sw    V$ 	@ &DHHT~. @$"4;?@	@ 	@@ @	@ 	@s#   5A/A#A/#A,	(A//A8c                     t        d      5 } ||      }t        j                  |d       t        j                  |      }t	        |d   d       |j                          d d d        y # 1 sw Y   y xY wr  )r   rS   savez_compressedrT   r   rR   r  s       r+   test_savez_compressed_loadz(TestPathUsage.test_savez_compressed_load1
  s_    V$ 	 &D.9774=DtE{N;JJL	 	 	s   AA**A3c                     t        d      5 } ||      }t        j                  ddg      }t        j                  ||       t        j                  |      }t        ||       d d d        y # 1 sw Y   y xY w)Nr  r   r   r   )r   rS   rn   r  r  r   )r)   rC  r/  rg   r   s        r+   test_genfromtxtzTestPathUsage.test_genfromtxt:
  sd    V$ 	( &D&&)*AJJtQ==&Dq$'	( 	( 	(s   AA--A6rm  c                    t        d      5 } ||      }t        |d      5 }|j                  d       d d d        t        ddd      }t	        |fi |}t        j                  d	d
gdt        fdt        fg      }t        t        |t
        j                               t        ||       d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr  r   r_  ro  r6  r  Tr  r  r  rR  r  rl   )r   r   r.   r  r   rS   rn   rp   r   rQ   rp  r   r)   rC  r/  r   r^   rz  r{  s          r+   rq  zTestPathUsage.test_recfromtxtC
  s     V$ 
	( &DdC )A() CTJFd-f-Dhh/'*Cj3*%=?GJtR[[12w'
	( 
	() )
	( 
	(s"   CB5A8C5B>	:CC
r  c                    t        d      5 } ||      }t        |d      5 }|j                  d       d d d        t        ddd      }t	        |fdd i|}t        j                  d	d
gdt        fdt        fg      }t        t        |t
        j                               t        ||       d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr  r   r_  ro  r  T)r  r  rs  rm   r  r  rR  r  rl   )r   r   r.   r  r   rS   rn   rp   r   rQ   rp  r   r  s          r+   ry  zTestPathUsage.test_recfromcsvR
  s     V$ 	( &DdC )A() $DF d9$9&9Dhh/'*Cj3*%=?GJtR[[12w'	( 	() )	( 	(s"   CB7A:C7C 	<CCN)r3   r4   r5   r  r  r  r   r   r  r    r  r   r  r  r  r  r  r   rq  ry  r7   r,   r+   r  r  	  sY   %( [[w'FG[[_tSk:( ; H( [[_tSk:@ ;@ [[_tSk: ; [[_tSk:( ;( [[_tSk:[[ JK( L ;( [[_tSk:[[ JK( L ;(r,   r  c                  ^   t         j                  j                  d      } t               }t        j                  |d      }t        j
                  ||        |j                          |j                  d       t        j                  |d      }t        t        j                  |      |        y )Nr  r  r_  r  r   r~   )
rS   r   r   r  r  r   rR   rN   r   rT   rg   r*   r   s      r+   test_gzip_loadr  d
  sp    
		 A	Aac*AGGAqMGGIFF1Iac*Arwwqz1%r,   c                       e Zd Zd Zd Zd Zy)
JustWriterc                     || _         y r&   baser)   r  s     r+   r'   zJustWriter.__init__u
  	    	r,   c                 8    | j                   j                  |      S r&   )r  r.   r(   s     r+   r.   zJustWriter.writex
  s    yyq!!r,   c                 6    | j                   j                         S r&   )r  rM   r  s    r+   rM   zJustWriter.flush{
  s    yy  r,   N)r3   r4   r5   r'   r.   rM   r7   r,   r+   r  r  t
  s    "!r,   r  c                        e Zd Zd Zd ZddZy)
JustReaderc                     || _         y r&   r  r  s     r+   r'   zJustReader.__init__
  r  r,   c                 8    | j                   j                  |      S r&   )r  r@  )r)   r   s     r+   r@  zJustReader.read
  s    yy~~a  r,   c                 :    | j                   j                  ||      S r&   )r  rN   )r)   offwhences      r+   rN   zJustReader.seek
  s    yy~~c6**r,   NrZ  )r3   r4   r5   r'   r@  rN   r7   r,   r+   r  r  ~
  s    !+r,   r  c                  .   t         j                  j                  d      } t               }t        |      }t        j                  ||        |j                          |j                  d       t        |      }t        t        j                  |      |        y )Nr  r   )
rS   r   r   r  r   rM   rN   r  r   rT   r  s      r+   test_ducktypingr  
  sb    
		 A	A1AGGAqMGGIFF1I1Arwwqz1%r,   c                     t               } t        j                  | d      }|j                  d       |j	                          | j                  d       t        d      5 }t        |d      5 }|j                  | j                                d d d        t        j                  |      }d d d        | j	                          t        g d       y # 1 sw Y   ExY w# 1 sw Y   4xY w)	Nr_  r     1 2 3
r   rm  r   r   r   )r   r  r  r.   rR   rN   r   r   r@  rS   rE  r   )r*   r;  rL   r   r  s        r+   test_gzip_loadtxtr  
  s     		Aac*AGGJGGIFF1I		 4$ 	GGAFFH	jj GGIsI&	 	 s$    C- CCC	CC&c                     t               } t        j                  | d      }|j                  d       |j	                          | j                  d       t        j                  | d      }t        t        j                  |      g d       y )Nr_  r  r  r   r~   r   )	r   r  r  r.   rR   rN   r   rS   rE  )r*   r   s     r+   test_gzip_loadtxt_from_stringr  
  s[    	Aac*AGGJGGIFF1Iac*Arzz!}i0r,   c                  J   t               } t        j                  d      }t        j                  d      }t        j                  | ||       | j	                  d       t        j
                  |       }t        d|v        t        d|v        t        d|j                         v        t        d|j                         v        |j                         D ](  \  }}t        |dv        t        |j                  d       * |j                         D ]  }t        |j                  d        t        t        |j                               dk(         |D ]  }t        |dv         t        d|j                         v        |j                  d      |d   k(  j                         sJ y )N)r:   r:   )r   r   r   r   r   rj   )r   rS   rJ  r   rN   rT   r   keysitemsr   re   valuesr  rK   all)r*   r   r   r+  r   rg   s         r+   test_npzfile_dictr  
  sL   	A
A
AHHQ!qFF1I

AC1HC1HC1668OC1668O	 &1Z QWWf%& XXZ &QWWf%& C	Na  !Z ! C1668OEE#J!C& %%'''r,   zPython lacks refcountsrz   c                     t               } t        j                  | g d       | j                  d       t	               5  t        j
                  |        d d d        | j                  d       ddg}t	               5  t        j                  t        d      |      }t        |t        j                  dg|             d d d        y # 1 sw Y   txY w# 1 sw Y   y xY w)Nr   r   )rg   u1rj   )r   r  rj   z0 1 2 3rl   )r  r  )
r   rS   r   rN   r   rT   rE  r$   r   rn   )r   r   r   s      r+   test_load_refcountr  
  s    
 		AHHQ	FF1I		 

 FF1I
.	)B		 @JJvi(3Q"2!32>?@ @ 
@ @s   C;ACCCc                     t               } t        j                  | d       t        j                  | d       | j                  d       t        j                  |       }|dk(  sJ t        j                  |       }|dk(  sJ t        j                  t              5  t        j                  |        d d d        y # 1 sw Y   y xY w)Nrc   rj   r   )r   rS   r   rN   rT   r   r   EOFError)r   out1out2s      r+   #test_load_multiple_arrays_until_eofr  
  s    	AGGAqMGGAqMFF1I771:D199771:D199	x	  

  s   B88Cc                     t        j                  ddgt              } t        d      5 }t        j                  ||        d d d        t        d      5 }t        j                  t        d      5  t        j                  || d	       d d d        d d d        t        d      5 }t        j                  ||        d d d        t        d      5 }t        j                  t        d      5  t        j                  || d	       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   BxY w# 1 sw Y   y xY w)
Nrc   hellorl   r   r   z$Object arrays cannot be saved when.*r   F)rF   )	rS   rn   ru   r   r   r   r   r  r  )	obj_arrayr   s     r+   test_savez_nopickler  
  s.   !WV4I		  !C
i ! 
	  9C]]:-ST 	9HHS)%8	99 
	  ,C
C+, 
	  DC]]:-ST 	DYUC	DD D! !	9 	99 9, ,	D 	DD Ds_   DD/1D#
D/&D;E-EED #D,	(D//D8;EE	EEr&   )YrO   r   r  rZ   r   r>   r   rP  r   pathlibr   tempfiler   ior   r   r   r  multiprocessingr   r	   ctypesr
   numpyrS   numpy.mar  numpy.exceptionsr   numpy.lib._iotoolsr   r   	numpy.libr   numpy.lib._npyio_implr   r   numpy.ma.testutilsr   numpy.testingr   r   r   r   r   r   r   r   r   r   r   r   r   r   r    numpy.testing._private.utilsr!   numpy._utilsr"   r$   maxsizer  r  rr  rk  r  rs  r?   rB   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r7   r,   r+   <module>r     s   
 	  	    	   '     .    6 @ ! 8 +     9  >W >& ;;GH
0h% h%VI= I]M ]@_ _B	E% E%Pn,+ n,`?6 ?6Ju!+ u!p%j( j(Z& ! !+ +&'*1(> $-EF@ G@$
D{U  G
  Hs$   F F FFFF