
    d8                       d dl Z d dlZd dlZd dlmZ  G d dej                  Z ej	        ddd           ej	        dd	d
gd           ej
        d           ej
        d           ej                     ej                     ej                     ej                     ej	        d          d	Z G d dej                  Z G d dej        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          Zej                            ej         d$           G d% d&e                      Zej                            ej         d'           G d( d)e                      Z ej                            ej!         d*           G d+ d,e                      Z" G d- d.e          Z# G d/ d0e          Z$ G d1 d2e          Z% G d3 d4ej        ej                  Z& G d5 d6e&          Z' G d7 d8e&          Z( G d9 d:e&          Z) G d; d<ej                  Z* G d= d>ej        ej                  Z+ G d? d@ej        ej                  Z, G dA dBej                  Z- G dC dDej        ej                  Z. G dE dFe.          Z/ G dG dHe.          Z0 G dI dJej        ej                  Z1 G dK dLe1          Z2 G dM dNe1          Z3 G dO dPe1          Z4 G dQ dRe1          Z5 G dS dTej        ej                  Z6 G dU dVe6          Z7 G dW dXe6          Z8 G dY dZe6          Z9 G d[ d\e6          Z:d] Z;e<d^k    rA ej=        e j>                    ej?                     ej        @                    d_`           dS dS )a    N)commonc                   R   e Zd Z ej        ddd          Z ej        dddgd          Z ej        dd	          Z ej        d
d	          Z	 ej
        d          Z ej        d          Z ej        d          Z ej        d          Z ej        dd          ZdS )Record          itemsizedfltshape   abcd   efghr   r      r   r   r   r   r   r   @@   r      e)r
   r   N)__name__
__module____qualname__tb	StringColvar0var1IntColvar1_var2Int16Colvar3FloatColvar4
Float32Colvar5	UInt16Colvar6var7 r   :lib/python3.11/site-packages/tables/tests/test_tablesMD.pyr   r      s        2<A666D2<'7);6JJJDBI9A...E29*&999D2;AD2;C   D2=c"""D2<QD2<...DDDr   r   r   r   r   r	   r   r   r   )r   r   )r
   	r   r    r"   r#   r%   r'   r)   r+   r,   c                      e Zd Zej                             ej        d          d          Zej                             ej        d          ddg          Z	ej                             ej        d          d          Z
ej                            d	d
d          Zej                             ej        d          d          Zej                             ej        d          d          Zej                             ej        d          d          Zej                             ej        d          d          Zej                             ej        d          d          ZdS )RecordDT2S4r   r   )S4r   r   r   2i4r   i4r   r   )r   r   i2r   2f8r   f4r   z()u2r   S1r   N)r   r   r   r   Col
from_dtypenpdtyper   r    r"   from_sctyper#   r%   r'   r)   r+   r,   r-   r   r.   r1   r1   +   sr       6XRXe__377D6XRX '  (  * *DFi  ) )E6d +$  & &D6XRXd^^!44D6XRXe__377D6XRXd^^#66D6XRXf--A66D6XRXd^^$77DDDr   r1   c                   r     e Zd ZdZdZdZdZdZdZ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 xZS )BasicTestCasewThis is the table titled      r   zlib   c                     t                                                       | j        j        | _        |                                  | j                                         d S NsupersetUph5fileroot	rootgrouppopulateFilecloseself	__class__s    r.   rK   zBasicTestCase.setUpF   N     )r   c                    | j         }|d         }g }t          | j                  D ]	}g }d| j        |z
  z  gdz  }|                    |           d| j        |z
  z  gdz  gdz  }|                    |           |df}|                    |           |dfdf}	|                    |	           || j        z  }
|                    |
           t          |d         t          j                  r5|                    t          |          t          ||z            g           n"|                    t          |                     t          |d         t          j                  r9|                    t          j	        t          |          fdz                       n"|                    t          |                     |                    |
d	z	  d
z  |
d	z  dz  z              |d         d         d         }|                    |           |                    t          |                     t          j        	                    ||j        | j                  | _        d S )Nr   %04dr   r   r   r'   r)   r            )r=   r   )recordtemplaterangeexpectedrowsappendmaxshort
isinstancer<   ndarrayfloatarraytuplerecr=   record)rR   rf   rowbuflistitmplistr   r    r"   r#   r%   r,   s               r.   initRecArrayzBasicTestCase.initRecArrayN   s8   $Qit()) 	+ 	+AGd/!3459DNN4   t01456:;a?DNN4   FENN5!!!FF#DNN4   t}$DNN4   #f+rz22 )a%A,,78888uQxx(((#f+rz22 )rxqA667777uQxx(((NNTQY$.DAI3GHIII71:b>DNN4   NN5>>****fll7&,)-): # < <r   c           
         | j         }| j        r|                                  t          d          D ]R}t	          j        | j        | j                  }|dk     rt          j	        }ndddt          j	                 }| j
                            |dt          |          z   | j        | j        || j        |          }| j        s~|j        }t          | j                  D ]a}d	| j        |z
  z  }|                    d
          |d<   |                    d
          |d<   |d                             d
          |d<   |df|d<   |dfdf|d<   || j        z  |d<   t'          |d         t(          j                  r%t-          |          t-          ||z            g|d<   nt-          |          |d<   t'          |d         t(          j                  r)t)          j        t-          |          fdz            |d<   nt-          |          |d<   |d         dz	  dz  |d         dz  dz  z   |d<   |                                 c|                                 | j
                            |dt          |          z             }	|	}Td S )N   )	complevelcomplibr   biglittle)rq   rp   table)titlefiltersr]   	byteorderrV   asciir   r    rZ   r,   r   r"   r   r#   r%   r'   r)   r   rW   rX   rY   r+   group)rN   recarrayinitrk   r\   r   Filterscompressro   sysru   rL   create_tablestrrf   rs   r]   rg   encoder_   r`   r<   ra   rb   rc   r^   flushcreate_group)
rR   rw   jrt   ru   rr   rg   ri   sgroup2s
             r.   rO   zBasicTestCase.populateFileq   s    	 q -	 -	Aj4=$,OOOG1uuM		 (-X>>s}M	K,,UGCFFN-1[37:5<:>:K7@ - B BE $ !i t011 ! !A$"3a"78A"#((7"3"3CK"#((7"3"3CK"#B%,,w"7"7CK$%q6CL$%q66"2CK"#dm"3CK!#f+rz:: /',Qxxq1u&>F&+AhhF!#f+rz:: /&(ha{1}&=&=F&+AhhF%([A%5$=%([A%5$?$ACKJJLLLL KKMMM[--eWSVV^DDFEE[-	 -	r   c                   	
 t          j        | j                  | _        | j                            d          j        
t          | j        t                    r| j        	nt          | j        t          j
                  r4t           j                            | j        j                  \  }}|j        	nZt          | j        t          j                  r/t           j                            | j                  \  }}|j        	n| j        j        	g d}|                     |t!          j                             |                     |t!          
j                             	fd|D             }|                     |fd|D                        |                     |
fd|D                        	fd|D             }|                     |fd|D                        |                     |
fd|D                        |D ]}t&          j        rQt+          d		|         j                   t+          d
j        |                    t+          d
j        |                    |                     t'          j        j        |         	|         j                             |                     t'          j        
j        |         	|         j                             |                     |t!          
j                             |D ]W}	|         }
j        |         }|                     |j        |j                   |                     |j        |j                   XdS )z2Checking table description and descriptive fields./table0r/   c                 *    g | ]}|         j         S r-   r=   .0colnamecolumnss     r.   
<listcomp>z4BasicTestCase.test00_description.<locals>.<listcomp>   s1     7 7 7$ !)/ 7 7 7r   c                 *    g | ]}j         |         S r-   )	coldtypesr   vtbls     r.   r   z4BasicTestCase.test00_description.<locals>.<listcomp>   s     BBBq#-*BBBr   c                 *    g | ]}j         |         S r-   )	_v_dtypesr   r   descs     r.   r   z4BasicTestCase.test00_description.<locals>.<listcomp>   s     CCC$.+CCCr   c                 *    g | ]}|         j         S r-   )typer   s     r.   r   z4BasicTestCase.test00_description.<locals>.<listcomp>   s1     7 7 7$ !). 7 7 7r   c                 *    g | ]}j         |         S r-   )coltypesr   s     r.   r   z4BasicTestCase.test00_description.<locals>.<listcomp>   s    AAAa#,q/AAAr   c                 *    g | ]}j         |         S r-   )_v_typesr   s     r.   r   z4BasicTestCase.test00_description.<locals>.<listcomp>   s     BBBq$-*BBBr   zdflt-->zcoldflts-->zdesc.dflts-->N)r   	open_fileh5fnamerL   get_nodedescriptionr`   rf   dictr<   ra   descr_from_dtyper=   _v_colobjectsr   assertEquallistcolnames_v_namesr   verboseprintr   coldflts_v_dflts
assertTrueareArraysEqual_v_pathnamesr   )rR   descr_expectedNamesexpectedTypesr   colNameexpectedColcolr   r   r   s            @@@r.   test00_descriptionz BasicTestCase.test00_description   s    l4<00k""9--dk4(( 
	*kGGRZ00 	*~66t{7HIIHE1)GGRX.. 	*~66t{CCHE1)GG k)G1 1 1S\(:(:;;;T](;(;<<<7 7 7 7(57 7 7BBBBMBBB	D 	D 	DCCCC]CCC	E 	E 	E7 7 7 7(57 7 7AAAA=AAA	C 	C 	CBBBBMBBB	D 	D 	D  	D 	DA~ 9i111mS\!_555ot}Q'7888OOF1#,q/29!*/C C D D DOOF1$-2B29!*/C C D D D D 	T->(?(?@@@ % 	9 	9G!'*K$W-C[.	:::[-sx8888		9 	9r   c           	         t           j        r,t          dd           t          d| j        j        z             t          j        | j        d          | _        | j        	                    d          }d|_
        d |                                D             }t           j        rlt          dt          |                     t          d	|j        d
|j                   t          d|d                    t          dt          |                     | j        dz
  }d |                                D             d         }|                     |d         d         |d         d         d         |d         d         |d         d         d         |d         fdd||df           t%          |d         t&          j                  rP|                     t          j        |d         t'          j        |fdz  t&          j                                       n)|                     |d         t3          |                     |                     t          |          d           dS )zChecking table read and cuts.
<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test01_readTable...rr   rm   c                 f    g | ].}|d          d         d         dk     |d          d         d         /S r#   r   rD   r-   r   r   s     r.   r   z2BasicTestCase.test01_readTable.<locals>.<listcomp>   D     + + +avYq\!_r)) F)A,q/)))r   zTable:Nrows in:Last record in table ==>rZ   $Total selected records in table ==> r   c                 B    g | ]}|d          d         d         dk     |S r   r-   r   s     r.   r   z2BasicTestCase.test01_readTable.<locals>.<listcomp>   s.    AAA1AfIaLOb,@,@Q,@,@,@r   r   r   r    r"   r#   r,      0001   1r)   r   rD   N)r   r   r   rS   r   r   r   r   rL   r   
nrowsinbufiterrowsrepr_v_pathnamenrowslenr]   r   r`   r<   ra   r   allequalrc   float32rb   rR   rr   resultr   r   s        r.   test01_readTablezBasicTestCase.test01_readTable   s8    > 	N$	"""2T^5LLMMM l4<55$$Y// + +5>>+;+; + + + > 	G(DKK(((*e/ekBBB,eBi8888#f++FFF!A%AA((AAA"EfIaLfIaLOgJqMfIaLOfI
 WeUD1	3 	3 	3 ai,, 	6OOFO&	28UHQJ
;;= = > > > > QvYe555Vb)))))r   c                    t           j        r,t          dd           t          d| j        j        z             t          j        | j        d          | _        | j        	                    d          }d|_
        d |                                D             }t           j        rOt          d|j        d	|j                   t          d
|d                    t          dt          |                     |j        }d |                                D             d         }t          |d         t           j                  r,|                     t          j        |d         t!          j        t+          d          fdz  t           j                                       |                     t          j        |d         t!          j        t+          d          fdz  t           j                                       |                     t          j        |d         t!          j        t+          d          fdz  t           j                                       |                     t          j        |d         t!          j        t+          d          fdz  t           j                                       |                     t          j        |d         t!          j        t+          d          fdz  t           j                                       |                     t          j        |d         t!          j        t+          |dz
            fdz  t           j                                       n,|                     |d         t+          |dz
                       |                     t          |          d           d |                                D             }d |                                D             d         }|d         j        j        dk    rt!          j        d| j        dz
  z  gdz  gdz  d          }|                     t          j        |d         |                     t!          j        d| j        dz
  z  gdz  gdz  d          }|                     t          j        |d         |                     t!          j        d| j        dz
  z  gdz  gdz  d          }|                     t          j        |d         |                     t!          j        d| j        dz
  z  gdz  gdz  d          }|                     t          j        |d         |                     t!          j        d| j        dz
  z  gdz  gdz  d          }|                     t          j        |d         |                     t!          j        ddz  gdz  gdz  d          }|                     t          j        |d         |                     n|                     |d         d           |                     t          |          d           dS )z<Checking table read and cuts (multidimensional columns case)r   r   zRunning %s.test01b_readTable...r   r   rm   c                 N    g | ]"}|d          d         d         dk     |d         #S )r#   r   rD   r)   r-   r   s     r.   r   z3BasicTestCase.test01b_readTable.<locals>.<listcomp>  2    OOO!F)A,q/B:N:N1V9:N:N:Nr   r   r   r   rZ   r   c                 B    g | ]}|d          d         d         dk     |S r   r-   r   s     r.   r   z3BasicTestCase.test01b_readTable.<locals>.<listcomp>!  .    GGG!F)A,q/B2F2F12F2F2Fr   r)   r   r   r   r   
   rD   c                 N    g | ]"}|d          d         d         dk     |d         #S )r#   r   rD   r    r-   r   s     r.   r   z3BasicTestCase.test01b_readTable.<locals>.<listcomp>5  r   r   c                 B    g | ]}|d          d         d         dk     |S r   r-   r   s     r.   r   z3BasicTestCase.test01b_readTable.<locals>.<listcomp>6  r   r   r    SrV   0001N)r   r   r   rS   r   r   r   r   rL   r   r   r   r   r   r   r`   r<   ra   r   r   rc   rb   r   r   r=   charr]   )rR   rr   result1r   result2as         r.   test01b_readTablezBasicTestCase.test01b_readTable  s    > 	O$	"""3dn6MMNNN l4<55$$Y// OOenn&6&6OOO> 	H*e/ekBBB,eBi8888#g,,GGGGGenn..GGGKgforz22 	@OOFO
BHeAhh[1_bjAAC C D D DOOFO
BHeAhh[1_bjAAC C D D DOOFO
BHeAhh[1_bjAAC C D D DOOFO
BHeAhh[1_bjAAC C D D DOOFORXuRyylQ&6
CCE E F F FOOFO5+;+;*=*A2:!N!N      WV_eEAI.>.>???Wr*** POenn&6&6OOOGGenn..GGGK6? %,,6T%6%:;<Q>?A3GGAOOFOGAJ::;;;6T%6%:;<Q>?A3GGAOOFOGAJ::;;;6T%6%:;<Q>?A3GGAOOFOGAJ::;;;6T%6%:;<Q>?A3GGAOOFOGAJ::;;;6T%6%;<=a?@BCHHAOOFOGBK;;<<<6Q<.*+A-s33AOOFOGFOQ??@@@@WV_f555Wr*****r   c                    t           j        r,t          dd           t          d| j        j        z             t          j        | j        d          | _        | j        	                    d          }t           j        rFt          d|j
        j        j                   t          d|j
        j        dd         j                   |                     |j
        j        j        |j
        j        dd         j                   dS )	z+Checking shape of multidimensional columns.r   r   zRunning %s.test01c_readTable...r   r   zvar2 col shape:z
Should be:N)r   r   r   rS   r   r   r   r   rL   r   colsr#   r   r   rR   rr   s     r.   test01c_readTablezBasicTestCase.test01c_readTableI  s     > 	O$	"""3dn6MMNNN l4<55$$Y//> 	:#UZ_%:;;;,
 2 8999.
0B0HIIIIIr   c           
         t          j        | j        d          | _        | j        j        | _        t          j        r,t          dd           t          d| j	        j
        z             | j                            d          }|j        }t          j        rKt          d|j        d|j                   t          d	|j        j                   t          d
|j                   t%          | j                  D ]A}d| j        |z
  z  }|                    d          |d<   |                    d          |d<   |d                             d          |d<   |df|d<   |dfdf|d<   || j        z  |d<   t-          |d         t.          j                  r%t3          |          t3          ||z            g|d<   nt3          |          |d<   t-          |d         t.          j                  r)t/          j        t3          |          fdz            |d<   nt3          |          |d<   |                                 C|                                 d |                                D             }d |                                D             d         }| j        dz
  }|                     |d         d         |d         d         d         |d         d         |d         d         d         |d         fdd||df           t-          |d         t.          j                  r]|                     t          j         |d         t/          j        t3          |          fdz  t.          j!                                       n)|                     |d         t3          |                     | j        dk    r| j        }nd}|                     tE          |          d|z              dS ) z4Checking whether appending record rows works or not.r   )moder   r   zRunning %s.test02_AppendRows...z/group0/table1zNrows in oldr   zRecord Format ==>zRecord Size ==>rV   rv   r   r    rZ   r,   r   r"   r   r#   r%   r'   r)   r   c                 f    g | ].}|d          d         d         dk     |d          d         d         /S r   r-   r   s     r.   r   z3BasicTestCase.test02_AppendRows.<locals>.<listcomp>  r   r   c                 B    g | ]}|d          d         d         dk     |S r   r-   r   s     r.   r   z3BasicTestCase.test02_AppendRows.<locals>.<listcomp>  s.    CCCQail1o.B.Bq.B.B.Br   r   r   r   rD   N)#r   r   r   rL   rM   rN   r   r   r   rS   r   r   rg   r   r   r   _v_nested_formatsrowsizer\   
appendrowsr~   r_   r`   r<   ra   rb   rc   r^   r   r   r   r   r   r   r   )rR   rr   rg   ri   r   r   r   adds           r.   test02_AppendRowszBasicTestCase.test02_AppendRowsY  s    l4<c:::)> 	O$	"""3dn6MMNNN $$%566i> 	4.%"3S%+FFF%u'8'JKKK#U]333t'' 	 	A$/A-.A((7++CK((7++CKB%,,w//CKq6CLq66*CKdm+CK#f+rz22 '$Qxxq1u6F#AhhF#f+rz22 ' ha{1}55F#AhhFJJLLLL 	+ +5>>+;+; + + +CC%..**CCCBG!#KNKN1LOKN1K gueT2	4 	4 	4 c&k2:.. 	8OOFOFRXuU||o&92:FFH H I I I I S[%,,777?b  /CCCVb3h/////r   c                    t           j        r,t          dd           t          d| j        j        z             t          j        | j        d          | _        | j        	                    d          }d |
                                D             }t           j        rdt          d|j        d|j                   t          d	|j                   t          d
|d                    t          dt          |                     | j        dz
  }t!          |
                                          d         }|                     |d         d         d         |d         fd|f           |                     t          |          d           dS )z%Checking if table is endianess aware.r   r   zRunning %s.test03_endianess...r   z/group0/group1/table2c                 6    g | ]}|d          dk     |d         S )r%   rD   r#   r-   r   s     r.   r   z2BasicTestCase.test03_endianess.<locals>.<listcomp>  s%    HHH6R!F)r   r   r   zOn-disk byteorder ==>r   rZ   z#Total selected records in table ==>r   r    r   r%   r   rD   N)r   r   r   rS   r   r   r   r   rL   r   r   r   r   ru   r   r]   r   r   r   s        r.   test03_endianesszBasicTestCase.test03_endianess  sc    > 	N$	"""2T^5LLMMM l4<55$$%<== IHU^^%5%5HHH> 	F*e/ekBBB)5?;;;,eBi8887VEEE!A%!!""2&!F)A,q/1V957GHHHVb)))))r   )r   r   r   	open_moders   r]   r   rz   ro   r   rf   rx   r_   rK   rk   rO   r   r   r   r   r   r   __classcell__rS   s   @r.   r@   r@   :   s        I%ELJHGFLH    !< !< !<F2 2 2h@9 @9 @9D$* $* $*L:+ :+ :+xJ J J <0 <0 <0@* * * * * * *r   r@   c                       e Zd ZdZdS )BasicWriteTestCase
BasicWriteN)r   r   r   rs   r-   r   r.   r   r     s        EEEr   r   c                   *    e Zd ZdZeZdZdZdZdZ	dZ
dS )DictWriteTestCase	DictWrite   rm   r   r   N)r   r   r   rs   RecordDescriptionDictrf   r   r   startstopstepr-   r   r.   r   r     s1        E"FEJEDDDDr   r   c                       e Zd Zd ZeZdS )RecordDTWriteTestCaseN)r   r   r   rs   r1   rf   r-   r   r.   r   r     s        #EFFFr   r   c                   f    e Zd Zd Z ej        d          Zd                    d          e_        dS )NumPyDTWriteTestCase-(2,)S4,(2,2)S4,(2,)i4,(2,2)i4,i2,2f8,f4,i2,S1-var0,var1,var1_,var2,var3,var4,var5,var6,var7,N)	r   r   r   rs   r<   r=   rf   splitnamesr-   r   r.   r   r     s:        "ERXEFFFBHHMMFLLLr   r   c                   N    e Zd ZdZej                            dddd          ZdS )RecArrayOneWriteTestCaseRecArrayOneWriteNr  r  r   formatsr  r   )r   r   r   rs   r<   re   rc   rf   r-   r   r.   r  r    s9        EV\\?=	   FFFr   r  c                   V    e Zd ZdZdZdZej                            dddd          Z	dS )RecArrayTwoWriteTestCaseRecArrayTwoWriterC   r   Nz,(2,)a4,(2,2)a4,(2,)i4,(2,2)i4,i2,f8,f4,i2,a1r  r	  
r   r   r   rs   r]   rx   r<   re   rc   r[   r-   r   r.   r  r    sC        ELLV\\>=	 "  NNNr   r  c                   V    e Zd ZdZdZdZej                            dddd          Z	dS )RecArrayThreeWriteTestCaseRecArrayThreeWriterC   r   N.(2,)a4,(2,2)a4,(2,)i4,(2,2)i4,i2,2f8,4f4,i2,a1r  r	  r  r-   r   r.   r  r    sC         ELLV\\@=	 "  NNNr   r  c                   X    e Zd ZdZdZdZej                            ddddd          Z	dS )	RecArrayAlignedWriteTestCaser  rC   r   Nr  r  T)r
  r  r   alignedr  r-   r   r.   r  r    sE         ELLV\\@=	 "  NNNr   r  z'BLOSC compression library not availablec                       e Zd ZdZdZdZdS )CompressBloscTablesTestCaseCompressBloscTablesr   bloscNr   r   r   rs   rz   ro   r-   r   r.   r  r             "EHGGGr   r  z%LZO compression library not availablec                       e Zd ZdZdZdZdS )CompressLZOTablesTestCaseCompressLZOTablesr   lzoNr  r-   r   r.   r  r    s          EHGGGr   r  z'BZIP2 compression library not availablec                       e Zd ZdZdZdZdS )CompressBzip2TablesTestCaseCompressBzip2Tablesr   bzip2Nr  r-   r   r.   r!  r!    r  r   r!  c                       e Zd ZdZdZdZdS )CompressZLIBTablesTestCaseCompressOneTablesr   rE   Nr  r-   r   r.   r%  r%    s        EHGGGr   r%  c                       e Zd ZdZdZeZdS )CompressTwoTablesTestCaseCompressTwoTablesr   N)r   r   r   rs   rz   r   rf   r-   r   r.   r(  r(    s        EH"FFFr   r(  c                       e Zd ZdZdZdZdS )BigTablesTestCase	BigTables  rC   N)r   r   r   rs   r]   r   r-   r   r.   r+  r+    s        E LJJJr   r+  c                        e Zd ZdZdZeZdZdZdZ	dZ
dZdZ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  xZ!S )BasicRangeTestCaserA   rB   rF   rC   r   rD   rm   r   c                     t                                                       | j        j        | _        |                                  | j                                         d S rH   rI   rQ   s    r.   rK   zBasicRangeTestCase.setUp7  rT   r   c           
         | j         }t          d          D ]}| j                            |dt	          |          z   | j        | j        t          j        | j	                  | j
                  }|j        }t          | j
                  D ](}d| j
        |z
  z  |d<   |d         d         d         d         |d<   ||d	<   || j        z  |d
<   t          |d         t          j                  r%t!          |          t!          ||z            g|d<   nt!          |          |d<   t          |d         t          j                  r)t          j        t!          |          fdz            |d<   nt!          |          |d<   |d
         dz	  dz  |d
         dz  dz  z   |d<   |                                 *|                                 | j                            |dt	          |          z             }|}d S )Nrm   rr   )rs   rt   r]   rV   r    r   rZ   r,   r#   r%   r'   r)   r   rW   rX   rY   r+   rw   )rN   r\   rL   r|   r}   rf   rs   r   ry   rz   r]   rg   r_   r`   r<   ra   rb   rc   r^   r   r   )rR   rw   r   rr   rg   ri   r   s          r.   rO   zBasicRangeTestCase.populateFile?  s   q !	 !	AK,,ws1vv~t{$*
4=11!. - 0 0E
 )C 4,--  $(9A(=>F!&k!nQ/3FF$-/Fc&k2:66 +#(88U1q5\\":CKK"'((CKc&k2:66 +"$(E!HH;q="9"9CKK"'((CK!$V!1T 9!$V!1V ; =F

 KKMMM[--eWSVV^DDFEEC!	 !	r   c           
          t          j         j        d           _         j                            d          } j        |_        t           j         j         j	                  
                    |j                  }t          t          t          |                     } j        r |                     j         j         j	                  }g }t          t          |                    D ]}|d         |         d         d          j        k     r9d j	        k     r.|                    |d         |         d         d                    ^|d         |         d         d          j        k    r8d j	        k    r-|                    |d         |         d         d                    nj j        r|                     j         j         j	        d          }g }t          t          |                    D ]}||         d         d          j        k     r3d j	        k     r(|                    ||         d         d                    R||         d         d          j        k    r2d j	        k    r'|                    ||         d         d                    n{d j	        k     r3 fd|                     j         j         j	                  D             }n=d j	        k    r2 fd|                     j         j         j	                  D             } j        dk     r j         j        z   }n j        } j         j        s j        r|dz   }	n* j        }	n" j        dk     r j         j        z   }	n j        }	 j        |	k     r j        }	t*          j        rt/          d|j        d	|j                   |r j        rt/          d
|d                    ng j        rt/          d|d                    nIt          |                     j         j         j	                            d         }
t/          d|
           t/          dt          |                     t/          d|           t/          dt          t          ||	 j	                                       t/          d||	 j	                                        |t          t          ||	 j	                                        j        s j        s||	k     rd j	        k     r fd|                     j         j         j	                  D             d         }
 j         j        k    rU                     |
d         d         t          t           j         j         j	                            d                    nD                     |
d         d         t          t          ||	 j	                            d                    n||	k    rd j	        k    r fd|                     j         j         j	                  D             d         }
 j         j        k     rV                     |
d         d         t          t           j         j        pd j	                            d                    nK                     |
d         d         t          t          ||	pd j	                            d                     j                                         d S )Nr   r   r#   r   c                 r    g | ]3}|d          d         d         j         k     |d          d         d         4S r#   r   r   r   r   rR   s     r.   r   z2BasicRangeTestCase.check_range.<locals>.<listcomp>  L       () y|A33 fIaLO 433r   c                 r    g | ]3}|d          d         d         j         k    |d          d         d         4S r4  r5  r6  s     r.   r   z2BasicRangeTestCase.check_range.<locals>.<listcomp>  r7  r   r   r   r   z"Last record *read* in recarray ==>rZ   zLast value *read* in getCol ==>z%Last record *read* in table range ==>z$Total number of selected records ==>zSelected records:
z#Selected records should look like:
zstart, stop, step ==>c                 Z    g | ]'}|d          d         d         j         k     |d          (S r4  r5  r6  s     r.   r   z2BasicRangeTestCase.check_range.<locals>.<listcomp>  ?     6 6 61&	!Q$*44 vY444r   c                 Z    g | ]'}|d          d         d         j         k    |d          (S r4  r5  r6  s     r.   r   z2BasicRangeTestCase.check_range.<locals>.<listcomp>  r:  r   )r   r   r   rL   r   r   slicer   r   r   indicesr   r   r   r\   checkrecarrayreadr^   checkgetColr   r]   r   r   r   r   r   rP   )rR   rr   resrange	reslengthrecarrayr   nreccolumnstartrstoprr   s   `          r.   check_rangezBasicRangeTestCase.check_ranged  s   l4<55$$Y//?TY	::BB5;OOUH-..//	 	zz$*diCCHFc(mm,, @ @F#D)!,Q/$*<<TYMM(6"24"8";A">????v&t,Q/2TZ??DIMM(6"24"8";A">???@  	ZZ
DIty&IIFFc&kk** 6 6$<?1%
22q49}}MM&,q/!"45555D\!_Q'$*44TYMM&,q/!"4555	6 49}}   -2^^DJ<@I<@I.G .G   TY   -2^^DJ<@I<@I.G .G   :>>&3FFZF9! #T%5 #
 
Y]]%	1EEIE:JE> 	E*e/ekBBB F% F>MMMM% F;VBZHHHHtz49diHHJ JJLNAA1EEE8#f++FFF'0008uVUDI66779 9 9)65$)DDDeFE49&E&E!F!FGGG" 	Hd&6 	H~~!di--6 6 6 6tz497;y)B )B 6 6 668: : 111$$!QU4:ty$)DDEEbIK K K K $$QqT!W%)%ty*I*I%J%J2%NP P P P%A	MM6 6 6 6tz497;y)B )B 6 6 6679 : 111$$!QU4:tyB	JJKKANP P P P $$!QU65;B	BBCCAFH H H
 	r   c                     t           j        r,t          dd           t          d| j        j        z             d| _        d| _        d| _        | j        | _	        d| _
        |                                  dS )	*Checking ranges in table iterators (case1)r   r   Running %s.test01_range...r   rm   r   r   Nr   r   r   rS   r   r   r   r   r]   r   r   rH  rR   s    r.   test01_rangezBasicRangeTestCase.test01_range  sx     > 	J$	""".1HHIII 

%		r   c                     t           j        r,t          dd           t          d| j        j        z             d| _        d| _        | j        dz
  | _        d| _	        d| _
        |                                  dS )	rJ  r   r   rK  r   rm   r   N)r   r   r   rS   r   r   r   r]   r   r   r   rH  rM  s    r.   test01a_rangez BasicRangeTestCase.test01a_range  s}     > 	J$	""".1HHIII 
&*
		r   c                     t           j        r,t          dd           t          d| j        j        z             d| _        d| _        d| _        | j        | _	        d| _
        |                                  dS )	z*Checking ranges in table iterators (case2)r   r   zRunning %s.test02_range...r         rm   NrL  rM  s    r.   test02_rangezBasicRangeTestCase.test02_range  sx     > 	J$	""".1HHIII 

%		r   c                     t           j        r,t          dd           t          d| j        j        z             | j        | _        d| _        d| _        | j        | _	        d| _
        |                                  dS )z*Checking ranges in table iterators (case3)r   r   zRunning %s.test03_range...rT  r   r   Nr   r   r   rS   r   r]   r   r   r   r   r   rH  rM  s    r.   test03_rangezBasicRangeTestCase.test03_range  {     > 	J$	""".1HHIII &

%		r   c                     t           j        r,t          dd           t          d| j        j        z             | j        | _        d| _        d| _        | j        | _	        d| _
        |                                  dS )z*Checking ranges in table iterators (case4)r   r   zRunning %s.test04_range...rT  r   NrW  rM  s    r.   test04_rangezBasicRangeTestCase.test04_range  rY  r   c                     t           j        r,t          dd           t          d| j        j        z             d| _        d| _        d| _        | j        | _	        d| _
        |                                  dS )	z*Checking ranges in table iterators (case5)r   r   zRunning %s.test05_range...r   r   r   rT  NrL  rM  s    r.   test05_rangezBasicRangeTestCase.test05_range  sx     > 	J$	""".1HHIII 

%		r   c                     t           j        r,t          dd           t          d| j        j        z             d| _        d| _        d| _        | j        | _	        d| _
        |                                  dS )z*Checking ranges in table iterators (case6)r   r   zRunning %s.test06_range...rm   r   r   NrL  rM  s    r.   test06_rangezBasicRangeTestCase.test06_range/  sx     > 	J$	""".1HHIII 

%		r   c                     t           j        r,t          dd           t          d| j        j        z             d| _        d| _        | j        | _        | j        | _        d| _	        | 
                                 dS )z*Checking ranges in table iterators (case7)r   r   zRunning %s.test07_range...r   rm   r   Nr   r   r   rS   r   r   r   r   r   r   rH  rM  s    r.   test07_rangezBasicRangeTestCase.test07_range?  sy     > 	J$	""".1HHIII 
Z
J		r   c                     t           j        r,t          dd           t          d| j        j        z             d| _        d| _        | j        dz   | _        | j        | _        d| _	        | 
                                 dS )z*Checking ranges in table iterators (case8)r   r   zRunning %s.test08_range...r   rm   r   Nra  rM  s    r.   test08_rangezBasicRangeTestCase.test08_rangeO  s}     > 	J$	""".1HHIII 
Z!^
J		r   c                     t           j        r,t          dd           t          d| j        j        z             d| _        d| _        d| _        d| _        d| _	        | 
                                 dS )	z*Checking ranges in table iterators (case9)r   r   zRunning %s.test09_range...rC   rm   r   r   Nra  rM  s    r.   test09_rangezBasicRangeTestCase.test09_range_  su     > 	J$	""".1HHIII 

		r   c                 >   t           j        r,t          dd           t          d| j        j        z             | j        | _        d| _        d| _        | j        | j        z   | _	        d| _
        | j        | j
        z   | _        d| _        |                                  dS )	z+Checking ranges in table iterators (case10)r   r   zRunning %s.test10_range...r   r   r   Nr   r   r   rS   r   r]   r   r   r   rF  r   rG  r   rH  rM  s    r.   test10_rangezBasicRangeTestCase.test10_rangeo  s     > 	J$	""".1HHIII &

'$*4	&2
	r   c                 >   t           j        r,t          dd           t          d| j        j        z             | j        | _        d| _        d| _        | j        | j        z   | _	        d| _
        | j        | j
        z   | _        d| _        |                                  dS )	z+Checking ranges in table iterators (case11)r   r   zRunning %s.test11_range...r   rh  rP  r   Nri  rM  s    r.   test11_rangezBasicRangeTestCase.test11_range       > 	J$	""".1HHIII &

'$*4	&2
	r   c                 >   t           j        r,t          dd           t          d| j        j        z             | j        | _        d| _        d| _        | j        | j        z   | _	        d| _
        | j        | j
        z   | _        d| _        |                                  dS )	z+Checking ranges in table iterators (case12)r   r   zRunning %s.test12_range...r   rZ   rP  r   Nri  rM  s    r.   test12_rangezBasicRangeTestCase.test12_range  rm  r   c                 V   t           j        r,t          dd           t          d| j        j        z             d| _        	 |                                  n[# t          $ rN t           j        r&t          j	                    \  }}}t          d           | j
                                         Y nw xY wd| _        	 |                                  dS # t          $ rO t           j        r&t          j	                    \  }}}t          d           | j
                                         Y dS w xY w)z+Checking ranges in table iterators (case13)r   r   zRunning %s.test13_range...iz)
Great!, the next ValueError was catched!r   N)r   r   r   rS   r   r   rH  
ValueErrorr{   exc_inforL   rP   )rR   r   value	tracebacks       r.   test13_rangezBasicRangeTestCase.test13_range  sF    > 	J$	""".1HHIII 		  	  	  	 ~ D+.<>>(uiBCCCK		  		  	  	  	 ~ D+.<>>(uiBCCCK		 s&   A AB.-B.9C AD('D()"r   r   r   r   rs   r   rf   r_   r]   rz   r   r   r   r   r>  r@  rK   rO   rH  rN  rQ  rU  rX  r[  r]  r_  rb  rd  rf  rj  rl  ro  ru  r   r   s   @r.   r/  r/  '  si       I%EFHLHEJEDMK    # # #Ji i iV                                $  $  $             r   r/  c                       e Zd ZdS )IterRangeTestCaseN)r   r   r   r-   r   r.   rw  rw    s        Dr   rw  c                       e Zd ZdZdS )RecArrayRangeTestCaser   N)r   r   r   r>  r-   r   r.   ry  ry    s        MMMr   ry  c                       e Zd ZdZd ZdS )GetColRangeTestCaser   c                    t           j        r,t          dd           t          d| j        j        z             t          j        | j        d          | _        | j        j	        | _	        | j        
                    d          }|                     t                    5  |                    d           ddd           dS # 1 swxY w Y   dS )	z-Checking non-existing Field in getCol method r   r   z%Running %s.test01_nonexistentField...r   r   znon-existent-column)fieldN)r   r   r   rS   r   r   r   r   rL   rM   r   assertRaisesKeyErrorr?  r   s     r.   test01_nonexistentFieldz+GetColRangeTestCase.test01_nonexistentField  s    > 	+$	"""9.)* + + + l4<55K$	$$Y//x(( 	4 	4JJ2J333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4s   CCCN)r   r   r   r@  r  r-   r   r.   r{  r{    s(        K4 4 4 4 4r   r{  c                   |    e Zd Z ej        dd          Z ej        ddd          Z ej        dd          Z	d	S )
Recr   r   )posr   rm   r   )rm   )r
   r  r   )rm   r   N)
r   r   r   r   r!   col1r   col2r&   col3r-   r   r.   r  r    sR        29$'''D2<666D2;1F+++DDDr   r  c                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	
RecArrayIOc                 :   ddgdz  gdz  }t          j        ddgdz  gdz  t                    }dgdz  gdz  }dgdz  gdz  }dd	gdz  gd
z  }t          j        ddgdz  gd
z            }|||f|||fg}t           j                            |dd          }| j                            | j        j        d|           | j        j        j                                        }	| 	                    |
                                |	
                                           dS )z!Checking saving a normal recarray     rm   r   r   dbede333333?ffffff@r         @333333@(2,6)i4,(3,2)a3,(4,6)f8col1,col2,col3r
  r  rC  Nr<   rc   intre   rL   r|   rM   rC  r?  r   tobytes)
rR   intlist1intlist2arrlist1arrlist2
floatlist1
floatlist2br   r2s
             r.   test00zRecArrayIO.test00  s4    "IaK=?8aVAXJqL444GAI;q=F1H:a<Cjl^A%
XSz!|nQ.//
*-h
0, -FLL$=/  1 1 	  !1:qAAA [&++--bjjll33333r   c                 N   ddgdz  gdz  }t          j        ddgdz  gdz  t                    }dgdz  gdz  }dgdz  gdz  }dd	gdz  gd
z  }t          j        ddgdz  gd
z            }|||f|||fg}t           j                            |dd          }|dd         }	| j                            | j        j        d|	           | j        j        j                                        }
| 	                    |	
                                |

                                           dS )z7Checking saving a recarray with an offset in its bufferr  r  rm   r   r   r  r  r  r  r   r  r  r  r  r  r   NrC  r  rR   r  r  r  r  r  r  r  r   r1r  s              r.   test01zRecArrayIO.test01   sC    "IaK=?8aVAXJqL444GAI;q=F1H:a<Cjl^A%
XSz!|nQ.//
*-h
0, -FLL$=/  1 1 qrrU 	  !1:rBBB [&++--rzz||44444r   c                 X   g ddz  gdz  g}t          j        g ddz  gdz  gt                    }dgdz  gdz  }dgdz  gdz  }d	d
gdz  gdz  }t          j        ddgdz  gdz            }|||f|||fg}t           j                            |dz  dd          }|dd         }	| j                            | j        j        d|	           | j        j        j                                        }
| 	                    |	
                                |

                                           dS )z+Checking saving a slice of a large recarrayr     #      r   rm   r   r   r  r   rm   r  r  r  r   r  r  ,  (1,6,18)i4,(3,2)a3,(4,6)f8r  r  i"  i$  rC  Nr  r  s              r.   test02zRecArrayIO.test02  sO    "\\!^$Q&'8iiik]1_-S999GAI;q=F1H:a<Cjl^A%
XSz!|nQ.//
*-h
0, -FLLS+G/  1 1 s3wZ 	  !1:rBBB [&++--rzz||44444r   c                 p   g ddz  gdz  g}t          j        g ddz  gdz  gt                    }dgdz  gdz  }dgdz  gdz  }d	d
gdz  gdz  }t          j        ddgdz  gdz            }|||f|||fg}t           j                            |dz  ddd          }|ddd         }	|	dd         }
| j                            | j        j        d|
           | j        j        j                                        }	| 	                    |

                                |	
                                           dS )z.Checking saving a slice of an strided recarrayr  r  r  r   r  r   rm   r  r  r  r   r  r  r  r  r  iX  r	  N   rC  r  )rR   r  r  r  r  r  r  r  r   r  r  s              r.   test03zRecArrayIO.test034  sb    "\\!^$Q&'8iiik]1_-S999GAI;q=F1H:a<Cjl^A%
XSz!|nQ.//
*-h
0, -FLLS*F/s  < < sssV X 	  !1:rBBB [&++--rzz||44444r   c                 &   t           j        r,t          dd           t          d| j        j        z             | j                            | j        j        dt                    }dgdz  dgdz  dgdz  d	gdz  f\  }}}}d
gdz  gdz  dgdz  gdz  dgdz  gdz  dgdz  gdz  f\  }}}}	t          j
                            ddg||fddg||fgd          }
|                    |
           |                    ddg||fddg||	fg           ddgddgddggg|j        j        dd<   t          j
                            ddg||fddg||fddg||fddg||	fgdd          }|                                }t           j        r:t          dt!          |                     t          dt!          |                     |                     |                                |                                           |                     |j        d           dS )z;Checking modifying one column (single column version, list)r   r   zRunning %s.test08a...rC  r  rm   deddb1de1r  r   ?ffffff?      ?r    (2,)i4,(3,)a3,(3,2)f8r
    r   r  r   r   Nr  r  Original table-->Should look like-->)r   r   r   rS   r   rL   r|   rM   r  r<   re   rc   r^   r   r  r?  r   r   r  r   )rR   rr   s0s1s2s3f0f1f2f3r   r  r  s                r.   test08azRecArrayIO.test08aQ  sU    > 	E$	""")DN,CCDDD (()9:sKK  UGAIwqy5'!)CBB%'1uQwikSE!G9Q;#q	!KBBFLLC:r2.!QR0@A!8  : :QSz2r*aVR,<=>>> "#AAA78
 V\\S#JB/1a&"b1AFB+q!fb"-=?"9 0  2 2 ZZ\\> 	3%tBxx000'b222rzz||444a(((((r   c                    t           j        r,t          dd           t          d| j        j        z             | j                            | j        j        dt                    }dgdz  dgdz  dgdz  d	gdz  f\  }}}}d
gdz  gdz  dgdz  gdz  dgdz  gdz  dgdz  gdz  f\  }}}}	t          j
                            ddg||fddg||fgd          }
|                    |
           |                    ddg||fddg||	fg           t          j
                            t          j        ddgddgddggg          d          }|                    d|dg           t          j
                            ddg||fddg||fddg||fddg||	fgdd          }|                                }t           j        r:t          dt!          |                     t          dt!          |                     |                     |                                |                                           |                     |j        d           dS ) z?Checking modifying one column (single column version, recarray)r   r   zRunning %s.test08b...rC  r  rm   r  r  r  r  r   r  r  r  r  r  r  r  r  r   r  r   r5   r   r  )r   r   r  r  r  r  r  N)r   r   r   rS   r   rL   r|   rM   r  r<   re   rc   r^   
fromarraysmodify_columnsr?  r   r   r  r   rR   rr   r  r  r  r  r  r  r  r  r   r   r  r  s                 r.   test08bzRecArrayIO.test08bt  s    > 	E$	""")DN,CCDDD (()9:sKK  UGAIwqy5'!)CBB%'1uQwikSE!G9Q;#q	!KBBFLLC:r2.!QR0@A!8  : :QSz2r*aVR,<=>>> &##H1v1v1v./00$ $ @ @1gfXFFF V\\S#JB/1a&"b1AFB+q!fb"-=?"9 0  2 2 ZZ\\> 	3%tBxx000'b222rzz||444a(((((r   c                    t           j        r,t          dd           t          d| j        j        z             | j                            | j        j        dt                    }dgdz  dgdz  dgdz  d	gdz  f\  }}}}d
gdz  gdz  dgdz  gdz  dgdz  gdz  dgdz  gdz  f\  }}}}	t          j
                            ddg||fddg||fgd          }
|                    |
           |                    ddg||fddg||	fg           t          j
                            t          j        ddgddgddggg          d          }|                    d|d           t          j
                            ddg||fddg||fddg||fddg||	fgdd          }|                                }t           j        r:t          dt!          |                     t          dt!          |                     |                     |                                |                                           |                     |j        d           dS ) zVChecking modifying one column (single column version, recarray,
        modify_column)r   r   zRunning %s.test08b2...rC  r  rm   r  r  r  r  r   r  r  r  r  r  r  r  r  r   r  r   r5   r   r  )r   rE  r   r  r  r  r  N)r   r   r   rS   r   rL   r|   rM   r  r<   re   rc   r^   r  modify_columnr?  r   r   r  r   r  s                 r.   test08b2zRecArrayIO.test08b2  s    > 	F$	"""*T^-DDEEE (()9:sKK  UGAIwqy5'!)CBB%'1uQwikSE!G9Q;#q	!KBBFLLC:r2.!QR0@A!8  : :QSz2r*aVR,<=>>> &##H1v1v1v./00$ $ @ @!GVDDD V\\S#JB/1a&"b1AFB+q!fb"-=?"9 0  2 2 ZZ\\> 	3%tBxx000'b222rzz||444a(((((r   N)
r   r   r   r  r  r  r  r  r  r  r-   r   r.   r  r    s        4 4 4.5 5 545 5 545 5 5:!) !) !)F#) #) #)J$) $) $) $) $)r   r  c                       e Zd Zd ZdS )DefaultValuesc           	         | j                             | j         j        dt                    }d}t	          |          D ]1}|dk    s|dk    r
d|j        d<   |j                                         2|                                 dgdz  d	d
ggdz  dddddddf	g}t          j	        
                    ||z  dg d          }d|d         d<   d|d         d<   |                                }t          j        r=	 t          d           t          |           t          d           t          |           |                     |                                |                                           dS )z.Checking saving a Table MD with default valuesrr   r   rm   r   )r   r   r#    r   abcdefghr   r   r   r   ez,(2,)a4,(2,2)a4,(2,)i4,(2,2)i4,i2,f8,f4,u2,a1r/   r  r   zTable values:zRecord values:N)rL   r|   rM   r   r\   rg   r^   r   r<   re   rc   r?  r   r   r   r   r  )rR   rr   r   ri   bufferr   r  s          r.   r  zDefaultValues.test00  s    (()97FKK u 	 	AAvva$4	&!I 	 HQJfq sCC! " FLLUNB# # #  $ $ (&	!'&	! ZZ\\ > 	 	/""""III"###!HHH 	bjjll33333r   N)r   r   r   r  r-   r   r.   r  r    s#        14 14 14 14 14r   r  c                       e Zd Z ej        dd          Z ej        dgd          Z ej        ddgd          Z ej        ddgd          Z ej        ddgddggd          Z	d	S )
RecordTr   r-   r   )r   r   r  r   r   N)
r   r   r   r   r!   r   r    var2_sr#   r%   r-   r   r.   r  r    s        29!2&&&D291#T***DRYQF!,,,F291a&---D29Aq6Aq6*&999DDDr   r  c                   <     e Zd Z fdZd Zd Zd Zd Zd Z xZ	S )ShapeTestCasec                 p    t                                                       |                                  d S rH   )rJ   rK   rO   rQ   s    r.   rK   zShapeTestCase.setUp  s,    r   c                     | j                             | j         j        dt                    }|j        }t          d          D ]}|                                 |                                 d S )Nrr   r   )rL   r|   rM   r  rg   r\   r^   r   )rR   rr   rg   ri   s       r.   rO   zShapeTestCase.populateFile  s^    (()97GLLiq 	 	AJJLLLL 	r   c                 R   | j         r|                                  | j        j        j        }t
          j        r3t          d|j        j	        dd                    t          ddg           | 
                    |j        j	        dd                                         dg           dS )zChecking scalar shapesThe values look like:NThey should look like:r   )reopen_reopenrL   rM   rr   r   r   r   r   r   r   tolistr   s     r.   r  zShapeTestCase.test00  s     ; 	LLNNN &> 	1)5:?111+=>>>*QC000 	+2244qc:::::r   c                 V   | j         r|                                  | j        j        j        }t
          j        r4t          d|j        j	        dd                    t          ddgg           | 
                    |j        j	        dd                                         dgg           dS )z+Checking undimensional (one element) shapesr  Nr  r   )r  r  rL   rM   rr   r   r   r   r   r    r   r  r   s     r.   r  zShapeTestCase.test01  s     ; 	LLNNN &> 	3)5:?111+=>>>*aSE222 	+2244se<<<<<r   c                    | j         r|                                  | j        j        j        }t
          j        r5t          d|j        j	        dd                    t          dddgg           | 
                    |j        j	        dd                                         ddgg           | 
                    |j        j        dd                                         ddgg           dS )z,Checking undimensional (two elements) shapesr  Nr  r   )r  r  rL   rM   rr   r   r   r   r   r#   r   r  r  r   s     r.   r  zShapeTestCase.test02+  s     ; 	LLNNN &> 	6)5:?111+=>>>*aVH555 	+22441vh???*111-4466!QAAAAAr   c                 j   | j         r|                                  | j        j        j        }t
          j        r9t          d|j        j	        dd                    t          dddgddggg           | 
                    |j        j	        dd                                         ddgddggg           dS )zChecking bidimensional shapesr  Nr  r   r   )r  r  rL   rM   rr   r   r   r   r   r%   r   r  r   s     r.   r  zShapeTestCase.test03:  s     ; 	LLNNN &> 	@)5:?111+=>>>*q!fq!f-=,>??? 	+2244AA7G6HIIIIIr   )
r   r   r   rK   rO   r  r  r  r  r   r   s   @r.   r  r    s              ; ; ;= = =B B BJ J J J J J Jr   r  c                       e Zd ZdZdS )ShapeTestCase1r   Nr   r   r   r  r-   r   r.   r  r  I          FFFr   r  c                       e Zd ZdZdS )ShapeTestCase2r   Nr  r-   r   r.   r  r  M  r  r   r  c                   `     e 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 xZS )SetItemTestCasec                     t                                                       | j                            | j        j        dt
                    | _        | j        | j        _        d S NrC  	rJ   rK   rL   r|   rM   r  rr   
buffersizer   rQ   s    r.   rK   zSetItemTestCase.setUpS  M     [--dk.>.8#? ?
 $
r   c                    | j         }|j        j        }t          j                            ddg|          }|                    |           |                    ddg           d|d<   t          j                            g d|d	
          }| j        r1|                                  | j	        j
        j        }| j        |_        |                                }t          j        r:t#          dt%          |                     t#          dt%          |                     |                     |                                |                                           |                     |j        d           dS )z1Checking modifying one table row with __setitem__r  r  r  r   r  r  r  r  r  r  r   r  r  r  db2r  r   r  r  r  r  r  r  r  r  r   Nrr   r   r   r<   re   rc   r^   r  r  rL   rM   rC  r  r   r?  r   r   r   r   r   r  r   rR   rr   r
  r   r  r  s         r.   r  zSetItemTestCase.test01[  sQ    
#5 FLL+_=wLOOQ'9::: %a V\\ ? ? ?") 0  2 2
 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444a(((((r   c                    | j         }|j        j        }t          j                            ddg|          }|                    |           |                    ddg           d|d<   t          j                            g d|d	
          }| j        r1|                                  | j	        j
        j        }| j        |_        |                                }t          j        r:t#          dt%          |                     t#          dt%          |                     |                     |                                |                                           |                     |j        d           dS )z>Checking modifying one table row with __setitem__ (long index)r  r  r  r  r  r  r   r  r  r  r  r  r   Nr  r  s         r.   test01bzSetItemTestCase.test01bz  sQ    
#5 FLL+_=wLOOQ'9::: %a V\\ ? ? ?") 0  2 2 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444a(((((r   c                 4   | j         }|j        j        }t          j                            ddg|          }|                    |           |                    ddg           t          j                            dg|          }||ddd<   t          j                            g d	|d
          }| j        r1|                                  | j	        j
        j        }| j        |_        |                                }t          j        r:t#          dt%          |                     t#          dt%          |                     |                     |                                |                                           |                     |j        d           dS )z,Modifying one row, with a step (__setitem__)r  r  r  r  r  r   rm   r   r  r  r  r  r  r  r  r  r   Nr  rR   rr   r
  r   rowsr  r  s          r.   r  zSetItemTestCase.test02  sr    
#5 FLL+_=wLOOQ'9::: v||./|AAa!e V\\ ? ? ?") 0  2 2 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444a(((((r   c                 4   | j         }|j        j        }t          j                            ddg|          }|                    |           |                    ddg           t          j                            ddg|          }||dd<   t          j                            g d|d	
          }| j        r1|                                  | j	        j
        j        }| j        |_        |                                }t          j        r:t#          dt%          |                     t#          dt%          |                     |                     |                                |                                           |                     |j        d           dS )z5Checking modifying several rows at once (__setitem__)r  r  r  r  r  r   rm   r  r  r  r  r  r  r  r  r   Nr  r  s          r.   r  zSetItemTestCase.test03  s}    
#5 FLL+_=wLOOQ'9::: v||0'  C C ac
 V\\ = = =") 0  2 2 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444a(((((r   c                 6   | j         }|j        j        }t          j                            ddg|          }|                    |           |                    ddg           t          j                            ddg|          }||ddd	<   t          j                            g d
|d          }| j        r1|                                  | j	        j
        j        }| j        |_        |                                }t          j        r:t#          dt%          |                     t#          dt%          |                     |                     |                                |                                           |                     |j        d           dS )z9Modifying several rows at once, with a step (__setitem__)r  r  r  r  r  r  de2r  r   Nr   r  r  r  r  r  r  r  r  r   r  r  s          r.   test04zSetItemTestCase.test04  s~    
#5 FLL+_=wLOOQ'9::: v||.@$+  - - add V\\ ? ? ?") 0  2 2 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444a(((((r   c                    | j         }|j        j        }t          j                            ddg|          }|                    |           |                    ddg           d|j        j        d<   t          j                            g d|d	
          }| j	        r1| 
                                 | j        j        j        }| j        |_        |                                }t"          j        r:t'          dt)          |                     t'          dt)          |                     |                     |                                |                                           |                     |j        d           dS )z;Checking modifying one column (single element, __setitem__)r  r  r  r  r  rZ   r   r  )rZ   r  r  r  r  r  r  r  r  r   Nrr   r   r   r<   re   rc   r^   r   r  r  r  rL   rM   rC  r  r   r?  r   r   r   r   r   r  r   r  s         r.   test05zSetItemTestCase.test05  sV    
#5 FLL+_=wLOOQ'9:::  
 V\\ ? ? ?") 0  2 2 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444a(((((r   c                    | j         }|j        j        }t          j                            ddg|          }|                    |           |                    ddg           g d|j        j        dd<   t          j                            g d	|d
          }| j	        r1| 
                                 | j        j        j        }| j        |_        |                                }t"          j        r:t'          dt)          |                     t'          dt)          |                     |                     |                                |                                           |                     |j        d           dS )z=Checking modifying one column (several elements, __setitem__)r  r  r  r  r  )r   rm   rm   )r   r   r   r   r  r  )rm   r  r  )r   r  r  r  r  r  r  Nr  r  s         r.   test06azSetItemTestCase.test06a"  s`    
#5 FLL+_=wLOOQ'9:::  877
! V\\ = = =") 0  2 2
 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444a(((((r   c                    | j         }|j        j        }t          j                            ddg|          }|                    |           |                    ddg           |                     t                    5  |	                                D ]#}|j
        dz   |d<   |                                 $|                                 ddd           dS # 1 swxY w Y   dS )	z5Checking modifying one column (iterator, __setitem__)r  r  r  r  r  r   r  N)rr   r   r   r<   re   rc   r^   r~  NotImplementedErrorr   nrowr   )rR   rr   r
  r   rg   s        r.   test06bzSetItemTestCase.test06bA  s    
#5 FLL+_=wLOOQ'9::: 233 	 	~~''  !hlF

KKMMM		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   =ACCCc                    | j         }|j        j        }t          j                            ddg|          }|                    |           |                    ddg           ddg|j        j        dd	d
<   t          j                            g d|d          }| j	        r1| 
                                 | j        j        j        }| j        |_        |                                }t"          j        r:t'          dt)          |                     t'          dt)          |                     |                     |                                |                                           |                     |j        d	           dS )z:Modifying one column (several elements, __setitem__, step)r  r   r  r  r  r  r  r   r  r   r   r   )r  r  r  )rm   r  r  r  r  r  r  Nr  r  s         r.   test07zSetItemTestCase.test07S  sa    
#5 FLL+_=wLOOQ'9::: #)&!1
!A V\\ ? ? ?") 0  2 2 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444a(((((r   c                    | j         }|j        j        }t          j                            ddg|          }|                    |           |                    ddg           dg|j        j        ddd	<   t          j                            g d
|d          }| j	        r1| 
                                 | j        j        j        }| j        |_        |                                }t"          j        r:t'          dt)          |                     t'          dt)          |                     |                     |                                |                                           |                     |j        d           dS )z5Modifying one column (one element, __setitem__, step)r  r  r  r  r  r   r   r   rm   )r  r  r  r  r  r  r  r  Nr  r  s         r.   test08zSetItemTestCase.test08s  s^    
#5 FLL+_=wLOOQ'9::: #)
!A V\\ ? ? ?") 0  2 2 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444a(((((r   c                 4   | j         }|j        j        }t          j                            ddg|          }|                    |           |                    ddg           t          j                            ddg|          }||ddd	<   t          j                            g d
|          }| j        r1|                                  | j	        j
        j        }| j        |_        |                                }t          j        r:t#          dt%          |                     t#          dt%          |                     |                     |                                |                                           |                     |j        d           dS )z5Modifying beyond the table extend (__setitem__, step)r  r  r  r  r  r  r   Nr   r
  r  r  r   r  r  s          r.   test09zSetItemTestCase.test09  sy    
#5 FLL+_=wLOOQ'9::: v||.@$+  - -add V\\ ? ? ?")  + +
 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444a(((((r   )r   r   r   rK   r  r   r  r  r  r  r  r  r  r  r  r   r   s   @r.   r  r  Q  s        0 0 0 0 0) ) )>) ) )@) ) )B") ") ")H!) !) !)F) ) )@) ) )>  $) ) )@) ) )@ )  )  )  )  )  )  )r   r  c                       e Zd ZdZdZdS )SetItemTestCase1r   r   Nr   r   r   r  r  r-   r   r.   r   r             FJJJr   r   c                       e Zd ZdZdZdS )SetItemTestCase2r   r   Nr!  r-   r   r.   r$  r$    r"  r   r$  c                       e Zd ZdZdZdS )SetItemTestCase3r   r-  Nr!  r-   r   r.   r&  r&            FJJJr   r&  c                       e Zd ZdZdZdS )SetItemTestCase4r   r-  Nr!  r-   r   r.   r)  r)    r'  r   r)  c                   `     e 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 xZS )UpdateRowTestCasec                     t                                                       | j                            | j        j        dt
                    | _        | j        | j        _        d S r  r  rQ   s    r.   rK   zUpdateRowTestCase.setUp  r  r   c                 \   | j         }|j        j        }t          j                            ddg|          }|                    |           |                    ddg           |                    dd          D ]'}g d\  |d	<   |d
<   |d<   |                                 (t          j                            g d|d          }| j	        r1| 
                                 | j        j        j        }| j        |_        |                                }t"          j        r:t'          dt)          |                     t'          dt)          |                     |                     |                                |                                           |                     |j        d           dS )z0Checking modifying one table row with Row.updater  r  r  r  r  r   rm   r  r  r  r  r  r  r  r  r  r   Nrr   r   r   r<   re   rc   r^   r   updater  r  rL   rM   rC  r  r   r?  r   r   r   r   r   r  r   rR   rr   r
  r   rg   r  r  s          r.   r  zUpdateRowTestCase.test01  s    
#5 FLL+_=!(  * *Q'9::: >>!Q'' 	 	C6G6G6G3S[#f+s6{JJLLLL V\\ ? ? ?") 0  2 2 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444a(((((r   c                    | j         }|j        j        }t          j                            ddg|          }|                    |           |                    ddg           |                    ddd          D ]K}|j        dk    rd\  |d	<   |d
<   |d<   n|j        dk    rd\  |d	<   |d
<   |d<   |	                                 Lt          j                            g d|d          }| j
        r1|                                  | j        j        j        }| j        |_        |                                }t$          j        r:t)          dt+          |                     t)          dt+          |                     |                     |                                |                                           |                     |j        d           dS )z+Modifying one row, with a step (Row.update)r  r  r  r  r  r   rm   r   r  r  r  r  r  r  r  r  r  r   Nrr   r   r   r<   re   rc   r^   r   r  r/  r  r  rL   rM   rC  r  r   r?  r   r   r   r   r   r  r   r0  s          r.   r  zUpdateRowTestCase.test02  s    
#5 FLL+_=wLOOQ'9::: >>!Q** 	 	Cx1}}:K7Vc&k3v;;Q:I7Vc&k3v;JJLLLL V\\ ? ? ?") 0  2 2 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444a(((((r   c                    | j         }|j        j        }t          j                            ddg|          }|                    |           |                    ddg           |                    dd          D ]K}|j        dk    rd\  |d<   |d	<   |d
<   n|j        dk    rd\  |d<   |d	<   |d
<   |	                                 Lt          j                            g d|d          }| j
        r1|                                  | j        j        j        }| j        |_        |                                }t$          j        r:t)          dt+          |                     t)          dt+          |                     |                     |                                |                                           |                     |j        d           dS )z4Checking modifying several rows at once (Row.update)r  r  r  r  r  r   rm   r  r  r  r   r  r  r  r  r  r   Nr2  r0  s          r.   r  zUpdateRowTestCase.test03  s    
#5 FLL+_=wLOOQ'9::: >>!Q'' 	 	Cx1}}:K7Vc&k3v;;Q:I7Vc&k3v;JJLLLL V\\ = = =") 0  2 2 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444a(((((r   c                    | j         }|j        j        }t          j                            ddg|          }|                    |           |                    ddg           |                    ddd	          D ]K}|j        dk    rd\  |d
<   |d<   |d<   n|j        dk    rd\  |d
<   |d<   |d<   |	                                 Lt          j                            g d|d          }| j
        r1|                                  | j        j        j        }| j        |_        |                                }t$          j        r:t)          dt+          |                     t)          dt+          |                     |                     |                                |                                           |                     |j        d           dS )z8Modifying several rows at once, with a step (Row.update)r  r  r  r  r  r   r   r   )r   r   r  r  r  rm   r  r
  r  r  r  r  Nr2  r0  s          r.   r  zUpdateRowTestCase.test04A  s    
#5 FLL+_=wLOOQ'9::: >>!!!>44 	 	Cx1}}:K7Vc&k3v;;Q:I7Vc&k3v;JJLLLL V\\ ? ? ?") 0  2 2 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444a(((((r   c                 D   | j         }|j        j        }t          j                            ddg|          }|                    |           |                    ddg           |                    dd          D ]}d|d	<   |                                 t          j                            g d
|d          }| j	        r1| 
                                 | j        j        j        }| j        |_        |                                }t"          j        r:t'          dt)          |                     t'          dt)          |                     |                     |                                |                                           |                     |j        d           dS )z:Checking modifying one column (single element, Row.update)r  r  r  r  r  r   r   rZ   r  r  r  r  r  r  r   Nr.  r0  s          r.   r  zUpdateRowTestCase.test05f  s}    
#5 FLL+_=wLOOQ'9::: >>!Q'' 	 	CCKJJLLLL V\\ ? ? ?") 0  2 2 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444a(((((r   c                 T   | j         }|j        j        }t          j                            ddg|          }|                    |           |                    ddg           |                    dd          D ]#}|j        dz   |d<   |	                                 $t          j                            g d	|d
          }| j
        r1|                                  | j        j        j        }| j        |_        |                                }t$          j        r:t)          dt+          |                     t)          dt+          |                     |                     |                                |                                           |                     |j        d           dS )z<Checking modifying one column (several elements, Row.update)r  r  r  r  r  r   r   r  r  r  r  r  r  Nr2  r0  s          r.   test06zUpdateRowTestCase.test06  s    
#5 FLL+_=wLOOQ'9::: >>!Q'' 	 	C(Q,CKJJLLLL V\\ = = =") 0  2 2 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444a(((((r   c                 n   | j         }|j        j        }t          j                            ddg|          }|                    |           |                    ddg           |                                D ]2}|d         d         dk     rd	|d<   d
|d<   |                                 3t          j                            g d|d          }| j	        r1| 
                                 | j        j        j        }| j        |_        |                                }t"          j        r:t'          dt)          |                     t'          dt)          |                     |                     |                                |                                           |                     |j        d           dS )z!Modifying values from a selectionr  r  r  r  r  r  r   r  r   adar  )r  r   r9  r  r  r:  r  r  r  r  r   Nr.  r0  s          r.   r  zUpdateRowTestCase.test07  s    
#5 FLL+_=wLOOQ'9::: >>## 	 	C6{1~##F#F

 V\\ ? ? ?") 0  2 2 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444a(((((r   c                 >   | j         }|j        j        }d}|j        }t	          |          D ];}|dz
  |d<   dt          |dz
            z   |d<   d|d<   |                                 <|                                 |                                D ]?}|j	        |d<   dt          |j	                  z   |d<   d	|d<   |
                                 @t          j                            d
||d          }t	          |          D ]3}||d         |<   dt          |          z   |d         |<   d	|d         |<   4| j        r1|                                  | j        j        j        }| j        |_        |                                }t,          j        r:t1          dt3          |                     t1          dt3          |                     |                     |                                |                                           |                     |j        |           d
S )z$Modifying a large table (Row.update)rC   r   r  r   r        r  r          Nr  r   r
  r  r  r  rr   r   r   rg   r\   r}   r^   r   r   r  r/  r<   re   rc   r  r  rL   rM   rC  r  r   r?  r   r   r   r   r   r  r   rR   rr   r
  r   rg   ri   r  r  s           r.   r  zUpdateRowTestCase.test08  s    
#5 iu 	 	AA#CKc!A#hh,CKCKJJLLLL >>## 	 	C(CKc#(mm+CKCKJJLLLL V\\w6F  H Hu 	  	 ABvJqMAJBvJqMBvJqMM ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444e,,,,,r   c                 "   | j         }|j        j        }d}|j        }t	          |          D ];}|dz
  |d<   dt          |dz
            z   |d<   d|d<   |                                 <|                                 |                                D ]+}|j	        |d<   dt          |j	                  z   |d<   d	|d<   ,t          j                            d
||d          }t	          |          D ]9}|dz
  |d         |<   dt          |dz
            z   |d         |<   d|d         |<   :| j        r1|                                  | j        j        j        }| j        |_        |                                }t*          j        r:t/          dt1          |                     t/          dt1          |                     |                     |                                |                                           |                     |j        |           d
S )z:Setting values on a large table without calling Row.updaterC   r   r  r   r  r<  r  r  r=  Nr  r>  r  r  )rr   r   r   rg   r\   r}   r^   r   r   r  r<   re   rc   r  r  rL   rM   rC  r  r   r?  r   r   r   r   r   r  r   r@  s           r.   r  zUpdateRowTestCase.test08b  s    
#5 iu 	 	AA#CKc!A#hh,CKCKJJLLLL >>## 	 	C(CKc#(mm+CKCKK V\\w6F  H Hu 	! 	!AaCBvJqMAaCLBvJqM BvJqMM ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444e,,,,,r   c                    | j         }|j        j        }d}|j        }t	          |          D ];}|dz
  |d<   dt          |dz
            z   |d<   d|d<   |                                 <|                                 |                                D ]T}|d         d         |d	z
  k    r=|j	        |d<   d
t          |j	                  z   |d<   d|d<   |
                                 Ut          j                            d||d          }t	          |          D ]9}|dz
  |d         |<   dt          |dz
            z   |d         |<   d|d         |<   :||d         |<   d
t          |          z   |d         |<   d|d         |<   | j        r1|                                  | j        j        j        }| j        |_        |                                }t,          j        r:t1          dt3          |                     t1          dt3          |                     |                     |                                |                                           |                     |j        |           dS )z*Modifying selected values on a large tablerC   r   r  r   r  r<  r  r   rm   r  r=  Nr  r>  r  r  r?  r@  s           r.   r  zUpdateRowTestCase.test09&  sP    
#5 iu 	 	AA#CKc!A#hh,CKCKJJLLLL >>## 	 	C6{1~a''!hF!#ch--/F!F

 V\\w6F  H Hu 	! 	!AaCBvJqMAaCLBvJqM BvJqMM 6
1CFF
6
16
1 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444e,,,,,r   c                    | j         }|j        j        }d}|j        }t	          |          D ];}|dz
  |d<   dt          |dz
            z   |d<   d|d<   |                                 <|                                 |                    d	          D ]?}|j	        |d<   d
t          |j	                  z   |d<   d|d<   |
                                 @t          j                            d||d          }t	          |          D ]t}|dz  dk    r8|dz
  |d         |<   dt          |dz
            z   |d         |<   d|d         |<   C||d         |<   d
t          |          z   |d         |<   d|d         |<   u| j        r1|                                  | j        j        j        }| j        |_        |                                }t,          j        r:t1          dt3          |                     t1          dt3          |                     |                     |                                |                                           |                     |j        |           dS )z=Modifying selected values on a large table (alternate values)rC   r   r  r   r  r<  r  r   )r   r  r=  Nr  r>  r   r  r  r?  r@  s           r.   test09bzUpdateRowTestCase.test09bX  sK    
#5 iu 	 	AA#CKc!A#hh,CKCKJJLLLL >>r>** 	 	C(CKc#(mm+CKCKJJLLLL V\\w6F  H Hu 	$ 	$A2vzz !!6
1 #C!HH6
1 $6
1 !6
1 #CFF
6
1 #6
1 ; 	/LLNNNK$-E#EZZ\\> 	3%tBxx000'b222rzz||444e,,,,,r   )r   r   r   rK   r  r  r  r  r  r7  r  r  r  r  rD  r   r   s   @r.   r+  r+    s        0 0 0 0 0!) !) !)F#) #) #)J#) #) #)J#) #) #)J )  )  )D )  )  )D") ") ")H*- *- *-X*- *- *-X0- 0- 0-d/- /- /- /- /- /- /-r   r+  c                       e Zd ZdZdZdS )UpdateRowTestCase1r   r   Nr!  r-   r   r.   rF  rF    r"  r   rF  c                       e Zd ZdZdZdS )UpdateRowTestCase2r   r   Nr!  r-   r   r.   rH  rH    r"  r   rH  c                       e Zd ZdZdZdS )UpdateRowTestCase3r   r-  Nr!  r-   r   r.   rJ  rJ    r'  r   rJ  c                       e Zd ZdZdZdS )UpdateRowTestCase4r   r-  Nr!  r-   r   r.   rL  rL    r'  r   rL  c                     t           j                                        } d}t          |          D ]}|                     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                            t(                               |                     t           j                            t*                               |                     t           j                            t,                               |                     t           j                            t.                               |                     t           j                            t0                               |                     t           j                            t2                               |                     t           j                            t4                               |                     t           j                            t6                               |                     t           j                            t8                               |                     t           j                            t:                               |                     t           j                            t<                               |                     t           j                            t>                               |                     t           j                            t@                               t           j!        rn|                     t           j                            tD                               |                     t           j                            tF                               | S )Nr   )$r   unittest	TestSuiter\   addTest	makeSuiter   r   r   r   r  r  r  r  r%  r(  rw  ry  r{  r  r  r  r  r   r$  r&  r)  rF  rH  rJ  rL  r  r  heavyr!  r+  )theSuiteniterns      r.   suiterV    s   ((**HE 5\\ O O223EFFGGG223DEEFFF223HIIJJJ223GHHIII223KLLMMM223KLLMMM223MNNOOOO%%&BCC	E 	E 	E223MNNOOO223LMMNNN223DEEFFF223HIIJJJ223FGGHHH22=AABBB22:>>???22>BBCCC22>BBCCC223CDDEEE223CDDEEE223CDDEEE223CDDEEE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O%%&ABB	D 	D 	D223LMMNNNN| GO%%&ABB	D 	D 	D223DEEFFFOr   __main__rV  )defaultTest)Ar{   numpyr<   tablesr   tables.testsr   IsDescriptionr   r   r!   r$   r&   r(   r   r1   TempFileMixinPyTablesTestCaser@   r   r   r   r   r  r  r  r  rN  skipIfblosc_availr  	lzo_availr  bzip2_availr!  r%  r(  r+  r/  rw  ry  r{  r  r  r  r  r  r  r  r  r   r$  r&  r)  r+  rF  rH  rJ  rL  rV  r   
parse_argvargvprint_versionsmainr-   r   r.   <module>rg     s   



              	/ 	/ 	/ 	/ 	/R 	/ 	/ 	/ BL!#Q777BL!7G*<FKKK RYQBIF###BKMMBKMMBMOOBKMMBL!$$$  "8 8 8 8 8r 8 8 8t* t* t* t* t*F(&*A t* t* t*n                  M   N N N N N= N N N    }       }              =    F..AC C    -  C C F,,?A A      A A F..AC C    -  C C       # # # # # # # #	 	 	 	 	 	 	 	Y  Y  Y  Y  Y -v/F Y  Y  Y |	 	 	 	 	* 	 	 	    .   4 4 4 4 4, 4 4 4(, , , , ,"
 , , ,V) V) V) V) V)%v'> V) V) V)r34 34 34 34 34F(&*A 34 34 34n: : : : :b : : :GJ GJ GJ GJ GJF(&*A GJ GJ GJT    ]       ]   b) b) b) b) b)f*F,C b) b) b)J       
       
       
       
}- }- }- }- }-,f.E }- }- }-@    *   
    *   
    *   
    *   
( ( (V zFchF
OW----- r   