
j\c        	   @@ s  d  d l  m Z d  d l  m Z d  d l Z d  d l Z d  d l m Z d  d l Z d  d l m	 Z	 m
 Z
 m Z m Z m Z m Z m Z d  d l m Z d  d l m Z d  d l m Z d  d	 l m Z d  d
 l m Z d  d l m Z d e j f d     YZ i	 e
 d d d d d d  d 6e
 d d d d d g d d d f  d 6e d d  d 6e d d d f  d 6e   d 6e   d 6e   d 6e   d 6e
 d d  d 6Z d  e j f d!     YZ d" e j e f d#     YZ  d$ e  f d%     YZ! d& e  f d'     YZ" d( e  f d)     YZ# d* e  f d+     YZ$ d, e  f d-     YZ% d. e  f d/     YZ& d0 e  f d1     YZ' d2 e  f d3     YZ( e j) e j* d4  d5 e  f d6     Y Z+ e j) e j, d7  d8 e  f d9     Y Z- e j) e j. d:  d; e  f d<     Y Z/ d= e  f d>     YZ0 d? e  f d@     YZ1 dA e  f dB     YZ2 dC e j e f dD     YZ3 dE e3 f dF     YZ4 dG e3 f dH     YZ5 dI e3 f dJ     YZ6 dK e j f dL     YZ7 dM e j e f dN     YZ8 dO e j e f dP     YZ9 dQ e j f dR     YZ: dS e j e f dT     YZ; dU e; f dV     YZ< dW e; f dX     YZ= dY e j e f dZ     YZ> d[ e> f d\     YZ? d] e> f d^     YZ@ d_ e> f d`     YZA da e> f db     YZB dc e j e f dd     YZC de eC f df     YZD dg eC f dh     YZE di eC f dj     YZF dk eC f dl     YZG dm   ZH eI dn k re jJ e jK  e jL   e jM do dp  n  d S(q   i    (   t   print_function(   t   absolute_importN(   t   rec(   t   Colt	   StringColt   IntColt   FloatColt   Int16Colt	   UInt16Colt
   Float32Col(   t   common(   t   allequal(   t   unittest(   t   PyTablesTestCase(   t   descr_from_dtype(   t   ranget   Recordc           B@ s   e  Z e d  d d d d d  Z e d  d d d d g d d  Z e d d d d  Z e d d d f d d  Z e d d  Z	 e
 d d	  Z e d d
  Z e d d  Z e d  d d d  Z RS(   t   itemsizei   t   dfltt    t   shapei   t   abcdt   efghi   g@g@i   t   e(   i   i   (   i   i   (   (   i   i   (   i   i   (   i   i   (   i   i   (   t   __name__t
   __module__R   t   var0t   var1R   t   var1_t   var2R   t   var3R   t   var4R	   t   var5R   t   var6t   var7(    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR      s   !R   i   R   R   R   i   R   R   R   R   R   R   R   R   R    R!   i   R"   t   RecordDTc           B@ s%  e  Z e j e j d   d d Z e j e j d d f  d d d g Z e j e j d  d d Z e j	 d	 d
 d d d d f Z
 e j e j d  d d Z e j e j d  d d Z e j e j d  d d Z e j e j d  d d Z e j e j d  d d Z RS(   t   2S4R   R   t   S4i   R   R   t   2i4i   t   i4R   t   i2t   2f8g@t   f4g@s   ()u2i   t   1S1R   (   i   i   (   i   i   (   (   i   i   (   i   i   (   i   i   (   i   i   (   R   R   R   t
   from_dtypet   npt   dtypeR   R   R   t   from_sctypeR   R   R   R    R!   R"   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR#   8   s   t   BasicTestCasec           B@ s   e  Z d  Z d Z d Z d Z d Z d Z e Z	 d Z
 d Z d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   t   ws   This is the table titleid   i   i    t   zlibi   i   c         C@ s=   t  t |   j   |  j j |  _ |  j   |  j j   d  S(   N(   t   superR0   t   setUpt   h5filet   roott	   rootgroupt   populateFilet   close(   t   self(    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR4   R   s    
c         C@ s  |  j  } | d } g  } xt |  j  D]} g  } d |  j | g d } | j |  d |  j | g d g d } | j |  | d f } | j |  | d f d f }	 | j |	  | |  j }
 | j |
  t | d t j  r| j t |  t | |  g  n | j t |   t | d t j  rc| j t j	 t |  f d   n | j t |   | j |
 d ?d	 @|
 d >d
 @ | d d d } | j |  | j t
 |   q) Wt j j	 | d | j d |  j |  _ d  S(   Ni    s   %04di   i   R   R    i   i   i   i   iR.   R   (   i   i   (   t   recordtemplateR   t   expectedrowst   appendt   maxshortt
   isinstanceR-   t   ndarrayt   floatt   arrayt   tupleR   R.   t   record(   R:   RD   t   rowt   buflistt   it   tmplistR   R   R   R   R   R"   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   initRecArrayZ   s6    	
&&!c   
      C@ ss  |  j  } |  j r |  j   n  xMt d  D]?} t j d |  j d |  j  } | d k  rh t j	 } n i d d 6d d 6t j	 } |  j
 j | d t |  |  j d |  j d	 | d
 |  j d | } |  j s<| j } xat |  j  D]M} d |  j | } | j d  | d <| j d  | d <| d j d  | d <| d f | d <| d f d f | d <| |  j | d <t | d t j  rt |  t | |  g | d <n t |  | d <t | d t j  rt j t |  f d  | d <n t |  | d <| d d ?d @| d d >d @| d <| j   q Wn  | j   |  j
 j | d t |   }	 |	 } q, Wd  S(   Ni   t	   complevelt   complibi   t   bigt   littlet   tablet   titlet   filtersR<   t	   byteorders   %04dt   asciiR   R   iR"   i   R   R   R   R   R    i   i   i   i   R!   t   group(   i   i   (   R7   t   recarrayinitRI   R   t   tablest   Filterst   compressRK   t   sysRQ   R5   t   create_tablet   strRD   RO   R<   RE   t   encodeR>   R?   R-   R@   RA   RB   R=   t   flusht   create_group(
   R:   RS   t   jRP   RQ   RN   RE   RG   t   st   group2(    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR8   }   sJ    								##
c      	   C@ s  t  j |  j  |  _ |  j j d  } | j } t |  j t  rN |  j } n{ t |  j t	 j
  r t |  j j  \ } } | j } nB t |  j t	 j  r t |  j  \ } } | j } n |  j j } d d d d d d d d	 d
 g	 } |  j | t | j   |  j | t | j   g  | D] } | | j ^ q#} |  j | g  | D] }	 | j |	 ^ qL |  j | g  | D] }	 | j |	 ^ qv g  | D] } | | j ^ q} |  j | g  | D] }	 | j |	 ^ q |  j | g  | D] }	 | j |	 ^ q x | D] }	 t j rYt d | |	 j  t d | j |	  t d | j |	  n  |  j t j | j |	 | |	 j   |  j t j | j |	 | |	 j   qW|  j | t | j    xQ | D]I }
 | |
 } | j |
 } |  j | j | j  |  j | j | j  qWd S(   s2   Checking table description and descriptive fields.s   /table0R   R   R   R   R   R   R    R!   R"   s   dflt-->s   coldflts-->s   desc.dflts-->N(!   RU   t	   open_filet   h5fnameR5   t   get_nodet   descriptionR?   RD   t   dictR-   R@   R   R.   t   _v_colobjectst   columnst   assertEqualt   listt   colnamest   _v_namest	   coldtypest	   _v_dtypest   typet   coltypest   _v_typesR
   t   verboset   printR   t   coldfltst   _v_dfltst
   assertTruet   areArraysEqualt   _v_pathnames(   R:   t   tblt   descRg   t   descrt   _t   expectedNamest   colnamet   expectedTypest   vt   colNamet   expectedColt   col(    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test00_description   sV    		!	!	!	!	
c         C@ s  t  j r1 t d d d  t d |  j j  n  t j |  j d  |  _ |  j j	 d  } d | _
 g  | j   D]0 } | d d	 d	 d
 k  rq | d d	 d	 ^ qq } t  j r t d t |   t d | j d | j  t d |  t d t |   n  |  j d } g  | j   D]$ } | d d	 d	 d
 k  r| ^ qd } |  j | d d	 | d d	 d	 | d d	 | d d	 d	 | d f d d | | d f  t | d t j  r|  j t | d t j | f d t j    n |  j | d t |   |  j t |  d
  d S(   s   Checking table read and cuts.s   
s   -=i   s   Running %s.test01_readTable...t   rs   /table0i   R   i    i   s   Table:s   Nrows int   :s   Last record in table ==>s$   Total selected records in table ==> i   iR   R   R   R"   t   0001t   1R    i   N(   R
   Rq   Rr   t	   __class__R   RU   Ra   Rb   R5   Rc   t
   nrowsinbuft   iterrowst   reprt   _v_pathnamet   nrowst   lenR<   Rh   R?   R-   R@   Ru   R   RB   t   float32RA   (   R:   RN   R   t   resultR   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test01_readTable   s6    		0	;
#c         C@ s  t  j r1 t d d d  t d |  j j  n  t j |  j d  |  _ |  j j	 d  } d | _
 g  | j   D]( } | d d	 d	 d
 k  rq | d ^ qq } t  j r t d | j d | j  t d |  t d t |   n  | j } g  | j   D]$ } | d d	 d	 d
 k  r | ^ q d } t | d t j  r|  j t | d	 t j t d	  f d t j    |  j t | d t j t d  f d t j    |  j t | d t j t d  f d t j    |  j t | d t j t d  f d t j    |  j t | d t j t d  f d t j    |  j t | d t j t | d  f d t j    n |  j | d t | d   |  j t |  d
  g  | j   D]( } | d d	 d	 d
 k  r| d ^ q} g  | j   D]$ } | d d	 d	 d
 k  r| ^ qd } | d j j d k rt j d |  j d	 g d g d d  } |  j t | d	 |   t j d |  j d g d g d d  } |  j t | d |   t j d |  j d g d g d d  } |  j t | d |   t j d |  j d g d g d d  } |  j t | d |   t j d |  j d g d g d d  } |  j t | d |   t j d g d g d d  } |  j t | d |   n |  j | d d  |  j t |  d
  d S(   s<   Checking table read and cuts (multidimensional columns case)s   
s   -=i   s   Running %s.test01b_readTable...R   s   /table0i   R   i    i   R    s   Nrows inR   s   Last record in table ==>s$   Total selected records in table ==> ii   i   i   i
   R   t   Ss   %04dR   NR   (   R
   Rq   Rr   R   R   RU   Ra   Rb   R5   Rc   R   R   R   R   R   R?   R-   R@   Ru   R   RB   RA   R   Rh   R.   t   charR<   (   R:   RN   R   t   result1R   t   result2t   a(    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test01b_readTable  s\    		;		;&&&&&;;+++++ c         C@ s   t  j r1 t d d d  t d |  j j  n  t j |  j d  |  _ |  j j	 d  } t  j r t d | j
 j j  t d | j
 j j  n  |  j | j
 j j | j
 j j  d	 S(
   s+   Checking shape of multidimensional columns.s   
s   -=i   s   Running %s.test01c_readTable...R   s   /table0s   var2 col shape:s
   Should be:N(   R
   Rq   Rr   R   R   RU   Ra   Rb   R5   Rc   t   colsR   R   Rh   (   R:   RN   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test01c_readTableV  s    		c   	      C@ s  t  j |  j d d |  _ |  j j |  _ t j r[ t d d d  t d |  j	 j
  n  |  j j d  } | j } t j r t d | j d	 | j  t d
 | j j  t d | j  n  x8t |  j  D]'} d |  j | } | j d  | d <| j d  | d <| d j d  | d <| d f | d <| d f d f | d <| |  j | d <t | d t j  rt |  t | |  g | d <n t |  | d <t | d t j  rt j t |  f d  | d <n t |  | d <| j   q W| j   g  | j   D]0 } | d d d d k  r| d d d ^ q} g  | j   D]$ } | d d d d k  rS| ^ qSd } |  j d } |  j | d d | d d d | d d | d d d | d f d d | | d f  t | d t j  r7|  j t  | d t j t |  f d t j!    n |  j | d t |   |  j d k rl|  j } n d } |  j t" |  d |  d S(   s4   Checking whether appending record rows works or not.t   modeR   s   
s   -=i   s   Running %s.test02_AppendRows...s   /group0/table1s   Nrows in oldR   s   Record Format ==>s   Record Size ==>s   %04dRR   R   R   iR"   i   R   R   R   R   R    i   i    i   R   R   N(   i   i   (#   RU   Ra   Rb   R5   R6   R7   R
   Rq   Rr   R   R   Rc   RE   R   R   Rd   t   _v_nested_formatst   rowsizeR   t
   appendrowsR[   R>   R?   R-   R@   RA   RB   R=   R\   R   Rh   Ru   R   R   R   (	   R:   RN   RE   RG   R_   R   R   R   t   add(    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test02_AppendRowsf  s\    			##
0;
)c         C@ sL  t  j r1 t d d d  t d |  j j  n  t j |  j d  |  _ |  j j	 d  } g  | j
   D]  } | d d k  rh | d	 ^ qh } t  j r t d
 | j d | j  t d | j  t d |  t d t |   n  |  j d } t | j
    d } |  j | d d d | d f d | f  |  j t |  d  d S(   s%   Checking if table is endianess aware.s   
s   -=i   s   Running %s.test03_endianess...R   s   /group0/group1/table2R   i   R   s   Nrows inR   s   On-disk byteorder ==>s   Last record in table ==>s#   Total selected records in table ==>i   iR   i    R   N(   R
   Rq   Rr   R   R   RU   Ra   Rb   R5   Rc   R   R   R   RQ   R   R<   Ri   Rh   (   R:   RN   R   R   R   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test03_endianess  s    	3	,i   (   R   R   t	   open_modeRO   R<   R   RW   RK   R   RD   RT   R>   R4   RI   R8   R   R   R   R   R   R   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR0   F   s$   		#	5	B	&	<		@t   BasicWriteTestCasec           B@ s   e  Z d  Z RS(   t
   BasicWrite(   R   R   RO   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR     s   t   DictWriteTestCasec           B@ s2   e  Z d  Z e Z d Z d Z d Z d Z d Z	 RS(   t	   DictWritei   i   i    i
   (
   R   R   RO   t   RecordDescriptionDictRD   R   R   t   startt   stopt   step(    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR     s   t   RecordDTWriteTestCasec           B@ s   e  Z d  Z e Z RS(   R   (   R   R   RO   R#   RD   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR     s   t   NumPyDTWriteTestCasec           B@ s/   e  Z d  Z e j d  Z d j d  e _ RS(   R   s-   (2,)S4,(2,2)S4,(2,)i4,(2,2)i4,i2,2f8,f4,i2,S1s-   var0,var1,var1_,var2,var3,var4,var5,var6,var7t   ,(   R   R   RO   R-   R.   RD   t   splitt   names(    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR     s   t   RecArrayOneWriteTestCasec           B@ s2   e  Z d  Z e j j d d d d d d d Z RS(   t   RecArrayOneWritet   formatss-   (2,)S4,(2,2)S4,(2,)i4,(2,2)i4,i2,2f8,f4,i2,S1R   s-   var0,var1,var1_,var2,var3,var4,var5,var6,var7R   i    N(   R   R   RO   R-   R   RB   t   NoneRD   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR     s   	t   RecArrayTwoWriteTestCasec           B@ s>   e  Z d  Z d Z d Z e j j d d d d d d d Z	 RS(	   t   RecArrayTwoWriteid   i   R   s,   (2,)a4,(2,2)a4,(2,)i4,(2,2)i4,i2,f8,f4,i2,a1R   s-   var0,var1,var1_,var2,var3,var4,var5,var6,var7R   N(
   R   R   RO   R<   RT   R-   R   RB   R   R;   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR     s   	t   RecArrayThreeWriteTestCasec           B@ s>   e  Z d  Z d Z d Z e j j d d d d d d d Z	 RS(	   t   RecArrayThreeWriteid   i   R   s.   (2,)a4,(2,2)a4,(2,)i4,(2,2)i4,i2,2f8,4f4,i2,a1R   s-   var0,var1,var1_,var2,var3,var4,var5,var6,var7R   N(
   R   R   RO   R<   RT   R-   R   RB   R   R;   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR     s   	t   RecArrayAlignedWriteTestCasec        
   B@ sD   e  Z d  Z d Z d Z e j j d	 d d d d d d d e	 Z
 RS(
   R   id   i   R   s.   (2,)a4,(2,2)a4,(2,)i4,(2,2)i4,i2,2f8,4f4,i2,a1R   s-   var0,var1,var1_,var2,var3,var4,var5,var6,var7R   t   alignedN(   R   R   RO   R<   RT   R-   R   RB   R   t   TrueR;   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR     s   	s'   BLOSC compression library not availablet   CompressBloscTablesTestCasec           B@ s   e  Z d  Z d Z d Z RS(   t   CompressBloscTablesi   t   blosc(   R   R   RO   RW   RK   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR     s   s%   LZO compression library not availablet   CompressLZOTablesTestCasec           B@ s   e  Z d  Z d Z d Z RS(   t   CompressLZOTablesi   t   lzo(   R   R   RO   RW   RK   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR     s   s'   BZIP2 compression library not availablet   CompressBzip2TablesTestCasec           B@ s   e  Z d  Z d Z d Z RS(   t   CompressBzip2Tablesi   t   bzip2(   R   R   RO   RW   RK   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR     s   t   CompressZLIBTablesTestCasec           B@ s   e  Z d  Z d Z d Z RS(   t   CompressOneTablesi   R2   (   R   R   RO   RW   RK   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR     s   t   CompressTwoTablesTestCasec           B@ s   e  Z d  Z d Z e Z RS(   t   CompressTwoTablesi   (   R   R   RO   RW   R   RD   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR      s   t   BigTablesTestCasec           B@ s   e  Z d  Z d Z d Z RS(   t	   BigTablesi  id   (   R   R   RO   R<   R   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR   '  s   t   BasicRangeTestCasec           B@ s   e  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 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 RS(   R1   s   This is the table titlei   i   id   i    i   i   c         C@ s=   t  t |   j   |  j j |  _ |  j   |  j j   d  S(   N(   R3   R   R4   R5   R6   R7   R8   R9   (   R:   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR4   C  s    
c         C@ s  |  j  } xt d  D]} |  j j | d t |  |  j d |  j d t j |  j	  d |  j
 } | j } x#t |  j
  D]} d |  j
 | | d <| d d d d	 | d
 <| | d <| |  j | d <t | d t j  rt |  t | |  g | d <n t |  | d <t | d t j  rPt j t |  f d  | d <n t |  | d <| d d ?d @| d d >d @| d <| j   q~ W| j   |  j j | d t |   } | } q Wd  S(   Ni   RN   RO   RP   R<   s   %04dR   i    iR"   R   R   R   R    i   i   i   i   R!   RS   (   R7   R   R5   RY   RZ   RD   RO   RU   RV   RW   R<   RE   R>   R?   R-   R@   RA   RB   R=   R\   R]   (   R:   RS   R^   RN   RE   RG   R`   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR8   K  s0    		"	
##
c         C@ s  t  j |  j d  |  _ |  j j d  } |  j | _ t |  j |  j |  j	  j
 | j  } t t t |     } |  j r^| j |  j |  j |  j	  } g  } xit t |   D] } | d | d d |  j k  r	d |  j	 k  r	| j | d | d d  q | d | d d |  j k r d |  j	 k r | j | d | d d  q q Wn|  j r:| j |  j |  j |  j	 d  } g  } x}t t |   D] } | | d d |  j k  rd |  j	 k  r| j | | d d  q| | d d |  j k rd |  j	 k r| j | | d d  qqWn d |  j	 k  rg  | j |  j |  j |  j	  D]3 } | d d d |  j k  rh| d d d ^ qh} nj d |  j	 k rg  | j |  j |  j |  j	  D]3 } | d d d |  j k r| d d d ^ q} n  |  j d k  r0|  j |  j }	 n	 |  j }	 |  j d  k rs|  j sZ|  j rg|	 d }
 q|  j }
 n+ |  j d k  r|  j |  j }
 n	 |  j }
 |  j |
 k  r|  j }
 n  t j rt d | j d | j  | r+|  j rt d | d	  q+|  j rt d
 | d	  q+t d |  n  t d t |   t d |  t d t t |	 |
 |  j	    t d |	 |
 |  j	  n  |  j | t t |	 |
 |  j	    |  j p|  j s|	 |
 k  rd |  j	 k  rg  | j |  j |  j |  j	  D]+ } | d d d |  j k  r| d ^ qd	 } |  j |  j k rx|  j | d d t t |  j |  j |  j	   d	  q|  j | d d t t |	 |
 |  j	   d	  q|	 |
 k rd |  j	 k rg  | j |  j |  j |  j	  D]+ } | d d d |  j k r| d ^ qd } |  j |  j k  rm|  j | d d t t |  j |  j pVd	 |  j	   d  q|  j | d d t t |	 |
 pd	 |  j	   d  qn  |  j j   d  S(   NR   s   /table0R   i    i   s   Nrows inR   s"   Last record *read* in recarray ==>is   Last value *read* in getCol ==>s%   Last record *read* in table range ==>s$   Total number of selected records ==>s   Selected records:
s#   Selected records should look like:
s   start, stop, step ==>(   RU   Ra   Rb   R5   Rc   R   t   sliceR   R   R   t   indicesR   R   Ri   R   t   checkrecarrayt   readR=   t   checkgetColR   R<   R   R
   Rq   Rr   R   Rh   R9   (   R:   RN   t   resranget	   reslengtht   recarrayR   t   nrect   columnR   t   startrt   stopr(    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   check_rangep  s    '	. '	!**#66					%/)#//,c         C@ so   t  j r1 t d d d  t d |  j j  n  d |  _ d |  _ d |  _ |  j |  _	 d |  _
 |  j   d	 S(
   s*   Checking ranges in table iterators (case1)s   
s   -=i   s   Running %s.test01_range...i   i   i    i   N(   R
   Rq   Rr   R   R   R   R   R   R<   R   R   R   (   R:   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test01_range  s    					c         C@ ss   t  j r1 t d d d  t d |  j j  n  d |  _ d |  _ |  j d |  _ d	 |  _
 d |  _ |  j   d	 S(
   s*   Checking ranges in table iterators (case1)s   
s   -=i   s   Running %s.test01_range...i   i   i   iN(   R
   Rq   Rr   R   R   R   R   R<   R   R   R   R   R   (   R:   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test01a_range  s    					c         C@ so   t  j r1 t d d d  t d |  j j  n  d |  _ d |  _ d |  _ |  j |  _	 d |  _
 |  j   d	 S(
   s*   Checking ranges in table iterators (case2)s   
s   -=i   s   Running %s.test02_range...i   i   i   i   N(   R
   Rq   Rr   R   R   R   R   R   R<   R   R   R   (   R:   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test02_range  s    					c         C@ sr   t  j r1 t d d d  t d |  j j  n  |  j |  _ d |  _ d |  _ |  j |  _	 d |  _
 |  j   d S(	   s*   Checking ranges in table iterators (case3)s   
s   -=i   s   Running %s.test03_range...i   i    i
   N(   R
   Rq   Rr   R   R   R<   R   R   R   R   R   R   (   R:   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test03_range	  s    				c         C@ sr   t  j r1 t d d d  t d |  j j  n  |  j |  _ d |  _ d |  _ |  j |  _	 d |  _
 |  j   d S(   s*   Checking ranges in table iterators (case4)s   
s   -=i   s   Running %s.test04_range...i   i   N(   R
   Rq   Rr   R   R   R<   R   R   R   R   R   R   (   R:   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test04_range  s    				c         C@ so   t  j r1 t d d d  t d |  j j  n  d |  _ d |  _ d |  _ |  j |  _	 d |  _
 |  j   d	 S(
   s*   Checking ranges in table iterators (case5)s   
s   -=i   s   Running %s.test05_range...i   i
   i   i   N(   R
   Rq   Rr   R   R   R   R   R   R<   R   R   R   (   R:   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test05_range)  s    					c         C@ so   t  j r1 t d d d  t d |  j j  n  d |  _ d |  _ d |  _ |  j |  _	 d |  _
 |  j   d S(	   s*   Checking ranges in table iterators (case6)s   
s   -=i   s   Running %s.test06_range...i   i   i
   N(   R
   Rq   Rr   R   R   R   R   R   R<   R   R   R   (   R:   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test06_range9  s    					c         C@ sr   t  j r1 t d d d  t d |  j j  n  d |  _ d |  _ |  j |  _ |  j |  _ d |  _	 |  j
   d S(	   s*   Checking ranges in table iterators (case7)s   
s   -=i   s   Running %s.test07_range...i   i   i
   N(   R
   Rq   Rr   R   R   R   R   R   R   R   R   (   R:   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test07_rangeI  s    				c         C@ sv   t  j r1 t d d d  t d |  j j  n  d |  _ d |  _ |  j d |  _ |  j |  _ d |  _	 |  j
   d S(	   s*   Checking ranges in table iterators (case8)s   
s   -=i   s   Running %s.test08_range...i   i   i   N(   R
   Rq   Rr   R   R   R   R   R   R   R   R   (   R:   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test08_rangeY  s    				c         C@ sl   t  j r1 t d d d  t d |  j j  n  d |  _ d |  _ d |  _ d |  _ d |  _	 |  j
   d	 S(
   s*   Checking ranges in table iterators (case9)s   
s   -=i   s   Running %s.test09_range...id   i   i   i   N(   R
   Rq   Rr   R   R   R   R   R   R   R   R   (   R:   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test09_rangei  s    						c         C@ s   t  j r1 t d d d  t d |  j j  n  |  j |  _ d |  _ d |  _ |  j |  j |  _	 d |  _
 |  j |  j
 |  _ d |  _ |  j   d	 S(
   s+   Checking ranges in table iterators (case10)s   
s   -=i   s   Running %s.test10_range...i   ii    i   N(   R
   Rq   Rr   R   R   R<   R   R   R   R   R   R   R   R   (   R:   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test10_rangey  s    					c         C@ s   t  j r1 t d d d  t d |  j j  n  |  j |  _ d |  _ d |  _ |  j |  j |  _	 d |  _
 |  j |  j
 |  _ d |  _ |  j   d	 S(
   s+   Checking ranges in table iterators (case11)s   
s   -=i   s   Running %s.test11_range...i   iii   N(   R
   Rq   Rr   R   R   R<   R   R   R   R   R   R   R   R   (   R:   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test11_range  s    					c         C@ s   t  j r1 t d d d  t d |  j j  n  |  j |  _ d |  _ d |  _ |  j |  j |  _	 d |  _
 |  j |  j
 |  _ d |  _ |  j   d	 S(
   s+   Checking ranges in table iterators (case12)s   
s   -=i   s   Running %s.test12_range...i   iii   N(   R
   Rq   Rr   R   R   R<   R   R   R   R   R   R   R   R   (   R:   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test12_range  s    					c         C@ s   t  j r1 t d d d  t d |  j j  n  d |  _ y |  j   WnI t k
 r t  j r t j	   \ } } } t d  n  |  j
 j   n Xd |  _ y |  j   WnI t k
 r t  j r t j	   \ } } } t d  n  |  j
 j   n Xd S(	   s+   Checking ranges in table iterators (case13)s   
s   -=i   s   Running %s.test13_range...is)   
Great!, the next ValueError was catched!i    N(   R
   Rq   Rr   R   R   R   R   t
   ValueErrorRX   t   exc_infoR5   R9   (   R:   Rn   t   valuet	   traceback(    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test13_range  s&    					i   (    R   R   R   RO   R   RD   R>   R<   RW   R   R   R   R   R   R   R4   R8   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR   3  s:   		%	i													t   IterRangeTestCasec           B@ s   e  Z RS(    (   R   R   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR     s   t   RecArrayRangeTestCasec           B@ s   e  Z d  Z RS(   i   (   R   R   R   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR     s   t   GetColRangeTestCasec           B@ s   e  Z d  Z d   Z RS(   i   c         C@ s   t  j r1 t d d d  t d |  j j  n  t j |  j d  |  _ |  j j	 |  _	 |  j j
 d  } |  j t   | j d d  Wd	 QXd	 S(
   s-   Checking non-existing Field in getCol method s   
s   -=i   s%   Running %s.test01_nonexistentField...R   s   /table0t   fields   non-existent-columnN(   R
   Rq   Rr   R   R   RU   Ra   Rb   R5   R6   Rc   t   assertRaisest   KeyErrorR   (   R:   RN   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test01_nonexistentField  s    	(   R   R   R   R   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR     s   t   Recc           B@ sM   e  Z e d  d d d  Z e d d d  d d d  Z e d  d d d  Z RS(	   t   posi   R   i   R   i   (   i   (   i   (   i   i   (   R   R   R   t   col1R   t   col2R   t   col3(    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR     s   t
   RecArrayIOc           B@ sG   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c   
      C@ s)  d d g d g d } t  j d d g d g d d t } d g d g d } d g d g d } d d	 g d g d
 } t  j d d g d g d
  } | | | f | | | f g } t  j j | d d d d } |  j j |  j j d |  |  j j j j   }	 |  j	 | j
   |	 j
    d S(   s!   Checking saving a normal recarrayi  i   i   i   R.   t   dbet   deg333333?gffffff@i   g      @g333333@R   s   (2,6)i4,(3,2)a3,(4,6)f8R   s   col1,col2,col3R   N(   R-   RB   t   intR   R5   RY   R6   R   R   Rh   t   tostring(
   R:   t   intlist1t   intlist2t   arrlist1t   arrlist2t
   floatlist1t
   floatlist2t   bR   t   r2(    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test00  s    & 	c         C@ s3  d d g d g d } t  j d d g d g d d t } d g d g d } d g d g d } d d	 g d g d
 } t  j d d g d g d
  } | | | f | | | f g } t  j j | d d d d } | d }	 |  j j |  j j d |	  |  j j j j   }
 |  j	 |	 j
   |
 j
    d S(   s7   Checking saving a recarray with an offset in its bufferi  i   i   i   R.   R   R   g333333?gffffff@i   g      @g333333@R   s   (2,6)i4,(3,2)a3,(4,6)f8R   s   col1,col2,col3i   R   N(   R-   RB   R   R   R5   RY   R6   R   R   Rh   R   (   R:   R   R   R   R   R   R   R   R   t   r1R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test01
  s    & 	
c         C@ sF  d d d g d g d g } t  j d d d g d g d g d t } d	 g d g d } d
 g d g d } d d g d g d } t  j d d g d g d  } | | | f | | | f g } t  j j | d d d d d } | d d !}	 |  j j |  j j d |	  |  j j j j   }
 |  j	 |	 j
   |
 j
    d S(   s+   Checking saving a slice of a large recarrayi   i   i#   i   i   i   i   R.   R   R   g333333?gffffff@g      @g333333@i,  R   s   (1,6,18)i4,(3,2)a3,(4,6)f8R   s   col1,col2,col3i"  i$  R   N(   R-   RB   R   R   R5   RY   R6   R   R   Rh   R   (   R:   R   R   R   R   R   R   R   R   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test02$  s    , 	c         C@ s\  d d d g d g d g } t  j d d d g d g d g d t } d	 g d g d } d
 g d g d } d d g d g d } t  j d d g d g d  } | | | f | | | f g } t  j j | d d d d d d d } | d d d  }	 |	 d }
 |  j j |  j j d |
  |  j j j j   }	 |  j	 |
 j
   |	 j
    d S(   s.   Checking saving a slice of an strided recarrayi   i   i#   i   i   i   i   R.   R   R   g333333?gffffff@g      @g333333@i,  R   s   (1,6,18)i4,(3,2)a3,(4,6)f8R   s   col1,col2,col3R   iX  Ni   R   (   R-   RB   R   R   R5   RY   R6   R   R   Rh   R   (   R:   R   R   R   R   R   R   R   R   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test03>  s    , 
c         C@ sX  t  j r1 t d d d  t d |  j j  n  |  j j |  j j d t  } d g d d g d d	 g d d
 g d f \ } } } } d g d g d d g d g d d g d g d d g d g d f \ } } } }	 t	 j
 d d g | | f d d g | | f g d d }
 | j |
  | j d d g | | f d d g | |	 f g  d d g d d g d d g g g | j j d )t	 j
 d d g | | f d d g | | f d d g | | f d d g | |	 f g d d d d } | j   } t  j r%t d t |   t d t |   n  |  j | j   | j    |  j | j d  d S(   s;   Checking modifying one column (single column version, list)s   
s   -=i   s   Running %s.test08a...R   R   i   t   dedt   db1t   de1g333333?i   g?gffffff?g      ?i  i  R   s   (2,)i4,(3,)a3,(3,2)f8i  i   i   i   i   R   s   col1,col2,col3s   Original table-->s   Should look like-->N(   R
   Rq   Rr   R   R   R5   RY   R6   R   t   recordsRB   R=   R   R   R   R   Rh   R   R   (   R:   RN   t   s0t   s1t   s2t   s3t   f0t   f1t   f2t   f3R   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test08a[  s*    	:V0	1.**		c         C@ s  t  j r1 t d d d  t d |  j j  n  |  j j |  j j d t  } d g d d g d d	 g d d
 g d f \ } } } } d g d g d d g d g d d g d g d d g d g d f \ } } } }	 t	 j
 d d g | | f d d g | | f g d d }
 | j |
  | j 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 } | j d d 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 d d } | j   } t  j rRt d t |   t d  t |   n  |  j | j   | j    |  j | j d  d! S("   s?   Checking modifying one column (single column version, recarray)s   
s   -=i   s   Running %s.test08b...R   R   i   R  R  R	  g333333?i   g?gffffff?g      ?i  i  R   s   (2,)i4,(3,)a3,(3,2)f8i  i   i   i   R'   R   i   Rg   R   R   s   col1,col2,col3s   Original table-->s   Should look like-->N(   R
   Rq   Rr   R   R   R5   RY   R6   R   R
  RB   R=   t
   fromarraysR-   t   modify_columnsR   R   Rh   R   R   (   R:   RN   R  R  R  R  R  R  R  R  R   Rg   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test08b~  s.    	:V0	16**		c         C@ s  t  j r1 t d d d  t d |  j j  n  |  j j |  j j d t  } d g d d g d d	 g d d
 g d f \ } } } } d g d g d d g d g d d g d g d d g d g d f \ } } } }	 t	 j
 d d g | | f d d g | | f g d d }
 | j |
  | j 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 } | j d d d | d d  t	 j
 d d g | | f d d g | | f d d g | | f d d g | |	 f g d d d d } | j   } t  j rOt d  t |   t d! t |   n  |  j | j   | j    |  j | j d  d" S(#   sV   Checking modifying one column (single column version, recarray,
        modify_column)s   
s   -=i   s   Running %s.test08b2...R   R   i   R  R  R	  g333333?i   g?gffffff?g      ?i  i  R   s   (2,)i4,(3,)a3,(3,2)f8i  i   i   i   R'   R   i   R   R}   R   R   s   col1,col2,col3s   Original table-->s   Should look like-->N(   R
   Rq   Rr   R   R   R5   RY   R6   R   R
  RB   R=   R  R-   t   modify_columnR   R   Rh   R   R   (   R:   RN   R  R  R  R  R  R  R  R  R   Rg   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test08b2  s.    	:V0	16**		(	   R   R   R  R  R  R  R  R  R  (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR     s   					#	%t   DefaultValuesc           B@ s   e  Z d    Z RS(   c         C@ s  |  j  j |  j  j d t  } d } xO t |  D]A } | d k sO | d k re d d f | j d <n  | j j   q1 W| j   d g d d d	 g g d d d d  f d d d d d f	 g } t j	 j
 | | d d d d d d d d d d d d g	 } d! d" f | d d <d# d$ f | d d <| j   } t j rid
 rit d  t |  t d  t |  n  |  j | j   | j    d S(%   s.   Checking saving a Table MD with default valuesRN   i   i   i   i   R   s    R   R   i   g@g@R   R   s,   (2,)a4,(2,2)a4,(2,)i4,(2,2)i4,i2,f8,f4,u2,a1R   R   R   R   R   R   R    R!   R"   s   Table values:s   Record values:N(   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   R5   RY   R6   R   R   RE   R=   R\   R-   R   RB   R   R
   Rq   Rr   Rh   R   (   R:   RN   R   RG   t   bufferR   R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR    s4    

		



(   R   R   R  (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR    s   t   RecordTc           B@ s   e  Z e d  d d d  Z e d  d g d d  Z e d  d d g d d  Z e d  d d g d d  Z e d  d d g d d g g d d  Z RS(	   R   i   R   i   i    (    (   i   (   i   (   i   i   (   R   R   R   R   R   t   var2_sR   R   (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR    s
   t   ShapeTestCasec           B@ s>   e  Z d    Z d   Z d   Z d   Z d   Z d   Z RS(   c         C@ s!   t  t |   j   |  j   d  S(   N(   R3   R  R4   R8   (   R:   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR4     s    c         C@ sV   |  j  j |  j  j d t  } | j } x t d  D] } | j   q4 W| j   d  S(   NRN   i   (   R5   RY   R6   R  RE   R   R=   R\   (   R:   RN   RE   RG   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR8     s
    	c         C@ sy   |  j  r |  j   n  |  j j j } t j rU t d | j j	  t d d g  n  |  j
 | j j	 j   d g  d S(   s   Checking scalar shapess   The values look like:s   They should look like:i   N(   t   reopent   _reopenR5   R6   RN   R
   Rq   Rr   R   R   Rh   t   tolist(   R:   RN   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR    s    		c         C@ s   |  j  r |  j   n  |  j j j } t j rX t d | j j	  t d d g g  n  |  j
 | j j	 j   d g g  d S(   s+   Checking undimensional (one element) shapess   The values look like:s   They should look like:i   N(   R  R  R5   R6   RN   R
   Rq   Rr   R   R   Rh   R   (   R:   RN   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR  '  s    		c         C@ s   |  j  r |  j   n  |  j j j } t j r[ t d | j j	  t d d d g g  n  |  j
 | j j	 j   d d g g  |  j
 | j j j   d d g g  d S(   s,   Checking undimensional (two elements) shapess   The values look like:s   They should look like:i   N(   R  R  R5   R6   RN   R
   Rq   Rr   R   R   Rh   R   R  (   R:   RN   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR  5  s    		&c         C@ s   |  j  r |  j   n  |  j j j } t j rg t d | j j	  t d d d g d d g g g  n  |  j
 | j j	 j   d d g d d g g g  d S(   s   Checking bidimensional shapess   The values look like:s   They should look like:i    i   N(   R  R  R5   R6   RN   R
   Rq   Rr   R   R   Rh   R   (   R:   RN   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR  D  s    		%(   R   R   R4   R8   R  R  R  R  (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR  	  s   		
			t   ShapeTestCase1c           B@ s   e  Z d  Z RS(   i    (   R   R   R  (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR!  S  s   t   ShapeTestCase2c           B@ s   e  Z d  Z RS(   i   (   R   R   R  (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR"  W  s   t   SetItemTestCasec           B@ st   e  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 RS(   c         C@ sG   t  t |   j   |  j j |  j j d t  |  _ |  j |  j _	 d  S(   NR   (
   R3   R#  R4   R5   RY   R6   R   RN   t
   buffersizeR   (   R:   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR4   ]  s    c         C@ s#  |  j  } | j j } t j d d g d | } | j |  | j d d g  d | d <t j d d d d g d | d d } |  j r |  j   |  j j	 j
 } |  j | _ n  | j   } t j r t d t |   t d t |   n  |  j | j   | j    |  j | j d  d S(   s1   Checking modifying one table row with __setitem__i  R   g333333?i   R  g?R   i  R  i   R	  t   db2R   s   col1,col2,col3s   Original table-->s   Should look like-->i   N(   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   i  R%  g333333?(   i  R   g333333?(   i   R  g?(   i  R%  g333333?(   i   R	  g?(   RN   Rd   R   R
  RB   R=   R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR  e  s*    		
		
	c         C@ s#  |  j  } | j j } t j d d g d | } | j |  | j d d g  d | d <t j d d d d g d | d d } |  j r |  j   |  j j	 j
 } |  j | _ n  | j   } t j r t d t |   t d t |   n  |  j | j   | j    |  j | j d  d S(   s>   Checking modifying one table row with __setitem__ (long index)i  R   g333333?i   R  g?R   i  R  i   R	  R%  R   s   col1,col2,col3s   Original table-->s   Should look like-->i   N(   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   i  R%  g333333?(   i  R   g333333?(   i   R  g?(   i  R%  g333333?(   i   R	  g?(   RN   Rd   R   R
  RB   R=   R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test01b  s*    		
		
	c         C@ sD  |  j  } | j j } t j d d g d | } | j |  | j d d g  t j d g d | } | | d d d  <t j d d d d g d | d d } |  j r |  j   |  j j	 j
 } |  j | _ n  | j   } t j rt d t |   t d t |   n  |  j | j   | j    |  j | j d  d S(   s,   Modifying one row, with a step (__setitem__)i  R   g333333?i   R  g?R   i  R  i   R	  i   i   R   s   col1,col2,col3s   Original table-->s   Should look like-->i   N(   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   i  R  g333333?(   i  R   g333333?(   i  R  g333333?(   i  R  g333333?(   i   R	  g?(   RN   Rd   R   R
  RB   R=   R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   t   rowsR  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR    s.    					
	c         C@ sA  |  j  } | j j } t j d d g d | } | j |  | j d d g  t j d d g d | } | | d d +t j d d d d g d | d d } |  j r |  j   |  j j	 j
 } |  j | _ n  | j   } t j rt d t |   t d t |   n  |  j | j   | j    |  j | j d  d S(   s5   Checking modifying several rows at once (__setitem__)i  R   g333333?i   R  g?R   i  R  i   R	  i   i   R   s   col1,col2,col3s   Original table-->s   Should look like-->i   N(   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   i  R  g333333?(   i   R	  g?(   i  R   g333333?(   i  R  g333333?(   i   R	  g?(   i   R	  g?(   RN   Rd   R   R
  RB   R=   R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   R'  R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR    s.    					
	c         C@ sG  |  j  } | j j } t j d d g d | } | j |  | j d d g  t j d d g d | } | | d d d  <t j d d d d g d | d d } |  j r |  j   |  j j	 j
 } |  j | _ n  | j   } t j rt d t |   t d t |   n  |  j | j   | j    |  j | j d  d S(   s9   Modifying several rows at once, with a step (__setitem__)i  R   g333333?i   R  g?R   i  R  i   R	  i   t   de2i   NR   s   col1,col2,col3s   Original table-->s   Should look like-->i   (   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   i  R  g333333?(   i   R(  g?(   i  R   g333333?(   i  R  g333333?(   i  R  g333333?(   i   R(  g?(   RN   Rd   R   R
  RB   R=   R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   R'  R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test04  s.    					
	c         C@ s)  |  j  } | j j } t j d d g d | } | j |  | j d d g  d | j j d <t j d d d d g d | d d } |  j r |  j	   |  j
 j j } |  j | _ n  | j   } t j r t d t |   t d t |   n  |  j | j   | j    |  j | j d  d S(   s;   Checking modifying one column (single element, __setitem__)i  R   g333333?i   R  g?R   i  R  i   R	  ii   R   s   col1,col2,col3s   Original table-->s   Should look like-->i   N(   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   i  R   g333333?(   iR  g?(   i  R  g333333?(   i   R	  g?(   RN   Rd   R   R
  RB   R=   R   R   R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test05  s*    				
	c         C@ s5  |  j  } | j j } t j d d g d | } | j |  | j d d g  d d d g | j j d d +t j d d d d g d | d d } |  j r |  j	   |  j
 j j } |  j | _ n  | j   } t j rt d t |   t d t |   n  |  j | j   | j    |  j | j d  d S(   s=   Checking modifying one column (several elements, __setitem__)i  R   g333333?i   R  g?R   i  R  i   R	  i   i   i   R   s   col1,col2,col3s   Original table-->s   Should look like-->N(   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   i   i   (   i   i   (   i   i   (   i  R   g333333?(   i   R  g?(   i   R  g333333?(   i   R	  g?(   RN   Rd   R   R
  RB   R=   R   R   R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test06a3  s*    				
	c         C@ s   |  j  } | j j } t j d d g d | } | j |  | j d d g  |  j t  A x/ | j   D]! } | j	 d | d <| j   qm W| j
   Wd QXd S(   s5   Checking modifying one column (iterator, __setitem__)i  R   g333333?i   R  g?R   i  R  i   R	  i   R   N(   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   RN   Rd   R   R
  RB   R=   R   t   NotImplementedErrorR   t   nrowR\   (   R:   RN   R   R   RE   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test06bS  s    		c         C@ s8  |  j  } | j j } t j d d g d | } | j |  | j d d g  d d g | j j d d d  <t j d d d d g d | d d } |  j r |  j	   |  j
 j j } |  j | _ n  | j   } t j rt d t |   t d t |   n  |  j | j   | j    |  j | j d  d S(   s:   Modifying one column (several elements, __setitem__, step)i  R   g333333?i   R  g?R   i  R  i   R	  i   i   i   R   s   col1,col2,col3s   Original table-->s   Should look like-->N(   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   i   i   (   i   i   (   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   RN   Rd   R   R
  RB   R=   R   R   R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test07f  s*    				
	c         C@ s5  |  j  } | j j } t j d d g d | } | j |  | j d d g  d g | j j d d d  <t j d d d d g d | d d } |  j r |  j	   |  j
 j j } |  j | _ n  | j   } t j rt d t |   t d t |   n  |  j | j   | j    |  j | j d  d S(   s5   Modifying one column (one element, __setitem__, step)i  R   g333333?i   R  g?R   i  R  i   R	  i   i   i   R   s   col1,col2,col3s   Original table-->s   Should look like-->N(   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   i   i   (   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   RN   Rd   R   R
  RB   R=   R   R   R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test08  s*    				
	c         C@ sA  |  j  } | j j } t j d d g d | } | j |  | j d d g  t j d d g d | } | | d d d  <t j d d d d g d | } |  j r |  j   |  j j	 j
 } |  j | _ n  | j   } t j rt d t |   t d t |   n  |  j | j   | j    |  j | j d  d S(   s5   Modifying beyond the table extend (__setitem__, step)i  R   g333333?i   R  g?R   i  R  i   R	  i   R(  i   Ns   Original table-->s   Should look like-->i   (   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   i  R  g333333?(   i   R(  g?(   i  R   g333333?(   i  R  g333333?(   i  R  g333333?(   i   R(  g?(   RN   Rd   R   R
  RB   R=   R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   R'  R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test09  s,    					
	(   R   R   R4   R  R&  R  R  R)  R*  R+  R.  R/  R0  R1  (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR#  [  s   		 	!	#	%	$	!	 		!	!t   SetItemTestCase1c           B@ s   e  Z d  Z d Z RS(   i    i   (   R   R   R  R$  (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR2    s   t   SetItemTestCase2c           B@ s   e  Z d  Z d Z RS(   i   i   (   R   R   R  R$  (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR3    s   t   SetItemTestCase3c           B@ s   e  Z d  Z d Z RS(   i    i  (   R   R   R  R$  (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR4    s   t   SetItemTestCase4c           B@ s   e  Z d  Z d Z RS(   i   i  (   R   R   R  R$  (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR5    s   t   UpdateRowTestCasec           B@ st   e  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 RS(   c         C@ sG   t  t |   j   |  j j |  j j d t  |  _ |  j |  j _	 d  S(   NR   (
   R3   R6  R4   R5   RY   R6   R   RN   R$  R   (   R:   (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR4     s    c         C@ s`  |  j  } | j j } t j d d g d | } | j |  | j d d g  xD | j d d  D]0 } d d d | d <| d <| d <| j   qc Wt j d d d d g d | d d } |  j r |  j	   |  j
 j j } |  j | _ n  | j   } t j r-t d t |   t d t |   n  |  j | j   | j    |  j | j d  d S(   s0   Checking modifying one table row with Row.updatei  R   g333333?i   R  g?R   i  R  i   R	  i   R%  R   R   R   R   s   col1,col2,col3s   Original table-->s   Should look like-->i   N(   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   i  R   g333333?(   i   R  g?(   i  R%  g333333?(   i   R	  g?(   RN   Rd   R   R
  RB   R=   R   t   updateR  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   RE   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR    s.    		 		
	c         C@ s  |  j  } | j j } t j d d g d | } | j |  | j d d g  x | j d d d  D]j } | j d k r d \ | d <| d <| d <n- | j d k r d \ | d <| d <| d <n  | j   qf Wt j d d  d! d" g d | d d } |  j	 r,|  j
   |  j j j } |  j | _ n  | j   } t j rjt d t |   t d t |   n  |  j | j   | j    |  j | j d  d S(#   s+   Modifying one row, with a step (Row.update)i  R   g333333?i   R  g?R   i  R  i   R	  i   i   R   R   R   i   R(  R   s   col1,col2,col3s   Original table-->s   Should look like-->i   N(   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   i  R  g333333?(   i   R(  g?(   i  R   g333333?(   i  R  g333333?(   i  R  g333333?(   i   R	  g?(   RN   Rd   R   R
  RB   R=   R   R-  R7  R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   RE   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR    s4    				
	c         C@ s  |  j  } | j j } t j d d g d | } | j |  | j d d g  x~ | j d d  D]j } | j d k r d \ | d <| d <| d <n- | j d k r d \ | d <| d <| d <n  | j   qc Wt j d d d d  g d | d d } |  j	 r)|  j
   |  j j j } |  j | _ n  | j   } t j rgt d t |   t d t |   n  |  j | j   | j    |  j | j d  d S(!   s4   Checking modifying several rows at once (Row.update)i  R   g333333?i   R  g?R   i  R  i   R	  i   i   R   R   R   R   s   col1,col2,col3s   Original table-->s   Should look like-->i   N(   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   i  R  g333333?(   i   R	  g?(   i  R   g333333?(   i  R  g333333?(   i   R	  g?(   i   R	  g?(   RN   Rd   R   R
  RB   R=   R   R-  R7  R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   RE   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR  3  s4    				
	c         C@ s  |  j  } | j j } t j d d g d | } | j |  | j d d g  x | j d d d d d D]j } | j d k r d \ | d <| d <| d <n- | j d k r d  \ | d <| d <| d <n  | j   ql Wt j d! d" d# d$ g d | d d } |  j	 r2|  j
   |  j j j } |  j | _ n  | j   } t j rpt d t |   t d t |   n  |  j | j   | j    |  j | j d  d S(%   s8   Modifying several rows at once, with a step (Row.update)i  R   g333333?i   R  g?R   i  R  i   R	  i   R   i   R   R   R   R   i   i   R(  R   s   col1,col2,col3s   Original table-->s   Should look like-->N(   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   i  R  g333333?(   i   R(  g?(   i  R   g333333?(   i  R  g333333?(   i  R  g333333?(   i   R(  g?(   RN   Rd   R   R
  RB   R=   R   R-  R7  R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   Ru   R   (   R:   RN   R   R   RE   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR)  Y  s4    		"		
	c         C@ sJ  |  j  } | j j } t j d d g d | } | j |  | j d d g  x. | j d d  D] } d | d <| j   qc Wt j d d d d g d | d d } |  j r |  j	   |  j
 j j } |  j | _ n  | j   } t j rt d t |   t d t |   n  |  j | j   | j    |  j | j d  d S(   s:   Checking modifying one column (single element, Row.update)i  R   g333333?i   R  g?R   i  R  i   R	  i   iR   R   s   col1,col2,col3s   Original table-->s   Should look like-->i   N(   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   i  R   g333333?(   iR  g?(   i  R  g333333?(   i   R	  g?(   RN   Rd   R   R
  RB   R=   R   R7  R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   RE   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR*    s.    		
		
	c         C@ sQ  |  j  } | j j } t j d d g d | } | j |  | j d d g  x5 | j d d  D]! } | j d | d <| j   qc Wt j d d d d g d | d d } |  j	 r |  j
   |  j j j } |  j | _ n  | j   } t j rt d t |   t d t |   n  |  j | j   | j    |  j | j d  d S(   s<   Checking modifying one column (several elements, Row.update)i  R   g333333?i   R  g?R   i  R  i   R	  i   i   R   i   R   s   col1,col2,col3s   Original table-->s   Should look like-->N(   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   i  R   g333333?(   i   R  g?(   i   R  g333333?(   i   R	  g?(   RN   Rd   R   R
  RB   R=   R   R-  R7  R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   RE   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test06  s.    				
	c         C@ se  |  j  } | j j } t j d d g d | } | j |  | j d d g  xI | j   D]; } | d d d k  r] d | d <d | d <| j   q] q] Wt j d d d d g d | d d } |  j r |  j	   |  j
 j j } |  j | _ n  | j   } t j r2t d t |   t d t |   n  |  j | j   | j    |  j | j d  d S(   s!   Modifying values from a selectioni  R   g333333?i   R  g?R   i  R  i   R	  R   i    i   t   adaR   R   s   col1,col2,col3s   Original table-->s   Should look like-->i   N(   i  R   g333333?(   i   R  g?(   i  R  g333333?(   i   R	  g?(   i  R   g333333?(   i   R9  g?(   i  R  g333333?(   i   R9  g?(   RN   Rd   R   R
  RB   R=   R   R7  R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   RE   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR/    s2    		

		
	c         C@ s  |  j  } | j j } d } | j } xN t |  D]@ } | d | d <d t | d  | d <d | d <| j   q1 W| j   xL | j   D]> } | j	 | d <d t | j	  | d <d	 | d <| j
   q Wt j d d
 | d | d d } xH t |  D]: } | | d | <d t |  | d | <d	 | d | <q W|  j rk|  j   |  j j j } |  j | _ n  | j   } t j rt d t |   t d t |   n  |  j | j   | j    |  j | j |  d S(   s$   Modifying a large table (Row.update)id   i   R   R   R   g      R   R   g        R   R   R   s   col1,col2,col3s   Original table-->s   Should look like-->N(   RN   Rd   R   RE   R   RZ   R=   R\   R   R-  R7  R
  RB   R   R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   RE   RG   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR0    s@    		


		
	c         C@ s  |  j  } | j j } d } | j } xN t |  D]@ } | d | d <d t | d  | d <d | d <| j   q1 W| j   xB | j   D]4 } | j	 | d <d t | j	  | d <d	 | d <q Wt
 j d d
 | d | d d } xP t |  D]B } | d | d | <d t | d  | d | <d | d | <q W|  j ri|  j   |  j j j } |  j | _ n  | j   } t j rt d t |   t d t |   n  |  j | j   | j    |  j | j |  d S(   s:   Setting values on a large table without calling Row.updateid   i   R   R   R   g      R   R   g        R   R   R   s   col1,col2,col3s   Original table-->s   Should look like-->N(   RN   Rd   R   RE   R   RZ   R=   R\   R   R-  R
  RB   R   R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   RE   RG   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR    s>    		

		
	c         C@ s3  |  j  } | j j } d } | j } xN t |  D]@ } | d | d <d t | d  | d <d | d <| j   q1 W| j   xg | j   D]Y } | d d | d	 k r | j	 | d <d
 t | j	  | d <d | d <| j
   q q Wt j d d | d | d d } xP t |  D]B } | d | d | <d t | d  | d | <d | d | <qW| | d | <d
 t |  | d | <d | d | <|  j r|  j   |  j j j } |  j | _ n  | j   } t j r t d t |   t d t |   n  |  j | j   | j    |  j | j |  d S(   s*   Modifying selected values on a large tableid   i   R   R   R   g      R   i    i   R   g        R   R   R   s   col1,col2,col3s   Original table-->s   Should look like-->N(   RN   Rd   R   RE   R   RZ   R=   R\   R   R-  R7  R
  RB   R   R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   RE   RG   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR1  D  sH    		


		
	c         C@ s1  |  j  } | j j } d } | j } xN t |  D]@ } | d | d <d t | d  | d <d | d <| j   q1 W| j   xR | j d d	  D]> } | j	 | d <d
 t | j	  | d <d | d <| j
   q Wt j d d | d | d d } x t |  D] } | d	 d k rW| d | d | <d t | d  | d | <d | d | <q| | d | <d
 t |  | d | <d | d | <qW|  j r|  j   |  j j j } |  j | _ n  | j   } t j rt d t |   t d t |   n  |  j | j   | j    |  j | j |  d S(   s=   Modifying selected values on a large table (alternate values)id   i   R   R   R   g      R   R   i
   R   g        R   R   R   s   col1,col2,col3i    s   Original table-->s   Should look like-->N(   RN   Rd   R   RE   R   RZ   R=   R\   R   R-  R7  R
  RB   R   R  R  R5   R6   R   R$  R   R   R
   Rq   Rr   R   Rh   R   R   (   R:   RN   R   R   RE   RG   R  R  (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   test09bw  sH    		


		
	(   R   R   R4   R  R  R  R)  R*  R8  R/  R0  R  R1  R:  (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR6    s   		#	&	&	&	#	#	%	-	-	3t   UpdateRowTestCase1c           B@ s   e  Z d  Z d Z RS(   i    i   (   R   R   R  R$  (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR;    s   t   UpdateRowTestCase2c           B@ s   e  Z d  Z d Z RS(   i   i   (   R   R   R  R$  (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR<    s   t   UpdateRowTestCase3c           B@ s   e  Z d  Z d Z RS(   i    i  (   R   R   R  R$  (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR=    s   t   UpdateRowTestCase4c           B@ s   e  Z d  Z d Z RS(   i   i  (   R   R   R  R$  (    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyR>    s   c          C@ s  t  j   }  d } xft |  D]X} |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t	   |  j t  j t
   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   q Wt  j! r|  j t  j t"   |  j t  j t#   n  |  S(   Ni   ($   R   t	   TestSuiteR   t   addTestt	   makeSuiteR   R   R   R   R   R   R   R   R   R   R   R   R   R  R   R!  R"  R2  R3  R4  R5  R;  R<  R=  R>  R   R   R
   t   heavyR   R   (   t   theSuitet   nitert   n(    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   suite  sD    	t   __main__t   defaultTestRF  (N   t
   __future__R    R   RX   t   numpyR-   R   R
  RU   R   R   R   R   R   R   R	   t   tables.testsR
   t   tables.tests.commonR   R   R   t   TestCaset   tables.descriptionR   t	   six.movesR   t   IsDescriptionR   R   R#   t   TempFileMixinR0   R   R   R   R   R   R   R   R   t   skipIft   blosc_availR   t	   lzo_availR   t   bzip2_availR   R   R   R   R   R   R   R   R   R   R  R  R  R!  R"  R#  R2  R3  R4  R5  R6  R;  R<  R=  R>  RF  R   t
   parse_argvt   argvt   print_versionst   main(    (    (    s9   lib/python2.7/site-packages/tables/tests/test_tablesMD.pyt   <module>   s   4(



 y			 7J r 	(
