
    d                     .   d dl Z d dlZd dlmZ d dlZd dlZd dlm	Z	 g dZ
e j        dk    re
g dz  Z
ne
g dz  Z
e
dgz  Z
 eed	          re
                    d
            eed          s eed          re
                    d            eed          s eed          re
                    d           ddde j                 Z G d de	j                  Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d  d!e          Z G d" d#e          Z G d$ d%e	j        e	j                  Z G d& d'ej                  Z G d( d)e	j        e	j                  Z G d* d+ej                  Z G d, d-ej                  Z G d. d/e	j        e	j                  Z G d0 d1e          Z  G d2 d3e          Z! G d4 d5e	j        e	j                  Z" G d6 d7e"          Z# G d8 d9e"          Z$ G d: d;e	j        e	j                  Z% G d< d=e%          Z& G d> d?e%          Z'd@ Z(e)dAk    rA e	j*        e j+                    e	j,                     e	j-        .                    dBC           dS dS )D    N)Path)common)bhilqfdwin32)BHILQFD)r   r   r   r   r   r   b1Float16AtomeFloat96AtomFloat128AtomgComplex192AtomConplex256AtomG<>)littlebigc                   4    e Zd ZdZdZd Zd Zd Zd Zd Z	dS )	BasicTestCasezmBasic test for all the supported typecodes present in NumPy.

    All of them are included on PyTables.

    r   c                    t           j        rCt          dd           t          d|j        j        z  d           t          d| j                   t          j        d          | _        	 t          j
        | j        d	          5 | _        | j        j        | _        |}| j                            | j        d
|d           d d d            n# 1 swxY w Y   t          j
        | j        d	          5 | _        | j        j        | _        | j        j                                        }t!          |d          s+t"          j                            ||j        j                  }t           j        rt          d|           t          d|j                   t          d|j                   t          d|j        j                   t          d|           t          d|j                   t          d|j                   t          d|j        j                   | j        j        j        j        }|                     t/          |          t/          |                     |                     |j        |j                   |                     |j        | j        j        j                   |                     |j        |j                   |j        j        d         dk    r|                     |d           n%|                     |j        j        j        |           |                     t          j        ||d                     d d d            n# 1 swxY w Y   t;          | j                                                  r(t;          | j                                                   d S d S # t;          | j                                                  r't;          | j                                                   w w xY w)N
<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=z)Running test for array with typecode '%s' endzfor class check:z.h5wmode	somearrayz
Some arrayrshapedtypezArray written:zArray written shape:zArray written itemsize:zArray written type:zArray read:zArray read shape:zArray read itemsize:zArray read type:r   Sstringnumpy) r   verboseprintr0   chartitletempfilemktemph5fnametb	open_fileh5filerootcreate_arrayr,   readhasattrnparraystrr.   itemsizeatomtypeassertEqualbasename
assertTrueallequalr   is_fileunlink)self	testArrayar   type_s        7lib/python3.11/site-packages/tables/tests/test_numpy.py	WriteReadzBasicTestCase.WriteRead&   s   > 	2$	"""=/&',/1 1 1 1$dj111  u--1	,dl555 7 K,	 ((K)57 7 77 7 7 7 7 7 7 7 7 7 7 7 7 7 7 dl555 #@ K,	 I',,.. q'** :AQW[99A > <*A...0!':::3QZ@@@/>>>-+++-qw7770!*===,agl;;;	+05   a$q''222  !'222  $)*=*CDDD  !'2227<?c))$$UH5555$$QW\%6>>>1g > >???G#@ #@ #@ #@ #@ #@ #@ #@ #@ #@ #@ #@ #@ #@ #@L DL!!))++ ,T\""))+++++, ,tDL!!))++ ,T\""))++++,sV   *N( ;C N( CN( CN( 2IMN( MN( MN( (AO7c           	          t          j        | j        dt          t	          | j                            z             }|                     |           dS )z2Data integrity during recovery (character objects)r1   N)rB   rC   	tupleCharrD   lenrT   )rO   rQ   s     rS   test00_charzBasicTestCase.test00_charb   sF     HT^SS-@-@)A)A%ABBq    c           	      >   t          j        | j        dt          t	          | j                            z             }|j        dk    r|}n=|ddd         }|j        d         dk    r!|                     |j        d         d           |                     |           dS )zAData integrity during recovery (non-contiguous character objects)r1    N   r   
CONTIGUOUSF)	rB   rC   rV   rD   rW   r.   rH   flagsrT   )rO   rQ   r   s      rS   test01_char_nczBasicTestCase.test01_char_nch   s     HT^SS-@-@)A)A%ABB7b==AA##A#AwqzA~~  !6>>>qrY   c                     t           D ]Y}| j        j        r| j                            |          }nt	          j        | j        |          }|                     |           ZdS )z0Data integrity during recovery (numerical types)r/   N)	typecodestupleIntr.   astyperB   rC   rT   )rO   typecoderQ   s      rS   test02_typeszBasicTestCase.test02_typesu   sn     " 	 	H}" <M((22 HT](;;;NN1	 	rY   c                    t           D ]}| j        j        r| j                            |          }nt	          j        | j        |          }t          |j                  dk    rt          j        j	        |ddd         }|j        d         dk    r!| 
                    |j        d         d           |                     |           dS )z?Data integrity during recovery (non-contiguous numerical types)r/   r   Nr\   r]   F)ra   rb   r.   rc   rB   rC   rW   r   unittestSkipTestrH   r^   rT   )rO   rd   rQ   r   s       rS   test03_types_nczBasicTestCase.test03_types_nc   s     " 	 	H}" <M((22 HT](;;; 17||q  o..##A#A wqzA~~  !6>>>NN1	 	rY   N)
__name__
__module____qualname____doc__endiancheckrT   rX   r_   re   ri   r[   rY   rS   r"   r"      sq         
 K:, :, :,x    	 	 	    rY   r"   c                   6    e Zd ZdZ ej        d          ZdZdS )Basic0DOneTestCasezRank-0 case 1   4Nrj   rk   rl   r7   rB   rC   rb   rV   r[   rY   rS   rp   rp      s'        Erx{{HIIIrY   rp   c                   6    e Zd ZdZ ej        d          ZdZdS )Basic0DTwoTestCasezRank-0 case 2!   44Nrs   r[   rY   rS   ru   ru      s'        Erx||HIIIrY   ru   c                   6    e Zd ZdZ ej        d          ZdZdS )Basic1DOneTestCasezRank-1 case 1rq   )rQ   Nrs   r[   rY   rS   ry   ry      s'        Erx~~HIIIrY   ry   c                   6    e Zd ZdZ ej        d          ZdZdS )Basic1DTwoTestCasezRank-1 case 2)r      )aaaNrs   r[   rY   rS   r|   r|      s)        ErxHIIIrY   r|   c                   6    e Zd ZdZ ej        d          ZdZdS )Basic1DThreeTestCasezRank-1 case 3)rq   r}      )aaaabbbNrs   r[   rY   rS   r   r      s)        Erx	""H IIIrY   r   c                   H    e Zd ZdZ ej        d          ZddgddgddggZd	S )
Basic2DTestCasezRank-2 case 1)r}   r}   r~   dddddr   sssttN)rj   rk   rl   r7   rB   onesrb   rV   r[   rY   rS   r   r      s;        ErwvH!C;d<IIIrY   r   c                   V    e Zd ZdZ ej        d          Z ej        ed          ZdS )Basic10DTestCasezRank-10 case 1)
r\   r\   r\   r\   r\   r\   r\   r\   r\   r\   S1r/   N)	rj   rk   rl   r7   rB   r   rb   rC   rV   r[   rY   rS   r   r      s<        ErwwH ...IIIrY   r   c                       e Zd ZdZd Zd ZdS )GroupsArrayTestCasezvThis test class checks combinations of arrays with groups.

    It also uses arrays ranks which ranges until 10.

    c                 :   t           j        r,t          dd           t          d| j        j        z             | j        j        }d}t          D ]}t          j	        d|z  |          }d|z   }t           j        r#t          d|
                    |                     | j                            |||d           | j                            |d	t          |          z             }|dz  }|                                  | j        j        }t          dt!          t                              D ]}t          j	        d|z  t          |dz
                     }t#          |dt          |dz
           z             }|                                }t          j        ||d
          st           j        rt          d|j                   t          d|           t          d|j                   t          d|j        d           t          d|j        z             t          d|j        d           t          d|j        j        z             |                     |j        |j                   t          j        d          j        dk    r|j        j        dk    s|j        j        dk    r"|                     |j        j        d           n3|j        j        dk    s|j        j        dk    r!|                     |j        j        d           n|                     t          j        ||d
                     nt          j        d          j        dk    r|j        j        dk    s|j        j        dk    r!|                     |j        j        d           nj|j        j        dk    s|j        j        dk    r!|                     |j        j        d           n)|                     t          j        ||d
                     t#          |d	t          |          z             }d S )!zoChecking combinations of arrays with groups

        It also uses arrays ranks which ranges until 10.

        r$   r%   z$Running %s.test00_iterativeGroups...   r\   array_zCreating dataset:zLarge arraygroupr3   zArray a original. Shape: ==>zArray a original. Data: ==>Info from dataset:z  shape ==>r&   r'   z  dtype ==> %s"Array b read from file. Shape: ==>z. Type ==> %sr   r}   r   r   r   r   r   )r   r      r	   )r   r	   r   )r   r   N)r   r4   r5   	__class__rj   r=   r>   ra   rB   r   _g_joinr?   create_grouprD   _reopenrangerW   getattrr@   rL   r.   _v_pathnamer0   r6   rH   rE   assertInrK   )rO   r   r   rd   rQ   dsetnamedsetr   s           rS   test00_iterativeGroupsz*GroupsArrayTestCase.test00_iterativeGroups   s    > 	+$	"""8.)* + + +  ! 	 	Hq(++A(*H~ D)5==+B+BCCCK$$UHaGGGK,,UGc!ff4DEEEFAA   q#i..)) -	5 -	5Aq)AE"233A5(Yqs^";<<D		A?1a11 6fn 64ag>>>3Q777*D,<===mTZS9999&3444:AGMMMMo4555QWag...x}}%**GLC''17<3+>+> MM!',
;;;;glc))QW\S-@-@ MM!',
;;;;OOFOAq'$B$BCCCC#'1,,GLC''17<3+>+> MM!',
;;;;glc))QW\S-@-@ MM!',
;;;;OOFOAq'$B$BCCC E7SVV#344EE[-	5 -	5rY   c                    d}d}t           j        r<t          dd           t          d| j        j        z             t          d|           | j        j        }t           j        rt          dd	           t          ||dz             D ]}t          j	        d
|z  d          }t           j        rt          d|z  d	           | j        
                    |d|d|z             | j                            |dt          |          z             }| j                                         |                                  | j        j        }t           j        rt                       t          d           t          ||dz             D ]}t          j	        d
|z  d          }|j                                        }t           j        rt          d|z  d	           |                                |                                k    st           j        r}|j        }t          d|j                   t          d|j        d	           t          d|j        z             t          d|j        d	           t          d|j        j        z             |                     |j        |j                   |j        j        dk    r!|                     |j        j        d           n*|                     |j        j        |j        j                   |                     ||           | j                            |dt          |          z             }t           j        rt                       dS dS )zChecking creation of large rank arrays (0 < rank <= 32)

        It also uses arrays ranks which ranges until maxrank.

        r       r$   r%   z$Running %s.test01_largeRankArrays...zMaximum rank for tested arrays:zRank array writing progress: r&   r'   )r   r   z%3d,rC   zRank: %sr   zRank array reading progress: r   z  Shape: ==>z  typecode ==> %cr   z. Type ==> %cr   N)r   r4   r5   r   rj   r=   r>   r   rB   r   r?   r   rD   flushr   rC   r@   tolistr   r.   rd   r0   r6   rH   r   get_node)rO   minrankmaxrankr   rankrQ   r   r   s           rS   test01_largeRankArraysz*GroupsArrayTestCase.test01_largeRankArrays-  s.    > 	>$	"""8.)* + + +3W=== > 	<1s;;;;'7Q;// 	I 	IDtS))A~ 0fo3////K$$UGQ
T8IJJJK,,UGc$ii4GHHEE 	 > 	3GGG1222'7Q;// 	E 	EDtS))A  ""A~ 0fo3////88::+++{*D,<===ndjc::::)DM9::::AGMMMMo4555QWag...w|s"" aglJ7777  qw|<<<Q""" K((#d))0CDDEE> 	GGGGG	 	rY   N)rj   rk   rl   rm   r   r   r[   rY   rS   r   r      sE         P5 P5 P5dE E E E ErY   r   c                       e Zd Z ej        ddd          Z ej        ddd          Z ej        d          Z ej	        d          Z
 ej        d          Z ej        d          Z ej        d          Z ej        d          Z ej        d          Z ej        d          Z ej        d          Z ej        d          Z ej        d	d
          Z ej        dd
          Z eed          r ej        d          Z  eed          r ej!        d          Z" eed          r ej#        d          Z$ eed          r ej        dd
          Z% eed          r ej        dd
          Z&dS dS )Recordr}   s   abcdr   rE   dfltposr      ar   g      ?r   y      ?        )rE   r      
Float16Col
Float96ColFloat128ColComplex196Col   Complex256Colr   N)'rj   rk   rl   r;   	StringColvar1var2BoolColvar3Int8Colvar4UInt8Colvar5Int16Colvar6	UInt16Colvar7Int32Colvar8	UInt32Colvar9Int64Colvar10
Float32Colvar11
Float64Colvar12
ComplexColvar13var14rA   r   var15r   var16r   var17var18var19r[   rY   rS   r   r   v  s       2<a888D2<1555D2:1D2:1D2;AD2;AD2<QD2;AD2<QDBKQEBMs###EBMs###EBM1F444EBM2V555Ewr<   (3'''wr<   (3'''wr=!! )C(((wr?## :r999wr?## :r999: :rY   r   c                   F     e Zd ZdZ fdZd Zd Zd Zd Zd Z	d Z
 xZS )	TableReadTestCased   c                 *   t                                                       | j                            | j        j        dt
                    }t          | j                  D ]}|j        	                                 | 
                    d           d S )NtablerQ   r*   )supersetUpr=   create_tabler>   r   r   nrowsrowappendr   rO   r   r   r   s      rS   r   zTableReadTestCase.setUp  s~     (()97FKKtz"" 	 	AI#rY   c                    | j         j        j        }d|_        |j        D ]@}|                    |          }|j        |         }|j        j        |         j	        j
        }|j        j        }|dk    r|dk    r t          j        dg| j        z  d          }nt          j        dg| j        z  d	          }t           j        rrt%          d
|           t%          dd           t%          d|           t%          d|j                   t%          d|j                   t%          d|dd                    |                     t!          j        ||d                     BdS )zOChecking column conversion into NumPy in read().

        Char flavor

        r3   fieldr2   r   abcdS4r/   rQ   r   Typecode of NumPy column read:Should look like:cItemsize of column:Shape of NumPy column read:First 3 elements of read col:Nrq   )r=   r>   r   flavorcolnamesr@   coltypesdescription	_v_dtypesrI   rE   r0   r6   rB   rC   r   r   r4   r5   r.   rK   rL   )rO   r   colnamenumcoltypecolitemsizecol
nctypecode
orignumcols           rS   test01_readTableCharz&TableReadTestCase.test01_readTableChar  se     &~ 	N 	NGZZgZ..FnW-G+5g>CLK*J(""??!#6(4:*=T!J!J!JJJ!#3%
*:$!G!G!GJ> G:JGGG-s333/===7FFF-z/?@@@96"1":FFF
G L LMMM%	N 	NrY   c                    | j         j        j        }d|_        |j        D ]}|                    |          }|j        |         }t          j        |j	        j
        d                  }|dk    rzt          j        r t          d|           t          d|           t          j        | j        |j	        j
                  }|                     t          j        ||d                     dS )	zPChecking column conversion into NumPy in read().

        NumPy flavor

        r3   r   r   r2   r   r   r.   r0   N)r=   r>   r   r   r   r@   r   rB   
sctypeDictr0   r6   r   r4   r5   r   r   rK   rL   )rO   r   r   r   r   r   r   s          rS   test01_readTableNumz%TableReadTestCase.test01_readTableNum  s      &~ 
	N 
	NGZZgZ..FnW-Gv|'8';<J(""> 8:JGGG-w777W4:V\=NOOO

G L LMMM
	N 
	NrY   c                    | j         j        j        }d|_        g d}t	          |          | _        |j        D ]A}|                    ||          }|j        |         }|j	        j
        |         j        j        }|j        j        }|dk    r|dk    r t          j        dg| j        z  d          }nt          j        d	g| j        z  d
          }t"          j        rrt'          d|           t'          dd           t'          d|           t'          d|j                   t'          d|j                   t'          d|dd                    |                     t#          j        ||d                     CdS )zFColumn conversion into NumPy in readCoords().

        Chars

        r3   r   r\   rq   r   r2   r   r   r   r/   rQ   r   r   r   r   r   r   r   Nrq   )r=   r>   r   r   rW   r   r   read_coordinatesr   r   r   rI   rE   r0   r6   rB   rC   r   r4   r5   r.   rK   rL   )	rO   r   coordsr   r   r   r   r   r   s	            rS   test02_readCoordsCharz'TableReadTestCase.test02_readCoordsChar  s     &[[
~ 	N 	NG++F'+BBFnW-G+5g>CLK*J(""??!#6(4:*=T!J!J!JJJ!#3%
*:$!G!G!GJ> G:JGGG-s333/===7FFF-z/?@@@96"1":FFF
G L LMMM%	N 	NrY   c                    | j         j        j        }d|_        g d}t	          |          | _        |j        D ]}|                    ||          }|j        |         }|j	        j
        }|dk    r|dk    r dS t          j        r t          d|           t          d|           t          j        | j        |j	        j        	          }|                     t          j        ||d                     dS )
zMColumn conversion into NumPy in read_coordinates().

        NumPy.

        r3   r  r   r2   int64NType of read NumPy column:r   r   )r=   r>   r   r   rW   r   r   r  r   r0   rG   r   r4   r5   rB   r   r6   rK   rL   )rO   r   r  r   r   r   rR   r   s           rS   test02_readCoordsNumz&TableReadTestCase.test02_readCoordsNum  s      &[[
~ 	N 	NG++F'+BBFnW-GL%E(""g%%FF> 86>>>-w777W4:V\=NOOO

G L LMMM	N 	NrY   c                    | j         j        j        t          j        g dd          }j        D ]Њfd|D             }j                 }|dk    r|dk    r dS t          j        ||          }t          j        r,|j	        j
        }t          d|           t          d	|           t          j        t          |          |j	        j        
          }|                     t          j        ||d                     dS )z7Getting table rows specifyied as NumPy scalar integers.r  int8r/   c                 ,    g | ]}|                  S r[   r[   ).0coordr   r   s     rS   
<listcomp>z:TableReadTestCase.test03_getIndexNumPy.<locals>.<listcomp>  s"    @@@eEl7+@@@rY   r2   r  Nr  r   r   r3   )r=   r>   r   rB   rC   r   r   r   r4   r0   rG   r5   r   rW   r6   rK   rL   )rO   r  r   r   rR   r   r   r   s         @@rS   test03_getIndexNumPyz&TableReadTestCase.test03_getIndexNumPy  s     &)))6222~ 	N 	NG@@@@@@@@FnW-G(""g%%FF&'22> 8"L-E6>>>-w777W3v;;+1<+<> > >
 
G L LMMM	N 	NrY   c                    |                      d           | j        j        j        }d|_        t          j        g dd          }t          t          j	                  dz
  }t          dd	gd
g|z  z             ||d         <   |                    |d         |d         dz             }t          j        rt          d           t          d|           |                     |d         d           |                     |d         d           |                     |d         d           |                     |d         d
           |                     |d         d
           dS )z0Setting table rows specifyied as NumPy integers.rQ   r*   r3   r  r  r/   r\   aasax{   r   r   z{Original row:
['aasa', 'x', True, 123, 123, 123, 123, 123, 123L, 123, 123.0, 123.0, (123 + 0j), (123+0j), 123.0, (123+0j)]
z
Read row:
r   s   aasar      xr   Tr   r   N)r   r=   r>   r   r   rB   rC   rW   r   columnstupler@   r   r4   r5   rH   )rO   r   r  nrecords        rS   test04_setIndexNumPyz&TableReadTestCase.test04_setIndexNumPy  sY    	# &)))6222 !# &#uQw!677fQiF1Ivay1}55> 	)   ! ! ! -(((111......--------rY   )rj   rk   rl   r   r   r   r   r  r	  r  r  __classcell__r   s   @rS   r   r     s        E    N N N:N N N*N N N>N N N2N N N*. . . . . . .rY   r   c                   V    e Zd ZdZ ej        d          Z ej        d          ZdS )Inforq   r\   rE   r   N)	rj   rk   rl   _v_posr;   r   Namer   Valuer[   rY   rS   r  r  <  s;        F2<###DBM2&&&EEErY   r  c                      e Zd ZdZ ej        ddd          Z ej        dd          Z ej	        d          Z
 ej        d	ddd
ddd          Z ej        d	dd          Z e            Z G d dej                  ZdS )
TestTDescrz.A description that has several nested columns.r   r\   )r   r.   r   r   r\   r\   )r   r.   r   r}   )r-   r   r   r-   int32r.   s   abr   c                       e Zd ZdZ ej        d          Z ej        dd          Z ej	        d          Z
 ej                    Z G d d	ej                  Zd
S )TestTDescr.Infor   r\   r  r   r   )rE   r   )r   c                   v    e Zd Z ej        d          Z ej        d          Z ej        dd          Z	dS )TestTDescr.Info.Info2r\   r'  r  r   )rE   r.   N)
rj   rk   rl   r;   	Time64Coly3r   rJ   r   valuer[   rY   rS   Info2r+  T  sL        A&&&B2<+++D!BM2Q777EEErY   r/  N)rj   rk   rl   r   r;   r   rJ   r   r.  FloatColy2r   z2IsDescriptionr/  r[   rY   rS   r  r)  M  s        r|Q'''rq111R[QR[]]	8 	8 	8 	8 	8B$ 	8 	8 	8 	8 	8rY   r  N)rj   rk   rl   rm   r;   r   r  r0  yr   zEnumColz3r   colorr  infor3  r[   rY   rS   r$  r$  B  s        88!+++A&)))AA	!!!,,c7!	D	D	DBBL!%Q777E466D
8 
8 
8 
8 
8r 
8 
8 
8 
8 
8rY   r$  c                        e Zd ZdZ f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 xZS )TableNativeFlavorTestCaser   c                 B   t                                                       | j                            | j        j        dt
          | j                  }d|_        t          | j                  D ]}|j	        
                                 |                                 d S )Nr   )expectedrowsr3   )r   r   r=   r   r>   r$  r   r   r   r   r   r   r   s      rS   r   zTableNativeFlavorTestCase.setUp]  s     (()97J6:j ) B Btz"" 	 	AIrY   c                 @   | j         r|                     d           | j        j        j        }|dd         }t
          j        rOt          dt          |                     t          d|j	        j
                   t          d|dd                    |                     |t          j                   |j        j        dd         }|                     |t          j                   t          j        dd	
          }|                     t          j        ||d                     |j        j        dd         }|                     |t          j                   dddg dfddg}t          j        d|
          }|                     |j	        j
        |j	        j
                   t
          j        r t          d|           t          d|           |                     t+          |                                j                  t+          |j                             dS )z)Checking the return of a NumPy in read().rQ   r*   NType of read:Description of the record:First 3 elements of read:rq   rq   r\   r&  r/   r3   )r.  c16)r1  f8r/  )rJ   S2)r.  rC  r   )r-  rD  r   rE  )r2  u1rz   col-->npcol-->)closer   r=   r>   r   r   r4   r5   rG   r0   descrassertIsInstancerB   ndarraycolsr  zerosrK   rL   r  rH   bytescopydatarO   r   rR  colnpcolr0   s         rS   test01a_basicTableReadz0TableNativeFlavorTestCase.test01a_basicTableReadh  s    : 	#LLcL""" &QQQx> 	9/4::....
0@AAA-tBQBx888 	dBJ/// jl2A2c2:...w///UG<<=== jobqb!c2:...!' ' '(   U+++%+*;<<<> 	%(C   *e$$$ 	sxxzz//uz1B1BCCCCCrY   c                    | j         r|                     d           | j        j        j        }|ddd         }t
          j        rOt          dt          |                     t          d|j	        j
                   t          d|dd                    |                     |t          j                   |j        j        ddd         }|                     |t          j                   t          j        d	d
          }|                     t          j        ||d                     |j        j        ddd         }|                     |t          j                   ddt(          z  fddt(          z  fddddt(          z  dfddt(          z  dfgfddg}t          j        d|          }|                     |j	        j
        |j	        j
                   t
          j        r t          d|           t          d|           |                     t-          |                                j                  t-          |j                             dS )z;Checking the return of a NumPy in read() (strided version).rQ   r*   Nrq   r?  r@  rA  	   rB  r&  r/   r3   r.  %sc16r1  %sf8r/  rJ   z|S2r   r-  r2  z|u1rz   rH  rI  )rJ  r   r=   r>   r   r   r4   r5   rG   r0   rK  rL  rB   rM  rN  r  rO  rK   rL   r  	byteorderrH   rP  rQ  rR  rS  s         rS   test01b_basicTableReadz0TableNativeFlavorTestCase.test01b_basicTableRead  s'    : 	#LLcL""" &SSqSz> 	9/4::....
0@AAA-tBQBx888 	dBJ/// jl4Aa4 c2:...w///UG<<=== jodqd#c2:...7Y./*+"Wy0$7&9,d356 !  U+++%+*;<<<> 	%(C   *e$$$ 	sxxzz//uz1B1BCCCCCrY   c           	      B   | j         r|                     d           | j        j        j        }|                    d          }t          j        rOt          dt          |                     t          d|j
        j                   t          d|dd                    |                     |t          j                   |                     t!          |          d	           |                     t          j        |t          j        d	d
          d                     dS )z6Checking the return of NumPy in get_where_list method.rQ   r*   zz == 1r?  r@  rA  Nrq   r   i8r/   r3   )rJ  r   r=   r>   r   get_where_listr   r4   r5   rG   r0   rK  rL  rB   rM  rH   rW   rK   rL   arangerO   r   rR  s      rS   test02_getWhereListz-TableNativeFlavorTestCase.test02_getWhereList  s    : 	#LLcL""" &##H--> 	9/4::....
0@AAA-tBQBx888 	dBJ/// 	TC((( 	")Ct,,,g7 7 	8 	8 	8 	8 	8rY   c                    | j         j        j        }|j        j                                         | j        r'|                     d           | j         j        j        }|                    d          }t          j
        r:t          dt          |                     t          dt          |                     |                     |t          j                   |                     t          |          | j                   dS )z<Checking the return of NumPy in read_where method (strings).rQ   r*   color == b"ab"r?  Length of the data read:N)r=   r>   r   rN  r8  create_indexrJ  r   
read_wherer   r4   r5   rG   rW   rL  rB   rM  rH   r   rc  s      rS   test03a_readWherez+TableNativeFlavorTestCase.test03a_readWhere  s      &
%%''': 	+LLcL"""K$*E 011> 	9/4::...,c$ii888 	dBJ/// 	TDJ/////rY   c                    | j         j        j        }|j        j                                         | j        r'|                     d           | j         j        j        }|                    d          }t          j
        r:t          dt          |                     t          dt          |                     |                     |t          j                   |                     t          |          d           dS )z<Checking the return of NumPy in read_where method (numeric).rQ   r*   zz == 0r?  rg  r   N)r=   r>   r   rN  r5  rh  rJ  r   ri  r   r4   r5   rG   rW   rL  rB   rM  rH   rc  s      rS   test03b_readWherez+TableNativeFlavorTestCase.test03b_readWhere  s      &
!!###: 	+LLcL"""K$*E))> 	9/4::...,c$ii888 	dBJ/// 	TA&&&&&rY   c                    ddt           z  fddt           z  fddddt           z  dfddt           z  dfgfdd	g}t          j        d
|          }| j                            | j        j        d|          }| j        r'|                     d           | j        j        j        }|dd         }t          j
        rlt          dt          |                     t          d|j        j                   t          d|dd                    t          dt          |                     |                     |t          j                   |                     |j        j        |j        j                   t          j
        r t          d|           t          d|           |                     t'          |                                j                  t'          |j                             dS )z2Checking the Table creation from a numpy recarray.r.  rY  r1  rZ  r/  r[  r   r-  r\  rz   r/   table2rQ   r*   Nr?  r@  rA  rq   rg  	npdata-->data-->)r]  rB   rO  r=   r   r>   rJ  r   rn  r   r4   r5   rG   r0   rK  rW   rL  rM  rH   rP  rQ  rR  )rO   r0   npdatar   rR  s        rS   test04a_createTablez-TableNativeFlavorTestCase.test04a_createTable  s    7Y./*+"Wy0$7&9,d356 !  $e,,,(()98VLL: 	,LLcL"""K$+EQQQx> 	9/4::....
0@AAA-tBQBx888,c$ii888 	dBJ/// 	)6<+=>>>> 	#+v&&&)T""" 	tyy{{/00%2D2DEEEEErY   c                 J   | j         j        j        }|dd         }|                    |           | j        r'|                     d           | j         j        j        }|dd         }t          j        rlt          dt          |                     t          d|j
        j                   t          d	|dd                    t          d
t          |                     |                     |t          j                   |                     |j
        j        |j
        j                   t          j        r t          d|           t          d|           |                     t#          |                                j                  t#          |j                             dS )z$Checking appending a numpy recarray.rq      rQ   r*   Nr?  r@  zLast 3 elements of read:rg  ro  rp  )r=   r>   r   r   rJ  r   r   r4   r5   rG   r0   rK  rW   rL  rB   rM  rH   rP  rQ  rR  )rO   r   rq  rR  s       rS   test04b_appendTablez-TableNativeFlavorTestCase.test04b_appendTable  so     &qsV: 	+LLcL"""K$*ERSSz> 	9/4::....
0@AAA,d233i888,c$ii888 	dBJ/// 	)6<+=>>>> 	#+v&&&)T""" 	tyy{{/00%2D2DEEEEErY   c           	         | j         j        j        }t          j        dd          |j        j        dd<   | j        r'|                     d           | j         j        j        }|j        j        dd         }t          j
        rlt          dt          |                     t          d|j        j                   t          d	|dd
                    t          dt          |                     |                     |t          j                   |                     t          |          d           |                     t          j        |t          j        dd          d                     dS )zChecking assigning to a column.)r   rG  r/   NrQ   r*   r?  r@  rA  rq   rg  r   r3   )r=   r>   r   rB   rO  rN  r5  rJ  r   r   r4   r5   rG   r0   rK  rW   rL  rM  rH   rK   rL   rc  s      rS   test05a_assignColumnz.TableNativeFlavorTestCase.test05a_assignColumn7  sQ     &(6666
QQQ: 	+LLcL"""K$*Ez|AAA> 	9/4::....
0@AAA-tBQBx888,c$ii888 	dBJ/// 	TC((( 	"(6...9 9 	: 	: 	: 	: 	:rY   c                    | j         j        j        }t          j        dd          }t          j        dd          }t          j        dd          }|                    ddd	|||gg d
           | j        r'|                     d           | j         j        j        }|j	        j
        dd         }t          j        rlt          dt          |                     t          d|j        j                   t          d|dd                    t          dt#          |                     |                     |t          j                   |                     |j        j        |j        j                   t          j        r t          d|           t          d|           |                     |                                j        |j                   dS )z+Checking modifying several columns at once.rB  r&  rq   r\   r\   float64rz   uint8rq   rt  r   r  r4  r5  rQ   r*   r?  r@  rA  Nrg  ycol-->rp  )r=   r>   r   rB   r   rO  modify_columnsrJ  r   rN  r4  r   r4   r5   rG   r0   rK  rW   rL  rM  rH   rQ  rR  )rO   r   xcolycolzcolrR  s         rS   test05b_modifyingColumnsz2TableNativeFlavorTestCase.test05b_modifyingColumnsP  s     &wvw''x	9--xg&&Q1tT4&8///JJJ: 	+LLcL"""K$*Ez|AaC > 	9/4::....
0@AAA-tBQBx888,c$ii888 	dBJ/// 	)4:+;<<<> 	#)T""")T""" 	)4955555rY   c                    | j         j        j        }g d}t          j        d|          }|                    ddd|g d           | j        r'|                     d	           | j         j        j        }t          j        d
d          }|j        j	        dd         }t          j        rlt          dt          |                     t          d|j        j                   t          d|dd                    t          dt!          |                     |                     |t          j                   |                     |j        j        |j        j                   t          j        r t          d|           t          d|           |                     |                                j        |j                   dS )z?Checking modifying several columns using a single numpy buffer.))r  i4r   )r4  rD  r%  )r5  rG  rz   r/   rq   rt  r   r}  rQ   r*   rz  r{  r?  r@  rA  Nrg  r~  rp  )r=   r>   r   rB   rO  r  rJ  r   rN  r4  r   r4   r5   rG   r0   rK  rW   rL  rM  rH   rQ  rR  )rO   r   r0   nparrayr  rR  s         rS   test05c_modifyingColumnsz2TableNativeFlavorTestCase.test05c_modifyingColumnsn  s     &EEE(4u---Q1g???: 	+LLcL"""K$*Ex	9--z|AaC > 	9/4::....
0@AAA-tBQBx888,c$ii888 	dBJ/// 	)4:+;<<<> 	#)T""")T""" 	)4955555rY   c                    | j         j        j        }ddt          z  fddt          z  fddddt          z  dfddt          z  dfgfdd	g}t	          j        d
|          }|j        j        dd         }|                    ddd|d           | j	        r'| 
                    d           | j         j        j        }|j        j        dd         }t          j        rlt          dt          |                     t          d|j        j                   t          d|dd                    t          dt#          |                     |                     |t          j                   |                     |j        j        |j        j                   t          j        r t          d|           t          d|           |                     t+          |                                j                  t+          |j                             dS )z9Checking assigning a nested column (using modify_column).r.  rY  r1  rZ  r/  r[  r   r-  r\  rz   r/   rq   rt  r   r  )columnr   rQ   r*   r?  r@  rA  Nrg  ro  rp  )r=   r>   r   r]  rB   rO  rN  r  modify_columnrJ  r   r   r4   r5   rG   r0   rK  rW   rL  rM  rH   rP  rQ  rR  rO   r   r0   rq  rR  s        rS   test06a_assignNestedColumnz4TableNativeFlavorTestCase.test06a_assignNestedColumn  s     &7Y./*+"Wy0$7&9,d356 !  $e,,,zqs#Aq!FFCCC: 	+LLcL"""K$*Ezqs#> 	9/4::....
0@AAA-tBQBx888,c$ii888 	dBJ/// 	)6<+=>>>> 	#+v&&&)T""" 	tyy{{/00%2D2DEEEEErY   c                    | j         j        j        }ddt          z  fddt          z  fddddt          z  dfddt          z  dfgfdd	g}t	          j        d
|          }||j        j        dd<   | j        r'| 	                    d           | j         j        j        }|j        j        dd         }t          j        rlt          dt          |                     t          d|j        j                   t          d|dd                    t          dt!          |                     |                     |t          j                   |                     |j        j        |j        j                   t          j        r t          d|           t          d|           |                     t)          |                                j                  t)          |j                             dS )z>Checking assigning a nested column (using the .cols accessor).r.  rY  r1  rZ  r/  r[  r   r-  r\  rz   r/   rq   rt  rQ   r*   r?  r@  rA  Nrg  ro  rp  )r=   r>   r   r]  rB   rO  rN  r  rJ  r   r   r4   r5   rG   r0   rK  rW   rL  rM  rH   rP  rQ  rR  r  s        rS   test06b_assignNestedColumnz4TableNativeFlavorTestCase.test06b_assignNestedColumn  s     &7Y./*+"Wy0$7&9,d356 !  $e,,,  &
!: 	+LLcL"""K$*Ezqs#> 	9/4::....
0@AAA-tBQBx888,c$ii888 	dBJ/// 	)6<+=>>>> 	#+v&&&)T""" 	tyy{{/00%2D2DEEEEErY   c                 j   | j         j        j        }|dd         }d|d         dd<   |                    ddd|           | j        r'|                     d	
           | j         j        j        }t          j        dd          dz
  }|j        j	        dd         }t          j        rlt          dt          |                     t          d|j        j                   t          d|dd                    t          dt!          |                     |                     |t          j                   |                     |j        j        |j        j                   t          j        r t          d|           t          d|           |                     t          j        ||d                     dS )z<Checking modifying several rows at once (using modify_rows).r   rq   r4  Nrt  r   )rowsrQ   r*   rz  r{  r?  r@  rA  rg  r~  rp  r3   r=   r>   r   modify_rowsrJ  r   rB   rO  rN  r4  r   r4   r5   rG   r0   rK  rW   rL  rM  rH   rK   rL   rO   r   chunkr  rR  s        rS   test07a_modifyingRowsz/TableNativeFlavorTestCase.test07a_modifyingRows  s     & ac
 c
111!Q...: 	+LLcL"""K$*Ex	9--a/z|AaC > 	9/4::....
0@AAA-tBQBx888,c$ii888 	dBJ/// 	)4:+;<<<> 	#)T""")T"""dG<<=====rY   c                 P   | j         j        j        }|dd         }d|d         dd<   ||j        dd<   | j        r'|                     d           | j         j        j        }t          j        d	d
          dz
  }|j        j        dd         }t          j
        rlt          dt          |                     t          d|j        j                   t          d|dd                    t          dt          |                     |                     |t          j                   |                     |j        j        |j        j                   t          j
        r t          d|           t          d|           |                     t          j        ||d                     dS )z>Checking modifying several rows at once (using cols accessor).r   rq   r  r4  Nrt  rQ   r*   rz  r{  r   r?  r@  rA  rg  r~  rp  r3   r=   r>   r   rN  rJ  r   rB   rO  r4  r   r4   r5   rG   r0   rK  rW   rL  rM  rH   rK   rL   r  s        rS   test07b_modifyingRowsz/TableNativeFlavorTestCase.test07b_modifyingRows  s     & ac
 c
111
1Q3: 	+LLcL"""K$*E x	9--a/z|AaC > 	9/4::....
0@AAA-tBQBx888,c$ii888 	dBJ/// 	)4:+;<<<> 	#)T""")T"""dG<<=====rY   c                 d   | j         j        j        }|dd         }d|d         dd<   |                    ddd|           | j        r'|                     d	
           | j         j        j        }t          j        dd          dz
  }|j        j	        d         }t          j        rlt          dt          |                     t          d|j        j                   t          d|dd                    t          dt!          |                     |                     |t          j                   |                     |j        j        |j        j                   t          j        r t          d|           t          d|           |                     t          j        ||d                     dS )z<Checking modifying just one row at once (using modify_rows).rq   r}   r  r4  Nrt     r   rQ   r*   r%  r{  r?  r@  rA  rg  r~  rp  r3   r  r  s        rS   test08a_modifyingRowsz/TableNativeFlavorTestCase.test08a_modifyingRows  s     & ac
 c
111!Q5))): 	+LLcL"""K$*E x	**1,z|A> 	9/4::....
0@AAA-tBQBx888,c$ii888 	dBJ/// 	)4:+;<<<> 	#)T""")T"""dG<<=====rY   c                 H   | j         j        j        }|dd         }d|d         dd<   ||j        d<   | j        r'|                     d           | j         j        j        }t          j        d	d
          dz
  }|j        j        d         }t          j
        rlt          dt          |                     t          d|j        j                   t          d|dd                    t          dt          |                     |                     |t          j                   |                     |j        j        |j        j                   t          j
        r t          d|           t          d|           |                     t          j        ||d                     dS )z>Checking modifying just one row at once (using cols accessor).rq   r}   r  r4  Nrt  rQ   r*   r%  r{  r   r?  r@  rA  rg  r~  rp  r3   r  r  s        rS   test08b_modifyingRowsz/TableNativeFlavorTestCase.test08b_modifyingRows;  s     & ac
 c
111
1: 	+LLcL"""K$*E x	**1,z|A> 	9/4::....
0@AAA-tBQBx888,c$ii888 	dBJ/// 	)4:+;<<<> 	#)T""")T"""dG<<=====rY   c                 \   | j         r|                     d           | j        j        j        }|                    d          }|                    |          }t          j        rOt          dt          |                     t          d|j        j                   t          d|dd                    |                     |t          j                   |                     t#          |          d	           |d
         D ],}|                     |t          j        dd                     -dS )z2Checking the return of string columns with spaces.rQ   r*   rf  r?  r@  rA  Nrq   r   r8  ab|S4r/   )rJ  r   r=   r>   r   ra  r  r   r4   r5   rG   r0   rK  rL  rB   rM  rH   rW   rC   )rO   r   rdatarR  idatas        rS   test09a_getStringsz,TableNativeFlavorTestCase.test09a_getStrings]  s(    : 	#LLcL""" &$$%566%%e,,> 	9/4::....
0@AAA-tBQBx888 	dBJ/// 	TC((( '] 	A 	AEUBHT$?$?$?@@@@	A 	ArY   c                    | j         r|                     d           | j        j        j        }t          d          D ]}d|j        j        |<   |                                 |dd         }t          j
        rOt          dt          |                     t          d|j        j                   t          d|dd	                    |                     |t           j                   |                     t'          |          d
           t          d
          D ]k}|d         |         }|dk    r+|                     |t!          j        dd                     A|                     |t!          j        dd                     ldS )zNChecking the return of string columns with spaces.

        (modify)

        rQ   r*   2   a  Nr?  r@  rA  rq   r   r8  r  r  r/   )rJ  r   r=   r>   r   r   rN  r8  r   r   r4   r5   rG   r0   rK  rL  rB   rM  rH   rW   rC   )rO   r   r   rR  r  s        rS   test09b_getStringsz,TableNativeFlavorTestCase.test09b_getStringst  s    : 	#LLcL""" &r 	( 	(A"'EJQQQQx> 	9/4::....
0@AAA-tBQBx888 	dBJ/// 	TC((( s 	F 	FAM!$EBww  U(C(C(CDDDD  e(D(D(DEEEE	F 	FrY   c                    | j         r|                     d           | j        j        j        }|j        }t          d          D ]}d|d<   |                                 |                                 | j         r8| j                                          t          j
        | j        d          | _        | j        j        j        dd         }t          j        rOt          dt          |                     t          d|j        j                   t          d	|dd
                    |                     |t&          j                   |                     t-          |          d           t          d          D ]k}|d         |         }|dk     r+|                     |t'          j        dd                     A|                     |t'          j        dd                     ldS )zNChecking the return of string columns with spaces.

        (append)

        rQ   r*   r  r  r8  Nr?  r@  rA  rq      r   r  r  r/   )rJ  r   r=   r>   r   r   r   r   r   r;   r<   r:   r   r4   r5   rG   r0   rK  rL  rB   rM  rH   rW   rC   )rO   r   r   r   rR  r  s         rS   test09c_getStringsz,TableNativeFlavorTestCase.test09c_getStrings  s    : 	#LLcL""" &ir 	 	A CLJJLLLL: 	:K,t|S99DK{%aaa(> 	9/4::....
0@AAA-tBQBx888 	dBJ/// 	TC((( s 	F 	FAM!$E3ww  U(C(C(CDDDD  e(D(D(DEEEE	F 	FrY   )rj   rk   rl   r   r   rV  r^  rd  rj  rl  rr  rv  rx  r  r  r  r  r  r  r  r  r  r  r  r  r  s   @rS   r;  r;  Z  s       E	 	 	 	 	(D (D (DT(D (D (DT8 8 8,0 0 0&' ' '&!F !F !FFF F F8: : :26 6 6<6 6 6<#F #F #FJ$F $F $FL> > >@ >  >  >D >  >  >D >  >  >DA A A.F F FB$F $F $F $F $F $F $FrY   r;  c                       e Zd ZdZdS )TableNativeFlavorOpenTestCaseFNrj   rk   rl   rJ  r[   rY   rS   r  r    s        EEErY   r  c                       e Zd ZdZdS )TableNativeFlavorCloseTestCaseTNr  r[   rY   rS   r  r    s        EEErY   r  c                   *     e Zd Z fdZd Zd Z xZS )AttributesTestCasec                     t                                                       | j                            | j        j        d           d S )Nr   )r   r   r=   r   r>   )rO   r   s    rS   r   zAttributesTestCase.setUp  s9     	  !17;;;;;rY   c                 N   | j         j        j        }|j        }t	          j        dd          |_        | j        r.|                     d           | j         j        j        }|j        }|j        }t	          j        dd          }| 	                    |t          j
                   |                     |j        j        |j        j                   t          j        r t!          d|           t!          d|           |                     t          j        ||d                     d	S )
z+Checking the creation of a numpy attribute.)r   r   int16r/   rQ   r*   	npcomp-->rp  r3   N)r=   r>   r   _v_attrsrB   rO  numpy1rJ  r   rL  rM  rH   r0   rK  r   r4   r5   rK   rL   rO   r   g_attrsrR  npcomps        rS   test01_writeAttributez(AttributesTestCase.test01_writeAttribute  s	     &.&888: 	%LLcL"""K$*EnG ~&000 	dBJ/// 	)6<+=>>>> 	#+v&&&)T"""g>>?????rY   c                    | j         j        j        }|j        }t	          j        dd          |_        | j        r.|                     d           | j         j        j        }|j        }t	          j	        dd          |_        |j        }t	          j	        dd          }| 
                    |t          j                   |                     |j        j        |j        j                   t          j        r t#          d|           t#          d|           |                     t          j        ||d                     d	S )
z/Checking the modification of a numpy attribute.)r   r\   r  r/   rQ   r*   r  rp  r3   N)r=   r>   r   r  rB   rO  r  rJ  r   r   rL  rM  rH   r0   rK  r   r4   r5   rK   rL   r  s        rS   test02_updateAttributez)AttributesTestCase.test02_updateAttribute  s!     &.&888: 	%LLcL"""K$*EnG w777 ~w/// 	dBJ/// 	)6<+=>>>> 	#+v&&&)T"""g>>?????rY   )rj   rk   rl   r   r  r  r  r  s   @rS   r  r    s`        < < < < <@ @ @2@ @ @ @ @ @ @rY   r  c                       e Zd ZdZdS )AttributesOpenTestCaser   Nr  r[   rY   rS   r  r            EEErY   r  c                       e Zd ZdZdS )AttributesCloseTestCaser   Nr  r[   rY   rS   r  r    r  rY   r  c                   0     e Zd Z fdZd Zd Zd Z xZS )StrlenTestCasec                    t                                                       | j                            | j        j        d          }dt          j        d          i}| j                            |d|          | _        d| j        _	        | j        j
        }d|d<   |                                 d|d<   |                                 | j                                         d S )	Nr   Texti  r  r   r3   zHello Francesc!zHola Francesc!)r   r   r=   r   r>   r;   r   r   r   r   r   r   r   )rO   r   tablelayoutr   r   s       rS   r   zStrlenTestCase.setUp
  s     (()97CCr|T:::=[--eWkJJ
#
jn'F

&F


rY   c                 f   | j         r1|                     d           | j        j        j        j        | _        | j                            d          d         }| j                            d          d         }t          j        r t          d|           t          d|           | 
                    t          |          t          d                     | 
                    t          |          t          d	                     | 
                    |d           | 
                    |d	           d
S )z-Checking the lengths of strings (read field).rQ   r*   r  r   r   z
string1-->z
string2-->   Hello Francesc!   Hola Francesc!N)rJ  r   r=   r>   r   r   rT  r   r4   r5   rH   rW   rO   str1str2s      rS   test01zStrlenTestCase.test01  s    : 	6LLcL""")/5DJ z~~f%%a(z~~f%%a(> 	&,%%%,%%% 	TC(:$;$;<<<TC(9$:$:;;;1222011111rY   c                    | j         r1|                     d           | j        j        j        j        | _        | j        dd         d         d         }| j        dd         d         d         }|                     t          |          t          d                     |                     t          |          t          d                     |                     |d           |                     |d           dS )	z0Checking the lengths of strings (read recarray).rQ   r*   Nr  r   r   r  r  rJ  r   r=   r>   r   r   rH   rW   r  s      rS   test02zStrlenTestCase.test02-  s     : 	6LLcL""")/5DJ z!!!}V$Q'z!!!}V$Q' 	TC(:$;$;<<<TC(9$:$:;;;1222011111rY   c                    | j         r1|                     d           | j        j        j        j        | _        | j        d         d         }| j        d         d         }|                     t          |          t          d                     |                     t          |          t          d                     |                     |d           |                     |d           dS )	z<Checking the lengths of strings (read recarray, row by row).rQ   r*   r   r  r   r  r  Nr  r  s      rS   test03zStrlenTestCase.test03>  s     : 	6LLcL""")/5DJ z!}V$z!}V$ 	TC(:$;$;<<<TC(9$:$:;;;1222011111rY   )rj   rk   rl   r   r  r  r  r  r  s   @rS   r  r  	  se            2 2 2(2 2 2"2 2 2 2 2 2 2rY   r  c                       e Zd ZdZdS )StrlenOpenTestCaser   Nr  r[   rY   rS   r  r  P  r  rY   r  c                       e Zd ZdZdS )StrlenCloseTestCaser   Nr  r[   rY   rS   r  r  T  r  rY   r  c                     t           j                                        } d}t          |          D ]H}|                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                                |                     t           j                            t"                               |                     t           j                            t$                               |                     t           j                            t&                               t           j        r7|                     t           j                            t*                               J| S )Nr   )r   rg   	TestSuiter   addTest	makeSuiterp   ru   ry   r|   r   r   r   r   r  r  r  r  r  r  heavyr   )theSuiteniterr   s      rS   suiter  X  s   ((**HE
 5\\ J J223EFFGGG223EFFGGG223EFFGGG223EFFGGG223GHHIII22?CCDDD223FGGHHH223DEEFFFO%%&CDD	F 	F 	FO%%&DEE	G 	G 	G223IJJKKK223JKKLLL223EFFGGG223FGGHHH< 	JV_667GHHIII OrY   __main__r  )defaultTest)/sysr8   pathlibr   r3   rB   tablesr;   tables.testsr   ra   platformrA   r   r]  PyTablesTestCaser"   rp   ru   ry   r|   r   r   r   TempFileMixinr   r3  r   r   r  r$  r;  r  r  r  r  r  r  r  r  r  rj   
parse_argvargvprint_versionsrg   mainr[   rY   rS   <module>r     s   



                      0//	 <74444II////I 	dV 	
72} S
72} ^!<!< S
72   GGB0@$A$A S3''6	t t t t tF+ t t tn                            ! ! ! ! != ! ! != = = = =m = = =/ / / / /} / / /(^ ^ ^ ^ ^&.0G ^ ^ ^D: : : : :R : : :6g. g. g. g. g.,f.E g. g. g.V' ' ' ' '2 ' ' '8 8 8 8 8! 8 8 80_	F _	F _	F _	F _	F 4f6M _	F _	F _	FD    $=       %>   :@ :@ :@ :@ :@-v/F :@ :@ :@z    /       0   D2 D2 D2 D2 D2V)6+B D2 D2 D2N           .     > zFchF
OW----- rY   