ó
jś\c           @@ sģ  d  d l  m Z d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z	 d  d l
 Z
 d  d l
 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 m Z d  d
 l m Z d  d l m Z 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 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 j% e f d#     YZ& d$ e j% e 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, d0 e j% e f d1     YZ- d2 e j% e f d3     YZ. d4 e. f d5     YZ/ d6 e. f d7     YZ0 d8 e j% e f d9     YZ1 d: e1 f d;     YZ2 d< e1 f d=     YZ3 d> e1 f d?     YZ4 d@ e1 f dA     YZ5 dB e1 f dC     YZ6 dD e1 f dE     YZ7 dF e1 f dG     YZ8 dH e1 f dI     YZ9 dJ e1 f dK     YZ: dL e1 f dM     YZ; dN e1 f dO     YZ< dP e1 f dQ     YZ= dR e j% e f dS     YZ> dT e> e f dU     YZ? dV e? f dW     YZ@ dX e? f dY     YZA dZ e> f d[     YZB d\ eB f d]     YZC d^ eB f d_     YZD d` e j% e f da     YZE db eE e f dc     YZF dd eF f de     YZG df eF f dg     YZH dh eE f di     YZI dj eI f dk     YZJ dl eI f dm     YZK dn e j% e f do     YZL dp eL f dq     YZM dr eM f ds     YZN dt eM f du     YZO dv eL f dw     YZP dx eP f dy     YZQ dz eP f d{     YZR d| e j% e f d}     YZS d~ e j% e f d     YZT d e j% e f d     YZU d eU f d     YZV d eU f d     YZW d eU f d     YZX d eU f d     YZY d eU f d     YZZ 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 j% e f d     YZa d e j% e f d     YZb d e j% e f d     YZc d   Zd ee d k rče jf e jg  e jh   e ji d  d”  n  d S(¢   i    (   t   print_function(   t   absolute_importN(   t   testing(   t   Atomt   ClosedNodeErrort   NoSuchNodeError(   t
   byteorders(   t   common(   t   allequal(   t   unittestt   test_filename(   t   PyTablesTestCase(   t   ranget   BasicTestCasec           B@ s¤   e  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 RS(   sm   Basic test for all the supported typecodes present in numpy.

    All of them are included on pytables.

    c      	   C@ s£  | } t  j rM t d d d  t d | j j d d t d |  j  n  t j d  } z2t j	 | d	 d
 h } | j
 } |  j rĀ | j j d k rĀ | j   } | j j   | _ | } n  | j | d | d  Wd  QXt j	 | d	 d } | j
 } | j j   } t  j rÕt | |  rÕt d  t d | j  t d | j  t d | j j  t d | j  t d | j  t d | j j  | j j d k rÕt d | j j  t d | j j  qÕn  |  j | j | j  |  j | j | j j  | j j d k r2|  j | j j j d  n² |  j | j j | j j  |  j | j j | j j j j  t | j j } t | j j } | d k rä|  j | | j j  |  j | t j  |  j rä|  j | |  qän  | j }	 |  j |	 j d  |  j |	 j | j  |  j |	 j | j  |  j |	 j d   | j rX| j d }
 n d }
 |  j |	 j |
  |  j  t | |   Wd  QXWd  t! j" |  Xd  S(   Ns   
s   -=i   s%   Running test for array with type '%s't   endt    s   for class check:s   .h5t   modet   wt   St	   somearrays
   Some arrayt   rs   Write and read arrays differ!s   Array written shape:s   Array written itemsize:s   Array written type:s   Array read shape:s   Array read itemsize:s   Array read type:s   Array written byteorder:s   Array read byteorder:t   stringt
   irrelevantt   numpyi    i   (#   R   t   verboset   printt   dtypet   typet   titlet   tempfilet   mktempt   tablest	   open_filet   roott   endiancheckt   kindt   byteswapt   newbyteordert   create_arrayR   t   readR   t   shapet   itemsizet	   byteordert   assertEqualt   atomR   t   syst   assertNotEqualt   flavort   ndimt
   chunkshapet   Nonet   nrowst
   assertTruet   ost   remove(   t   selft	   testarrayt   at   filenamet   filehR!   t   bt   abot   bbot   objR3   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt
   write_read$   sl    				
			 c   	   	   C@ sk  | } t  j rM t d d d  t d | j j d d t d |  j  n  t j d  } zśt j	 | d	 d
 h } | j
 } |  j rĀ | j j d k rĀ | j   } | j j   | _ | } n  | j | d | d  Wd  QXt j	 | d	 d `} | j
 } t j | d | j } | j j d |  |  j | j | j  |  j | j | j j  | j j d k r|  j | j j j d  n² |  j | j j | j j  |  j | j j | j j j j  t | j j } t | j j } | d k r9|  j | | j j  |  j | |  |  j r9|  j | t j  q9n  |  j t | |   Wd  QXWd  t j |  Xd  S(   Ns   
s   -=i   s%   Running test for array with type '%s'R   R   s   for class check:s   .h5R   R   R   R   s
   Some arrayR   R   t   outR   R   (   R   R   R   R   R   R   R   R   R   R    R!   R"   R#   R$   R%   R&   R   t
   empty_likeR   R'   R+   R(   R,   R   R*   R.   R-   R4   R   R5   R6   (	   R7   R8   R9   R:   R;   R!   R<   R=   R>   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   write_read_out_args   sF    					 c         C@ s-  | } t  j | j  } | j } d  } t j rn t d d d  t d | j j d d t d |  j	  n  t
 j d  } zt j | d	 d
 Ń } | j } |  j r| j j d k r| j   }	 | j j   |	 _ |	 j j d$ k r’ t |	 j j } n  |	 } n  | j | d d | d | d d d | }
 |  j | |
 j  |  j | |
 j  | |
 d <Wd  QXt j | d	 d } | j } | j j   }	 t j r_t | |	  r_t d  t d | j  t d | j  t d | j j  t d |	 j  t d |	 j  t d |	 j j  | j j d k r_t d | j j  t d |	 j j  q_n  |  j | j |	 j  |  j | j | j j  | j j d k r¼|  j | j j j d  n² |  j | j j |	 j j  |  j | j j | j j j j  t | j j } t |	 j j } | d  k rn|  j | | j j  |  j | t j  |  j rn|  j | |  qnn  | j } |  j | j d!  |  j | j | j  |  j | j | j  |  j | j  d   | j rā| j d" } n d# } |  j | j! |  |  j" t | |	   Wd  QXWd  t# j$ |  Xd  S(%   Ns   
s   -=i   s%   Running test for array with type '%s'R   R   s   for class check:s   .h5R   R   R   t   >t   <R   R,   R(   R   s
   Some arrayR*   .R   s   Write and read arrays differ!s   Array written shape:s   Array written itemsize:s   Array written type:s   Array read shape:s   Array read itemsize:s   Array read type:s   Array written byteorder:s   Array read byteorder:R   R   R   i    i   (   RD   RE   (%   R   t
   from_dtypeR   R(   R2   R   R   R   R   R   R   R   R   R    R!   R"   R#   R$   R%   R*   R   R&   R+   R,   R   R'   R   R)   R-   R.   R/   R0   R1   R3   R4   R5   R6   (   R7   R8   R9   R,   R(   R*   R:   R;   R!   R<   t   ptarrR=   R>   R?   R3   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   write_read_atom_shape_argsØ   s    						
			 c         C@ s=   t  |  j t j  s0 t j |  j d d } n	 |  j } | S(   s2   Data integrity during recovery (character objects)R   R   (   t
   isinstancet	   tupleCharR   t   ndarrayt   array(   R7   R9   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   setup00_char  s    	c         C@ s   |  j    } |  j |  d  S(   N(   RM   R@   (   R7   R9   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test00_char  s    c         C@ s   |  j    } |  j |  d  S(   N(   RM   RC   (   R7   R9   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test00_char_out_arg  s    c         C@ s   |  j    } |  j |  d  S(   N(   RM   RH   (   R7   R9   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test00_char_atom_shape_args  s    c      	   C@ sņ   |  j  } t j d  } zÅ t j | d d   } | j | j d | d  Wd QXt j | d d s } | j j j   } t	 | t
  r“ |  j t |  t
  |  j | |  n" |  j t |  t t j g k  Wd QXWd t j |  Xd S(   s/   Data integrity during recovery (string objects)s   .h5R   R   R   s
   Some arrayNR   (   RJ   R   R   R   R    R&   R!   R   R'   RI   t   bytesR+   R   R4   t   listR   RK   R5   R6   (   R7   R9   R:   R;   R<   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test00b_char  s    	,c      	   @ sų   |  j  } t j d  } zĖ t j | d d     j  j d | d  Wd QXt j | d d y  t j |     j j	 j
 d k r­ |  j t    f d	    n  j j	 j d
    |  j t    t j  Wd QXWd t j |  Xd S(   s/   Data integrity during recovery (string objects)s   .h5R   R   R   s
   Some arrayNR   R   c           @ s    j  j j d    S(   NRA   (   R!   R   R'   (    (   R<   R;   (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   <lambda>G  t    RA   (   RJ   R   R   R   R    R&   R!   R   RB   R   R/   t   assertRaisest	   TypeErrorR'   R4   R   RK   R5   R6   (   R7   R9   R:   (    (   R<   R;   s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test00b_char_out_arg6  s    		#c         @ s  |  j  } t j d  } zdt j | d d ¹  t j |  } t j | j	  } | j
 } | j	 j d k r t | j	 j } n d }  j  j d d | d | d	 | d
 d } |  j | | j
  |  j | | j  | | d <Wd QXt j | d d y  t j |     j j j d k rF|  j t    f d    n  j j j d    |  j t    t j  Wd QXWd t j |  Xd S(   s/   Data integrity during recovery (string objects)s   .h5R   R   RD   RE   R   R,   R(   R*   R   s
   Some array.NR   R   c           @ s    j  j j d    S(   NRA   (   R!   R   R'   (    (   R<   R;   (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRT   n  RU   RA   (   RD   RE   (   RJ   R   R   R   R    R   t   asarrayR   RF   R   R(   R*   R   R2   R&   R!   R+   R,   RB   R   R/   RV   RW   R'   R4   R   RK   R5   R6   (   R7   R9   R:   t   nparrR,   R(   R*   RG   (    (   R<   R;   s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test00b_char_atom_shape_argsO  s2    				#c         C@ s   t  |  j t j  s0 t j |  j d d } n	 |  j } | j d k rW | j   } n> | d d d  } t |  d k r |  j | j	 j
 t  n  | S(   sA   Data integrity during recovery (non-contiguous character objects)R   R   i    Ni   i   (   RI   RJ   R   RK   RL   R0   t   copyt   lenR+   t   flagst
   contiguoust   False(   R7   R9   R<   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   setup01_char_ncv  s    	c         C@ s   |  j    } |  j |  d  S(   N(   Ra   R@   (   R7   R<   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test01_char_nc  s    c         C@ s   |  j    } |  j |  d  S(   N(   Ra   RC   (   R7   R<   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test01_char_nc_out_arg  s    c         C@ s   |  j    } |  j |  d  S(   N(   Ra   RH   (   R7   R<   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test01_char_nc_atom_shape_args  s    c         C@ så   d d d d d d d d d	 d
 d d g } x= d D]5 } | j    d } t t |  r1 | j |  q1 q1 Wxt | D]l } t j |  j |  } |  j |  t j |  j |  } |  j |  t j |  j |  } |  j	 |  qq Wd S(   s0   Data integrity during recovery (numerical types)t   int8t   int16t   int32t   int64t   uint8t   uint16t   uint32t   uint64t   float32t   float64t	   complex64t
   complex128t   float16t   float96t   float128t
   complex192t
   complex256R   N(   Rq   Rr   Rs   Rt   Ru   (
   t
   capitalizet   hasattrR   t   appendR   RL   t   tupleIntR@   RC   RH   (   R7   t	   typecodest   namet   atomnamet   typecodeR9   R<   t   c(    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test02_types  s     
c   	      C@ s«  d d d d d d d d d	 d
 d d g } x= d D]5 } | j    d } t t |  r1 | j |  q1 q1 Wx:| D]2} t j |  j |  } | j d k rĀ | j   } | j   } | j   } nŗ | d d d  } | d d d  } | d d d  } t	 |  d k r&|  j
 | j j t  n  t	 |  d k rQ|  j
 | j j t  n  t	 |  d k r||  j
 | j j t  n  |  j |  |  j |  |  j |  qq Wd S(   s?   Data integrity during recovery (non-contiguous numerical types)Re   Rf   Rg   Rh   Ri   Rj   Rk   Rl   Rm   Rn   Ro   Rp   Rq   Rr   Rs   Rt   Ru   R   i    Ni   i   (   Rq   Rr   Rs   Rt   Ru   (   Rv   Rw   R   Rx   R   RL   Ry   R0   R\   R]   R+   R^   R_   R`   R@   RC   RH   (	   R7   Rz   R{   R|   R}   R9   t   b1t   b2t   b3(    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test03_types_ncØ  s6    
(   t   __name__t
   __module__t   __doc__R`   R"   R@   RC   RH   RM   RN   RO   RP   RS   RX   R[   Ra   Rb   Rc   Rd   R   R   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR      s$   	O	5	^	
						'					t   Basic0DOneTestCasec           B@ s    e  Z d  Z d Z d Z e Z RS(   s   Rank-0 case 1i   t   3(   R   R   R   Ry   RJ   t   TrueR"   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR   Ģ  s   t   Basic0DTwoTestCasec           B@ s    e  Z d  Z d Z d Z e Z RS(   s   Rank-0 case 2i!   t   33(   R   R   R   Ry   RJ   R   R"   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR   Ō  s   t   Basic1DZeroTestCasec           B@ s    e  Z d  Z d Z d Z e Z RS(   s   Rank-1 case 0(    (    (   R   R   R   Ry   RJ   R`   R"   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR   Ü  s   t   Basic1DOneTestCasec           B@ s    e  Z d  Z d Z d Z e Z RS(   s   Rank-1 case 1i   R9   (   i   (   R9   (   R   R   R   Ry   RJ   R   R"   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR   å  s   t   Basic1DTwoTestCasec           B@ s    e  Z d  Z d Z d Z e Z RS(   s   Rank-1 case 2i   i   t   aaa(   i   i   (   R   (   R   R   R   Ry   RJ   R   R"   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR   ķ  s   t   Basic1DThreeTestCasec           B@ s    e  Z d  Z d Z d Z e Z RS(   s   Rank-1 case 3i   i   i   R   t   bbb(   i   i   i   (   R   R   (   R   R   R   Ry   RJ   R   R"   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR   õ  s   t   Basic2DOneTestCasec           B@ sZ   e  Z d  Z e j e j d   Z d	 e _ e j d g d
 d d Z d e _ e	 Z
 RS(   s   Rank-2 case 1i   i   t   abci   R   t   S3i   (   i   (   i   i   i	   (   i   (   i   i   (   R   R   R   R   RL   t   arangeRy   R(   RJ   R   R"   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR   ż  s   		t   Basic2DTwoTestCasec           B@ s]   e  Z d  Z e j e j d  d e j d f Z e j d g d d d d f Z e	 Z
 RS(   s   Rank-2 case 2i   R   R   i   R   (   i   (   i   (   R   R   R   R   RL   R   t   int_Ry   RJ   R   R"   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR     s   '"t   Basic10DTestCasec           B@ sZ   e  Z d  Z e j e j d   Z d e _ e j d g d	 d d Z d e _ e	 Z
 RS(   s   Rank-10 testi   i
   R   R   R   i   (   i   (
   i   i   i   i   i   i   i   i   i   i   i   (   i   (
   i   i   i   i   i   i   i   i   i   i   (   R   R   R   R   RL   R   Ry   R(   RJ   R   R"   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR     s   		t   Basic32DTestCasec           B@ sO   e  Z d  Z e j d  Z d d e _ e j d g d d Z d d e _ RS(	   s   Rank-32 testi    i   t   121R   R   (   i    (   i   (   i   (   R   R   R   R   RL   Ry   R(   RJ   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR     s
   t   ReadOutArgumentTestsc           B@ sY   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   c         C@ s    t  t |   j   d |  _ d  S(   Nič  (   t   superR   t   setUpt   size(   R7   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR   %  s    c         C@ s:   t  j |  j d d } |  j j d d |  } | | f S(   NR   t   f8t   /RL   (   R   R   R   t   h5fileR&   (   R7   RL   t
   disk_array(    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR&   )  s    c         C@ sQ   |  j    \ } } t j |  j f d  } | j d |  t j j | |  d  S(   NR   RA   (   R&   R   t   emptyR   R'   R   t   assert_equal(   R7   RL   R¢   t
   out_buffer(    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_read_entire_array.  s    c         C@ s²   |  j    \ } } t j |  j d d } t j j |  } | j   } |  j d } | j d | d |  j d | |  t j j	 | | | |  t j j	 | |  | |   d  S(   NR   R   i   t   startt   stopRA   (
   R&   R   R   R   t   randomt   permutationR\   R'   R   R¤   (   R7   RL   R¢   R„   t   out_buffer_origR§   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_read_contiguous_slice14  s    #c      	   C@ są   |  j    \ } } t j |  j d d } t j j |  } | j   } |  j d } |  j | } | j d | d | d | | | ! t j j	 | | | !| | | ! t j j	 | |  | |   t j j	 | | | |  d  S(   NR   R   i   R§   RØ   RA   (
   R&   R   R   R   R©   RŖ   R\   R'   R   R¤   (   R7   RL   R¢   R„   R«   R§   RØ   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_read_contiguous_slice2>  s    #!c      	   C@ s}   |  j    \ } } t j |  j d f d d } | j d d d |  j d d d |  t j j | | d |  j d   d  S(	   Ni   R   R   R§   i    RØ   t   stepRA   (   R&   R   R£   R   R'   R   R¤   (   R7   RL   R¢   R„   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt0   test_read_non_contiguous_slice_contiguous_bufferJ  s    %c         C@ sÆ   |  j    \ } } t j |  j f d  } | d |  j d  } |  j t | j d |  j d |  y | j d |  j d |  Wn) t k
 rŖ } |  j d t |   n Xd  S(   NR   i    i   s   output array not C contiguous(	   R&   R   R£   R   RV   t
   ValueErrorR'   R+   t   str(   R7   RL   R¢   R„   t   out_buffer_slicet   exc(    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_read_non_contiguous_bufferP  s    c         C@ s    |  j    \ } } t j |  j d f d  } |  j t | j d |  j d |  y | j d |  j d |  Wn, t k
 r } |  j d t |  k  n Xd  S(   Ni   R   i    i   s   output array size invalid, got(	   R&   R   R£   R   RV   R°   R'   R4   R±   (   R7   RL   R¢   R„   R³   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_buffer_too_small]  s    c         C@ s    |  j    \ } } t j |  j d f d  } |  j t | j d |  j d |  y | j d |  j d |  Wn, t k
 r } |  j d t |  k  n Xd  S(   Ni   R   i    s   output array size invalid, got(	   R&   R   R£   R   RV   R°   R'   R4   R±   (   R7   RL   R¢   R„   R³   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_buffer_too_largeg  s    (   R   R   R   R&   R¦   R¬   R­   RÆ   R“   Rµ   R¶   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR   #  s   				
				
t"   SizeOnDiskInMemoryPropertyTestCasec           B@ s   e  Z d    Z d   Z RS(   c         C@ sJ   t  t |   j   d |  _ |  j j d d t j |  j d   |  _ d  S(   Ni
   R    R   t   i4(   i
   i
   (	   R   R·   R   t
   array_sizeR”   R&   R   t   zerosRL   (   R7   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR   t  s    		c         C@ s0   |  j  |  j j d  |  j  |  j j d  d  S(   Ni
   i   id   i  id   i  (   R+   RL   t   size_on_diskt   size_in_memory(   R7   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_all_zerosz  s    (   R   R   R   R½   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR·   r  s   	t   UnalignedAndComplexTestCasec           B@ s   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 RS(   sn   Basic test for all the supported typecodes present in numpy.

    Most of them are included on PyTables.

    c         C@ s&   t  t |   j   |  j j |  _ d  S(   N(   R   R¾   R   R”   R!   (   R7   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR     s    c         C@ sA  t  j r1 t d d d  t d | j j  n  | } |  j r^ i d d 6d d 6t j } n	 t j } |  j j	 |  j
 d | d d	 | |  j r® |  j   |  j j
 |  _
 n  |  j
 j j   } | j |  } t | |  rut  j rut d
  t d |  t d | j  t d | j  t d | j j  t d |  t d | j  t d | j  t d | j j  n  |  j | j | j  |  j | j |  j
 j j  | j j d k r'|  j | j | j  |  j | j |  j
 j j j  |  j t | j j t j  |  j |  j
 j j |  n  |  j t | |   d  S(   Ns   
s   -=i   s&   
Running test for array with type '%s't   bigt   littleR   s
   Some arrayR*   s   Write and read arrays differ!s   Array written:s   Array written shape:s   Array written itemsize:s   Array written type:s   Array read:s   Array read shape:s   Array read itemsize:s   Array read type:t   |(   R   R   R   R   R   R"   R-   R*   R”   R&   R!   t   reopent   _reopenR   R'   R%   R   R(   R)   R+   R,   R   R4   (   R7   t	   testArrayR9   R*   R<   R~   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR@     sB    				

c         C@ sl   t  j j d d d d d d } | d } |  j | j j t  |  j | j j t  j	  |  j
 |  d S(	   s0   Checking an unaligned signed short integer arrayR9   iČ   t   formatss   i1,f4,i2R(   i
   t   f2N(   R   t   recRL   R+   R^   t   alignedR`   R   R   Rf   R@   (   R7   R   R9   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test01_signedShort_unaligned»  s
    "
c         C@ sl   t  j j d d d d d d } | d } |  j | j j d  |  j | j j t  j  |  j	 |  d	 S(
   s,   Checking an unaligned single precision arrayR9   iČ   RÅ   s   i1,f4,i2R(   i
   t   f1i    N(
   R   RĒ   RL   R+   R^   RČ   R   R   Rm   R@   (   R7   R   R9   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test02_float_unalignedÅ  s
    "
c         C@ s<   t  j d d t  j } d | _ | d } |  j |  d S(   s    Checking an offsetted byte arrayid   R   i
   i   N(   i
   i
   (   R   R   Re   R(   R@   (   R7   R   R9   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test03_byte_offsetĻ  s    	
c         C@ s<   t  j d d t  j } d | _ | d } |  j |  d S(   s8   Checking an offsetted unsigned short int precision arrayid   R   i
   i   N(   i
   i
   (   R   R   Rk   R(   R@   (   R7   R   R9   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test04_short_offset×  s    	
c         C@ s<   t  j d d t  j } d | _ | d } |  j |  d S(   s#   Checking an offsetted integer arrayid   R   i
   i   N(   i
   i
   (   R   R   Rg   R(   R@   (   R7   R   R9   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test05_int_offsetß  s    	
c         C@ s<   t  j d d t  j } d | _ | d } |  j |  d S(   s-   Checking an offsetted long long integer arrayid   R   i
   i   N(   i
   i
   (   R   R   Rh   R(   R@   (   R7   R   R9   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test06_longlongint_offsetē  s    	
c         C@ s<   t  j d d t  j } d | _ | d } |  j |  d S(   s,   Checking an offsetted single precision arrayid   R   i
   i   N(   i
   i
   (   R   R   Rm   R(   R@   (   R7   R   R9   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test07_float_offsetļ  s    	
c         C@ s<   t  j d d t  j } d | _ | d } |  j |  d S(   s,   Checking an offsetted double precision arrayid   R   i
   i   N(   i
   i
   (   R   R   Rn   R(   R@   (   R7   R   R9   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test08_double_offset÷  s    	
c         C@ sp   t  j j d d d d d d } | d d } |  j | j j t  |  j | j j t  j	  |  j
 |  d	 S(
   s:   Checking an unaligned and offsetted single precision arrayR9   iČ   RÅ   s	   i1,3f4,i2R(   i
   RŹ   i   N(   R   RĒ   RL   R+   R^   RČ   R`   R   R   Rm   R@   (   R7   R   R9   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test09_float_offset_unaligned’  s
    "c         C@ sp   t  j j d d d d d d } | d d } |  j | j j t  |  j | j j t  j	  |  j
 |  d	 S(
   s:   Checking an unaligned and offsetted double precision arrayR9   i  RÅ   s	   i1,3f8,i2R(   i
   RŹ   i   N(   R   RĒ   RL   R+   R^   RČ   R`   R   R   Rn   R@   (   R7   R   R9   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test10_double_offset_unaligned	  s
    "c         C@ sN  t  j d d t  j j d d  } | j   } | j   } |  j j |  j j d | d  } | d d  d d  f } | j   } | j   } | | d d  d d  f <| j   } | j   } | | d d  d d  f <| d	 } t	 j
 r4t d
 | j  t d | j j  t d |  t d |  n  |  j t | |   d S(   sL   Checking setting data with different byteorder in a range
         (integer)i   R   i   RL   s   byteorder (int)i   i   i   .s   byteorder of array on disk-->s   byteorder of subarray-->s   subarray-->s   retrieved array-->N(   R   R   Rg   t   reshapeR$   R%   R”   R&   R!   R   R   R   R*   R   R4   R   (   R7   R9   RL   R<   R~   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test11_int_byteorder  s&    $	
	c         C@ sN  t  j d d t  j j d d  } | j   } | j   } |  j j |  j j d | d  } | d d  d d  f } | j   } | j   } | | d d  d d  f <| j   } | j   } | | d d  d d  f <| d	 } t	 j
 r4t d
 | j  t d | j j  t d |  t d |  n  |  j t | |   d S(   sA   Checking setting data with different byteorder in a range (float)i   R   i   RL   s   byteorder (float)i   i   i   .s   byteorder of array on disk-->s   byteorder of subarray-->s   subarray-->s   retrieved array-->N(   R   R   Rn   RŌ   R$   R%   R”   R&   R!   R   R   R   R*   R   R4   R   (   R7   R9   RL   R<   R~   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test12_float_byteorder0  s&    $	
	(   R   R   R   R   R@   RÉ   RĖ   RĢ   RĶ   RĪ   RĻ   RŠ   RŃ   RŅ   RÓ   RÕ   RÖ   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR¾     s   		1	
	
							
	
	t!   ComplexNotReopenNotEndianTestCasec           B@ s   e  Z e Z e Z RS(    (   R   R   R`   R"   RĀ   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR×   M  s   t   ComplexReopenNotEndianTestCasec           B@ s   e  Z e Z e Z RS(    (   R   R   R`   R"   R   RĀ   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRŲ   R  s   t   ComplexNotReopenEndianTestCasec           B@ s   e  Z e Z e Z RS(    (   R   R   R   R"   R`   RĀ   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRŁ   W  s   t   ComplexReopenEndianTestCasec           B@ s   e  Z e Z e Z RS(    (   R   R   R   R"   RĀ   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRŚ   \  s   t   GroupsArrayTestCasec           B@ s    e  Z d  Z d   Z d   Z RS(   s:   This test class checks combinations of arrays with groups.c   	      C@ s°  t  j r1 t d d d  t d |  j j  n  |  j j } d d d d d	 d
 d d d d d d d g } t t d  r | j	 d  n  t t d  s§ t t d  r· | j	 d  n  t t d  sÕ t t d  rå | j	 d  n  x t
 |  D] \ } } t j d' |  } d | } t  j r<t d | j |   n  |  j j | | | d  |  j j | d t |   } qņ W|  j   |  j j } xt t |   D]} t j d( | |  } t | d | |  } | j   } t  j rMt d | j  t d  | j d! d" t d# | j j  t d$ | j d! d" t d% | j  n  |  j | j | j  |  j | j | j  |  j t | |   t | d t |   } q”Wd& S()   s,   Checking combinations of arrays with groups.s   
s   -=i   s$   Running %s.test00_iterativeGroups...R<   t   Bt   ht   Ht   it   It   lt   Lt   qt   ft   dt   Ft   Dt   Float16Atomt   et   Float96Atomt   Float128Atomt   gt   Complex192Atomt   Complex256Atomt   Gi   t   array_s   Creating dataset:s   Large arrayt   groups   Info from dataset:s     shape ==>R   R   s     type ==> %ss"   Array b read from file. Shape: ==>s   . Type ==> %sN(   i   (   i   (   R   R   R   t	   __class__R   R”   R!   Rw   R   Rx   t	   enumerateR   t   onest   _g_joinR&   t   create_groupR±   RĆ   R   R]   t   getattrR'   t   _v_pathnameR(   R,   R   R+   R4   R   (	   R7   Rń   Rz   Rß   R}   R9   t   dsetnamet   dsetR<   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test00_iterativeGroupsd  sJ    	!
	#
	c         C@ s  d } d } t  j rJ t d d d  t d |  j j  t d |  n  |  j j } t  j rr t d d	 d
 n  x t | | d  D]{ } t j	 d | t j
  } t  j rÅ t d | d	 d
 n  |  j j | d | d |  |  j j | d t |   } q W|  j   |  j j } t  j r8t   t d  n  xGt | | d  D]2} t j	 d | t j
  } | j j   } t  j rt d | d	 d
 n  t  j rt | |  rt d | j j  t d | j j d	 d
 t d | j j  t d | j d	 d
 t d | j  n  |  j | j | j  |  j | j | j  |  j t | |   |  j j | d t |   } qLWt  j rt   n  d S(   s~   Checking creation of large rank arrays (0 < rank <= 32)
        It also uses arrays ranks which ranges until maxrank.
        i   i    s   
s   -=i   s$   Running %s.test01_largeRankArrays...s   Maximum rank for tested arrays:s   Rank array writing progress: R   R   s   %3d,RL   s   Rank: %sRń   s   Rank array reading progress: s   Info from dataset:s     Shape: ==>s     typecode ==> %cs"   Array b read from file. Shape: ==>s   . Type ==> %cN(   i   (   i   (   R   R   R   Rņ   R   R”   R!   R   R   Rō   Rg   R&   Rö   R±   RĆ   RL   R'   R   Rų   R(   R}   R   R+   R4   t   get_node(   R7   t   minrankt   maxrankRń   t   rankR9   R<   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test01_largeRankArrays   sL    			#
		#	(   R   R   R   Rū   R   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRŪ   a  s   	<t   CopyTestCasec           B@ s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C@ s·  t  j r1 t d d d  t d |  j j  n  t j d d g d d g g d	 d
 } |  j j |  j j	 d | d  } | j
 d d  } |  j rÕ t  j rŖ t d  n  |  j   |  j j	 j } |  j j	 j } n  t  j r3t d | j    t d | j    t d t | j   t d t | j   n  |  j t | j   | j     |  j | j | j  |  j | j | j  |  j | j j | j j  |  j | j | j  d S(   s   Checking Array.copy() method.s   
s   -=i   s   Running %s.test01_copy...iČ  i   i   iÉ  R   Rf   t   array1s   title array1R    t   array2s   (closing file version)s	   array1-->s	   array2-->s   attrs array1-->s   attrs array2-->N(   R   R   R   Rņ   R   R   RL   R”   R&   R!   R\   t   closeRĆ   R  R  R'   t   reprt   attrsR4   R   R+   R3   R/   R,   R   R   (   R7   t   arrR  R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test01_copyą  s.    	'			
	"c         C@ sĻ  t  j r1 t d d d  t d |  j j  n  t j d d g d d g g d	 d
 } |  j j |  j j	 d | d  } |  j j
 d d  } | j | d  } |  j rķ t  j ræ t d  n  |  j   |  j j	 j } |  j j	 j j } n  t  j rKt d | j    t d | j    t d t | j   t d t | j   n  |  j t | j   | j     |  j | j | j  |  j | j | j  |  j | j j | j j  |  j | j | j  d S(   s.   Checking Array.copy() method (where specified)s   
s   -=i   s   Running %s.test02_copy...iČ  i   i   iÉ  R   Rf   R  s   title array1R    t   group1R  s   (closing file version)s	   array1-->s	   array2-->s   attrs array1-->s   attrs array2-->N(   R   R   R   Rņ   R   R   RL   R”   R&   R!   Rö   R\   R  RĆ   R  R	  R  R'   R  R  R4   R   R+   R3   R/   R,   R   R   (   R7   R  R  R	  R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test02_copy  s0    	'			
	"c         C@ s&  t  j r1 t d d d  t d |  j j  n  t j d d g d d g g d	 d
 } |  j j |  j j	 d | d  } d | j
 _ d | j
 _ | j d d d d } |  j ró t  j rČ t d  n  |  j   |  j j	 j } |  j j	 j } n  t  j rt d | j  n  |  j | j d  d S(   s5   Checking Array.copy() method (checking title copying)s   
s   -=i   s   Running %s.test04_copy...iČ  i   i   iÉ  R   Rf   R  s   title array1t   attr1R    R  R   s   title array2s   (closing file version)s   title of destination array-->N(   R   R   R   Rņ   R   R   RL   R”   R&   R!   R  R  t   attr2R\   R  RĆ   R  R  R   R+   (   R7   R  R  R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test03_copy-  s$    	'			
	c         C@ s[  t  j r1 t d d d  t d |  j j  n  t j d d g d d g g d	 d
 } |  j j |  j j	 d | d  } d | j
 _ d | j
 _ | j d d d d } |  j ró t  j rČ t d  n  |  j   |  j j	 j } |  j j	 j } n  t  j r+t d t | j
   t d t | j
   n  |  j | j
 j d  |  j | j
 j d  d S(   s5   Checking Array.copy() method (user attributes copied)s   
s   -=i   s   Running %s.test05_copy...iČ  i   i   iÉ  R   Rf   R  s   title array1R  R    R  t   copyuserattrsi   s   (closing file version)s   attrs array1-->s   attrs array2-->N(   R   R   R   Rņ   R   R   RL   R”   R&   R!   R  R  R  R\   R  RĆ   R  R  R  R+   (   R7   R  R  R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test04_copyJ  s(    	'			
	c         C@ sg  t  j r1 t d d d  t d |  j j  n  t j d d g d d g g d	 d
 } |  j j |  j j	 d | d  } d | j
 _ d | j
 _ | j d d d d } |  j ró t  j rČ t d  n  |  j   |  j j	 j } |  j j	 j } n  t  j r+t d t | j
   t d t | j
   n  |  j t | j
 d  d  |  j t | j
 d  d  d S(   s9   Checking Array.copy() method (user attributes not copied)s   
s   -=i   s   Running %s.test05b_copy...iČ  i   i   iÉ  R   Rf   R  s   title array1R  R    R  R  i    s   (closing file version)s   attrs array1-->s   attrs array2-->R  N(   R   R   R   Rņ   R   R   RL   R”   R&   R!   R  R  R  R\   R  RĆ   R  R  R  R+   Rw   (   R7   R  R  R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test04b_copyj  s(    	'			
	(   R   R   R  R
  R  R  R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  Ž  s
   	&	'		 t   CloseCopyTestCasec           B@ s   e  Z d  Z RS(   i   (   R   R   R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR    s   t   OpenCopyTestCasec           B@ s   e  Z d  Z RS(   i    (   R   R   R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR    s   t   CopyIndexTestCasec           B@ s   e  Z d    Z d   Z RS(   c      	   C@ s  t  j r1 t d d d  t d |  j j  n  t j d d d } d | _ |  j j	 |  j j
 d
 | d  } | j d d d |  j d |  j d |  j } t  j rū t d | j    t d | j    t d t | j   t d t | j   n  | |  j |  j |  j  } |  j t | | j     t  j rct d | j  t d | j d  n  |  j | j d | j  d S(   s*   Checking Array.copy() method with indexes.s   
s   -=i   s   Running %s.test01_index...iČ   R   Rg   id   i   R  s   title array1R    R  R§   RØ   R®   s	   array1-->s	   array2-->s   attrs array1-->s   attrs array2-->s   nrows in array2-->s   and it should be-->i    N(   id   i   (   R   R   R   Rņ   R   R   R   R(   R”   R&   R!   R\   R§   RØ   R®   R'   R  R  R4   R   R3   R+   (   R7   R   R  R  t   r2(    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test01_index  s,    							c      	   C@ s©  t  j r1 t d d d  t d |  j j  n  t j d d d } d | _ |  j j	 |  j j
 d
 | d  } | j d d d |  j d |  j d |  j } |  j   |  j j
 j } |  j j
 j } t  j r#t d | j    t d | j    t d t | j   t d t | j   n  | |  j |  j |  j  } |  j t | | j     t  j rt d | j  t d | j d  n  |  j | j d | j  d S(   s>   Checking Array.copy() method with indexes (close file version)s   
s   -=i   s    Running %s.test02_indexclosef...iČ   R   Rg   id   i   R  s   title array1R    R  R§   RØ   R®   s	   array1-->s	   array2-->s   attrs array1-->s   attrs array2-->s   nrows in array2-->s   and it should be-->i    N(   id   i   (   R   R   R   Rņ   R   R   R   R(   R”   R&   R!   R\   R§   RØ   R®   RĆ   R  R  R'   R  R  R4   R   R3   R+   (   R7   R   R  R  R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test02_indexclosefø  s2    					
		(   R   R   R  R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR    s   	#t   CopyIndex1TestCasec           B@ s   e  Z d  Z d Z d Z RS(   i    i   i   (   R   R   R§   RØ   R®   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  į  s   t   CopyIndex2TestCasec           B@ s   e  Z d  Z d Z d Z RS(   i    i’’’’i   (   R   R   R§   RØ   R®   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  ē  s   t   CopyIndex3TestCasec           B@ s   e  Z d  Z d Z d  Z RS(   i   i   (   R   R   R§   RØ   R®   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  ķ  s   t   CopyIndex4TestCasec           B@ s   e  Z d  Z d Z d Z RS(   i    i   i   (   R   R   R§   RØ   R®   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  ó  s   t   CopyIndex5TestCasec           B@ s   e  Z d  Z d Z d Z RS(   i   i   i   (   R   R   R§   RØ   R®   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  ł  s   t   CopyIndex6TestCasec           B@ s   e  Z d  Z d Z d Z RS(   i   i   i   (   R   R   R§   RØ   R®   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  ’  s   t   CopyIndex7TestCasec           B@ s   e  Z d  Z d Z d Z RS(   i    i   i
   (   R   R   R§   RØ   R®   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR    s   t   CopyIndex8TestCasec           B@ s   e  Z d  Z d Z d Z RS(   i   i’’’’i   (   R   R   R§   RØ   R®   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR    s   t   CopyIndex9TestCasec           B@ s   e  Z d  Z d Z d Z RS(   i   i   i   (   R   R   R§   RØ   R®   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR    s   t   CopyIndex10TestCasec           B@ s   e  Z d  Z d Z d Z RS(   i   i   i   (   R   R   R§   RØ   R®   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR     s   t   CopyIndex11TestCasec           B@ s   e  Z d  Z d Z d Z RS(   iż’’’i’’’’i   (   R   R   R§   RØ   R®   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR!    s   t   CopyIndex12TestCasec           B@ s   e  Z d  Z d Z d Z RS(   i’’’’i   N(   R   R   R§   R2   RØ   R®   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR"  #  s   t   GetItemTestCasec           B@ sb   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z RS(
   c         C@ sŻ   |  j  } |  j j |  j j d | d  } |  j rO |  j   |  j j j } n  t j r t	 d | d t
 | d   t	 d | d t
 | d   n  |  j t | d | d   |  j t
 | d  t
 | d   d S(   s'   Single element access (character types)R   s
   Some arrays   Original first element:i    s   Read first element:N(   t   charListR”   R&   R!   R  RĆ   R   R   R   R   R   R4   R   R+   (   R7   R9   R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test00_single+  s    			
	!c         C@ s×   |  j  } |  j j |  j j d | d  } |  j rO |  j   |  j j j } n  t j r t	 d | d t
 | d   t	 d | d t
 | d   n  |  j | d | d  |  j t
 | d  t
 | d   d S(   s'   Single element access (numerical types)R   s
   Some arrays   Original first element:i    s   Read first element:N(   t   numericalListR”   R&   R!   R  RĆ   R   R   R   R   R   R+   (   R7   R9   R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test01_single>  s    			
	!c         C@ s«   |  j  } |  j j |  j j d | d  } |  j rO |  j   |  j j j } n  t j r t	 d | d d ! t	 d | d d ! n  |  j
 t | d d !| d d !  d S(   s&   Range element access (character types)R   s
   Some arrays   Original elements:i   i   s   Read elements:N(   t
   charListMER”   R&   R!   R  RĆ   R   R   R   R   R4   R   (   R7   R9   R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test02_rangeQ  s    			
	c         C@ s«   |  j  } |  j j |  j j d | d  } |  j rO |  j   |  j j j } n  t j r t	 d | d d ! t	 d | d d ! n  |  j
 t | d d !| d d !  d S(   s&   Range element access (numerical types)R   s
   Some arrays   Original elements:i   i   s   Read elements:N(   t   numericalListMER”   R&   R!   R  RĆ   R   R   R   R   R4   R   (   R7   R9   R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test03_rangec  s    			
	c         C@ sĆ   |  j  } |  j j |  j j d | d  } |  j rO |  j   |  j j j } n  t j r t	 d | d d d   t	 d | d d d   n  |  j
 t | d d d  | d d d    d S(	   s/   Range element access, strided (character types)R   s
   Some arrays   Original elements:i   i   i   s   Read elements:N(   R(  R”   R&   R!   R  RĆ   R   R   R   R   R4   R   (   R7   R9   R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test04_rangeu  s    			
	c         C@ sĆ   |  j  } |  j j |  j j d | d  } |  j rO |  j   |  j j j } n  t j r t	 d | d d d   t	 d | d d d   n  |  j
 t | d d d  | d d d    d S(	   s/   Range element access, strided (numerical types)R   s
   Some arrays   Original elements:i   i   i   s   Read elements:N(   R*  R”   R&   R!   R  RĆ   R   R   R   R   R4   R   (   R7   R9   R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test05_range  s    			
	c         C@ s   |  j  } |  j j |  j j d | d  } |  j rO |  j   |  j j j } n  t j r} t	 d | d  t	 d | d  n  |  j
 t | d | d   d S(   s/   Negative Index element access (character types)R   s
   Some arrays   Original last element:i’’’’s   Read last element:N(   R(  R”   R&   R!   R  RĆ   R   R   R   R   R4   R   (   R7   R9   R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test06_negativeIndex  s    			
	c         C@ sŠ   |  j  } |  j j |  j j d | d  } |  j rO |  j   |  j j j } n  t j r} t	 d | d  t	 d | d  n  t
 | d t j  r“ |  j t | d | d   n |  j | d | d  d S(   s/   Negative Index element access (numerical types)R   s
   Some arrays   Original before last element:iž’’’s   Read before last element:N(   R*  R”   R&   R!   R  RĆ   R   R   R   R   RI   R   RK   R4   R   R+   (   R7   R9   R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test07_negativeIndex«  s    			
	!c         C@ s«   |  j  } |  j j |  j j d | d  } |  j rO |  j   |  j j j } n  t j r t	 d | d d ! t	 d | d d ! n  |  j
 t | d d !| d d !  d S(   s/   Negative range element access (character types)R   s
   Some arrays   Original last elements:iü’’’i’’’’s   Read last elements:N(   R(  R”   R&   R!   R  RĆ   R   R   R   R   R4   R   (   R7   R9   R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test08_negativeRangeĄ  s    			
	c         C@ s«   |  j  } |  j j |  j j d | d  } |  j rO |  j   |  j j j } n  t j r t	 d | d d ! t	 d | d d ! n  |  j
 t | d d !| d d !  d S(   s/   Negative range element access (numerical types)R   s
   Some arrays   Original last elements:iü’’’i’’’’s   Read last elements:N(   R*  R”   R&   R!   R  RĆ   R   R   R   R   R4   R   (   R7   R9   R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test09_negativeRangeŅ  s    			
	(   R   R   R%  R'  R)  R+  R,  R-  R.  R/  R0  R1  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR#  )  s   									t   GI1NATestCasec           B@ s   e  Z d  Z e j d g  Z e j d d d d d d d g  Z e j d g d	  Z e j d
 d d d d d d g d	  Z RS(   s   Rank-1 case 1i   i   i   i    i   i   i   R   R   t   321t   221R   t   021t   421t   521t   621(	   R   R   R   R   RL   R&  R*  R$  R(  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR2  å  s   $t   GI1NAOpenTestCasec           B@ s   e  Z d  Z RS(   i    (   R   R   R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR9  ī  s   t   GI1NACloseTestCasec           B@ s   e  Z d  Z RS(   i   (   R   R   R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR:  ņ  s   t   GI2NATestCasec           B@ sd  e  Z d  Z e j d d g  Z e j d d d d d d d g d d d d d d d g d d d d d d d g d d d d d d d g d d d d d d d g g  Z e j d	 d
 g d  Z e j d d d d d d d g d d d d d d d g d d d d d d d g d d d d d d d g d d d d d  d! d" g d# d$ d% d& d' d( d) g g d  Z RS(*   s   Rank-1,2 case 2i   i   i   i   i    i   i   i   R9   R<   R   R3  R4  R   R5  R6  R7  R8  t   21t   11t   02t   42t   61t   31t   12t   41t   51t   3241t   2321t   13216t   0621t   4421t   5421t   a621t   a321t   s221t   d121t   g021t   b421t   5vvv21t   6zxzxs21(	   R   R   R   R   RL   R&  R*  R$  R(  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR;  ö  s"   !	t   GI2NAOpenTestCasec           B@ s   e  Z d  Z RS(   i    (   R   R   R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRS    s   t   GI2NACloseTestCasec           B@ s   e  Z d  Z RS(   i   (   R   R   R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRT    s   t   SetItemTestCasec           B@ sk   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(   c         C@ s¶   |  j  } |  j j |  j j d | d  } |  j rR |  j d  |  j j j } n  d | d <d | d <t j r t	 d | d  t	 d | d  n  |  j
 t | d | d   d S(	   s'   Single element update (character types)R   s
   Some arrayR9   R<   i    s   Original first element:s   Read first element:N(   R$  R”   R&   R!   R  RĆ   R   R   R   R   R4   R   (   R7   R9   R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR%    s    			

	c         C@ s°   |  j  } |  j j |  j j d | d  } |  j rR |  j d  |  j j j } n  d | d <d | d <t j r t	 d | d  t	 d | d  n  |  j
 | d | d  d S(	   s'   Single element update (numerical types)R   s
   Some arrayR9   iM  i    s   Original first element:s   Read first element:N(   R&  R”   R&   R!   R  RĆ   R   R   R   R   R+   (   R7   R9   R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR'  ,  s    			

	c         C@ sČ   |  j  } |  j j |  j j d | d  } |  j rR |  j d  |  j j j } n  d | d d +d | d d +t j r  t	 d | d d ! t	 d	 | d d ! n  |  j
 t | d d !| d d !  d
 S(   s&   Range element update (character types)R   s
   Some arrayR9   t   xXxi   i   s   Original elements:i   s   Read elements:N(   R(  R”   R&   R!   R  RĆ   R   R   R   R   R4   R   (   R7   R9   R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR)  B  s    				c         C@ s  |  j  } |  j j |  j j d | d  } |  j rR |  j d  |  j j j } n  t d d d
  } t	 j
 | | j  d d } | | j | _ | | | <| | | <t j rŚ t d | d d ! t d	 | d d ! n  |  j t | d d !| d d !  d
 S(   s&   Range element update (numerical types)R   s
   Some arrayR9   i   i   i   s   Original elements:i   s   Read elements:N(   R*  R”   R&   R!   R  RĆ   R   t   sliceR2   R   R   R   R(   R   R   R   R4   R   (   R7   R9   R  t   st   rng(    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR+  X  s    			

	c         C@ sģ   |  j  } |  j j |  j j d | d  } |  j rR |  j d  |  j j j } n  t d d d  } d | | <d | | <t j	 rø t
 d | d d d   t
 d	 | d d d   n  |  j t | d d d  | d d d    d
 S(   s/   Range element update, strided (character types)R   s
   Some arrayR9   i   i   i   RV  s   Original elements:s   Read elements:N(   R(  R”   R&   R!   R  RĆ   R   RW  R   R   R   R4   R   (   R7   R9   R  RX  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR,  q  s    			

	c         C@ s  |  j  } |  j j |  j j d | d  } |  j rR |  j d  |  j j j } n  t d d d  } t j	 | | j
  d d } | | j | _ | | | <| | | <t j rę t d | d d d   t d	 | d d d   n  |  j t | d d d  | d d d    d
 S(   s/   Range element update, strided (numerical types)R   s
   Some arrayR9   i   i   i   i   s   Original elements:s   Read elements:N(   R*  R”   R&   R!   R  RĆ   R   RW  R   R   R   R(   R   R   R   R4   R   (   R7   R9   R  RX  RY  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR-    s    			

	c         C@ s¼   |  j  } |  j j |  j j d | d  } |  j rR |  j d  |  j j j } n  d } d | | <d | | <t j r t	 d | d  t	 d | d  n  |  j
 t | d | d   d S(	   s/   Negative Index element update (character types)R   s
   Some arrayR9   i’’’’RV  s   Original last element:s   Read last element:N(   R(  R”   R&   R!   R  RĆ   R   R   R   R   R4   R   (   R7   R9   R  RX  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR.  ”  s    			

	c         C@ s  |  j  } |  j j |  j j d | d  } |  j rR |  j d  |  j j j } n  d } | | d d | | <| | d d | | <t j r² t	 d | d  t	 d | d  n  t
 | d t j  ré |  j t | d | d   n |  j | d | d  d	 S(
   s/   Negative Index element update (numerical types)R   s
   Some arrayR9   iž’’’i   i   s   Original before last element:s   Read before last element:N(   R*  R”   R&   R!   R  RĆ   R   R   R   R   RI   R   RK   R4   R   R+   (   R7   R9   R  RX  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR/  ø  s    				!c         C@ sŌ   |  j  } |  j j |  j j d | d  } |  j rR |  j d  |  j j j } n  t d d d	  } d | | <d | | <t	 j
 r¬ t d | d d ! t d | d d ! n  |  j t | d d !| d d !  d	 S(
   s/   Negative range element update (character types)R   s
   Some arrayR9   iü’’’i’’’’RV  s   Original last elements:s   Read last elements:N(   R(  R”   R&   R!   R  RĆ   R   RW  R2   R   R   R   R4   R   (   R7   R9   R  RX  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR0  Ņ  s    			

	c         C@ s  |  j  } |  j j |  j j d | d  } |  j rR |  j d  |  j j j } n  t d d d  } t	 j
 | | j  d d } | | j | _ | | | <| | | <t j rŚ t d | d	 d ! t d
 | d	 d ! n  |  j t | d	 d !| d	 d !  d S(   s/   Negative range element update (numerical types)R   s
   Some arrayR9   iż’’’i’’’’i   i   s   Original last elements:iü’’’s   Read last elements:N(   R*  R”   R&   R!   R  RĆ   R   RW  R2   R   R   R   R(   R   R   R   R4   R   (   R7   R9   R  RX  RY  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR1  é  s    			

	c         C@ sM  |  j  } |  j j |  j j d | d  } |  j rR |  j d  |  j j j } n  t d | j d d d  } t d d d  } t
 j | | j  d d } | | j | _ | | | <t
 j | | j  d d } | | j | _ | | | <t j r%t d	 | d
 d ! t d | d
 d ! n  |  j t | d
 d !| d
 d !  d S(   s%   Out of range update (numerical types)R   s
   Some arrayR9   i   i    ič  i   i   s   Original last elements:iü’’’i’’’’s   Read last elements:N(   R*  R”   R&   R!   R  RĆ   R   RW  R(   R2   R   R   R   R   R   R   R4   R   (   R7   R9   R  RX  t   s2RY  t   rng2(    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test10_outOfRange  s$    			

	(   R   R   R%  R'  R)  R+  R,  R-  R.  R/  R0  R1  R\  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRU    s   										t   SI1NATestCasec           B@ s   e  Z d  Z e j d g  Z e j d d d d d d d g  Z e j d g d	  Z e j d
 d d d d d d g d	  Z RS(   s   Rank-1 case 1i   i   i   i    i   i   i   R   R   R3  R4  R   R5  R6  R7  R8  (	   R   R   R   R   RL   R&  R*  R$  R(  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR]    s   $t   SI1NAOpenTestCasec           B@ s   e  Z d  Z RS(   i    (   R   R   R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR^  (  s   t   SI1NACloseTestCasec           B@ s   e  Z d  Z RS(   i   (   R   R   R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR_  ,  s   t   SI2NATestCasec           B@ sd  e  Z d  Z e j d d g  Z e j d d d d d d d g d d d d d d d g d d d d d d d g d d d d d d d g d d d d d d d g g  Z e j d	 d
 g d  Z e j d d d d d d d g d d d d d d d g d d d d d d d g d d d d d d d g d d d d d  d! d" g d# d$ d% d& d' d( d) g g d  Z RS(*   s   Rank-1,2 case 2i   i   i   i   i    i   i   i   R9   R<   R   R3  R4  R   R5  R6  R7  R8  R<  R=  R>  R?  R@  RA  RB  RC  RD  RE  RF  RG  RH  RI  RJ  RK  RL  RM  RN  RO  RP  RQ  RR  (	   R   R   R   R   RL   R&  R*  R$  R(  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR`  0  s"   !	t   SI2NAOpenTestCasec           B@ s   e  Z d  Z RS(   i    (   R   R   R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRa  F  s   t   SI2NACloseTestCasec           B@ s   e  Z d  Z RS(   i   (   R   R   R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRb  J  s   t   GeneratorTestCasec           B@ s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C@ s»   |  j  } |  j j |  j j d | d  } |  j rO |  j   |  j j j } n  g  | D] } | ^ qV } g  | D] } | ^ qo } t j r§ t	 d |  t	 d |  n  |  j
 | |  d S(   s:   Testing generator access to Arrays, single elements (char)R   s
   Some arrays   Result of original iterator:s   Result of read generator:N(   R$  R”   R&   R!   R  RĆ   R   R   R   R   R+   (   R7   R9   R  Rß   t   gat   garr(    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test00a_singleP  s    			
	c         C@ sę   |  j  } |  j j |  j j d | d  } |  j rO |  j   |  j j j } n  g  | D] } | ^ qV } g  | D] } | ^ qo } t j r§ t	 d |  t	 d |  n  x8 t
 t |   D]$ } |  j t | | | |   qŗ Wd S(   s<   Testing generator access to Arrays, multiple elements (char)R   s
   Some arrays   Result of original iterator:s   Result of read generator:N(   R(  R”   R&   R!   R  RĆ   R   R   R   R   R   R]   R4   R   (   R7   R9   R  Rß   Rd  Re  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt
   test00b_med  s    			
	c         C@ s»   |  j  } |  j j |  j j d | d  } |  j rO |  j   |  j j j } n  g  | D] } | ^ qV } g  | D] } | ^ qo } t j r§ t	 d |  t	 d |  n  |  j
 | |  d S(   s=   Testing generator access to Arrays, single elements (numeric)R   s
   Some arrays   Result of original iterator:s   Result of read generator:N(   R&  R”   R&   R!   R  RĆ   R   R   R   R   R+   (   R7   R9   R  Rß   Rd  Re  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test01a_singlez  s    			
	c         C@ sę   |  j  } |  j j |  j j d | d  } |  j rO |  j   |  j j j } n  g  | D] } | ^ qV } g  | D] } | ^ qo } t j r§ t	 d |  t	 d |  n  x8 t
 t |   D]$ } |  j t | | | |   qŗ Wd S(   s?   Testing generator access to Arrays, multiple elements (numeric)R   s
   Some arrays   Result of original iterator:s   Result of read generator:N(   R*  R”   R&   R!   R  RĆ   R   R   R   R   R   R]   R4   R   (   R7   R9   R  Rß   Rd  Re  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt
   test01b_me  s    			
	(   R   R   Rf  Rg  Rh  Ri  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRc  N  s   			t   GE1NATestCasec           B@ s   e  Z d  Z e j d g  Z e j d d d d d d d g  Z e j d g d	  Z e j d
 d d d d d d g d	  Z RS(   s   Rank-1 case 1i   i   i   i    i   i   i   R   R   R3  R4  R   R5  R6  R7  R8  (	   R   R   R   R   RL   R&  R*  R$  R(  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRj  ¤  s   $t   GE1NAOpenTestCasec           B@ s   e  Z d  Z RS(   i    (   R   R   R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRk  ­  s   t   GE1NACloseTestCasec           B@ s   e  Z d  Z RS(   i   (   R   R   R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRl  ±  s   t   GE2NATestCasec           B@ sd  e  Z d  Z e j d d g  Z e j d d d d d d d g d d d d d d d g d d d d d d d g d d d d d d d g d d d d d d d g g  Z e j d	 d
 g d  Z e j d d d d d d d g d d d d d d d g d d d d d d d g d d d d d d d g d d d d d  d! d" g d# d$ d% d& d' d( d) g g d  Z RS(*   s   Rank-1,2 case 2i   i   i   i   i    i   i   i   R9   R<   R   R3  R4  R   R5  R6  R7  R8  R<  R=  R>  R?  R@  RA  RB  RC  RD  RE  RF  RG  RH  RI  RJ  RK  RL  RM  RN  RO  RP  RQ  RR  (	   R   R   R   R   RL   R&  R*  R$  R(  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRm  µ  s"   !	t   GE2NAOpenTestCasec           B@ s   e  Z d  Z RS(   i    (   R   R   R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRn  Ė  s   t   GE2NACloseTestCasec           B@ s   e  Z d  Z RS(   i   (   R   R   R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRo  Ļ  s   t   NonHomogeneousTestCasec           B@ s   e  Z d    Z RS(   c         C@ sN   |  j  t t f |  j j d d d d d g g  |  j  t |  j j d  d S(   s,   Test for creation of non-homogeneous arrays.R    t   testi   i   i   s   /testN(   RV   R°   RW   R”   R&   R   t   remove_node(   R7   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRq  Ō  s    "(   R   R   Rq  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRp  Ó  s   t   TruncateTestCasec           B@ s   e  Z d    Z RS(   c         C@ s8   |  j  j d d d d g  } |  j t | j d  d S(   s-   Test for unability to truncate Array objects.R    R  i    i   N(   R”   R&   RV   RW   t   truncate(   R7   R  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRq  Ž  s    (   R   R   Rq  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRs  Ż  s   t   PointSelectionTestCasec           B@ sY   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   c         C@ s   t  t |   j   d	 d
 d d g |  _ t j |  j  } t j | d t j j	 |  j  } | |  _
 |  j j |  j j d |  |  _ d  S(   Ni    i   i   iö’’’i   i
   R   RL   (   i    i   (   i   iö’’’(   iö’’’i   (   i    i
   (   R   Ru  R   t   limitsR   t   prodR(   R   Rg   RŌ   RZ   R”   R&   R!   t   tbarr(   R7   R   RZ   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR   ē  s    $	c         C@ s   |  j  } |  j } xy |  j D]n \ } } | | k | | k  @} t j rW t d |  n  | | } | | } |  j t j | | k  d  q Wd S(   s/   Test for point-selections (read, boolean keys).s   Selection to test:s3   NumPy array and PyTables selections does not match.N(	   RZ   Rx  Rv  R   R   R   R4   R   t   alltrue(   R7   RZ   Rx  t   value1t   value2t   keyR9   R<   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test01a_read÷  s    			

c         C@ s   |  j  } |  j } x |  j D]w \ } } t j | | k | | k  @ } t j r` t d |  n  | | } | | } |  j t j	 | | k  d  q Wd S(   s/   Test for point-selections (read, integer keys).s   Selection to test:s3   NumPy array and PyTables selections does not match.N(
   RZ   Rx  Rv  R   t   whereR   R   R   R4   Ry  (   R7   RZ   Rx  Rz  R{  R|  R9   R<   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test01b_read  s    			

c         C@ s   |  j  } |  j } x} |  j D]r \ } } t j | | k | | k  @ } t j r` t d |  n  t j | d  } |  j	 t
 t f | j |  q Wd S(   s-   Test for point-selections (read, float keys).s   Selection to test:t   f4N(   RZ   Rx  Rv  R   R~  R   R   R   RL   RV   t
   IndexErrorRW   t   __getitem__(   R7   RZ   Rx  Rz  R{  R|  t   fkey(    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test01c_read  s    			c         C@ s   |  j  } |  j } xo |  j D]d } | j d k r@ t |  } n  t j rY t d |  n  | | } | | } t j	 | | d  q Wd  S(   Ni   s   Selection to test:s3   NumPy array and PyTables selections does not match.(
   RZ   Rx  t   working_keysetR0   t   tupleR   R   R   t   nptt   assert_array_equal(   R7   RZ   Rx  R|  R9   R<   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test01d_read"  s    			

c         C@ sP   |  j  } x@ |  j D]5 } t j r2 t d |  n  |  j t | j |  q Wd  S(   Ns   Selection to test:(   Rx  t   not_working_keysetR   R   R   RV   R  R  (   R7   Rx  R|  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test01e_read0  s
    		c   	      C@ s²   |  j  } |  j } x |  j D] \ } } | | k | | k  @} t j rW t d |  n  | | } | d | | <| d | | <| } | } |  j t j | | k  d  q Wd S(   s0   Test for point-selections (write, boolean keys).s   Selection to test:i   s6   NumPy array and PyTables modifications does not match.N(	   RZ   Rx  Rv  R   R   R   R4   R   Ry  (	   R7   RZ   Rx  Rz  R{  R|  RX  R9   R<   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test02a_write9  s    			
c   	      C@ s»   |  j  } |  j } x¢ |  j D] \ } } t j | | k | | k  @ } t j r` t d |  n  | | } | d | | <| d | | <| } | } |  j t j	 | | k  d  q Wd S(   s0   Test for point-selections (write, integer keys).s   Selection to test:i   s6   NumPy array and PyTables modifications does not match.N(
   RZ   Rx  Rv  R   R~  R   R   R   R4   Ry  (	   R7   RZ   Rx  Rz  R{  R|  RX  R9   R<   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test02b_writeK  s    			
c         C@ s©   |  j  } |  j } x |  j D] \ } } t j | | k | | k  @ } t j r` t d |  n  d | | <d | | <| } | } |  j t j	 | | k  d  q Wd S(   s=   Test for point-selections (write, integer values, broadcast).s   Selection to test:i   s6   NumPy array and PyTables modifications does not match.N(
   RZ   Rx  Rv  R   R~  R   R   R   R4   Ry  (   R7   RZ   Rx  Rz  R{  R|  R9   R<   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test02c_write]  s    			

(   R   R   R   R}  R  R  R  R  R  R  R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRu  å  s   									t   PointSelection0c           B@ sG   e  Z d Z d d g d d g g Z d d  g d d g d d g g Z RS(   i   i    i   i’’’’i   iü’’’(   i   (   R   R   R(   R  R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  p  s   			t   PointSelection1c           B@ sb   e  Z d Z d	 d
 d g d d d g g Z d d d g d d d g d d d g d d d g g Z RS(   i   i   i    i   i’’’’i   iü’’’iū’’’(   i   i   i   (   i    i    (   i    i   (   i    i    (   i    i    (   i    i’’’’(   i    i    (   i    i    (   i    i   (   i    i    (   i    i    (   i    i   (   i    i    (   i    i    (   i    iü’’’(   i    i    (   i    i    (   i    iū’’’(   i    i    (   R   R   R(   R  R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  }  s   t   PointSelection2c           B@ sY   e  Z d	 Z d
 d g d d g d d g g Z d d g d d g d d g d d g g Z RS(   i   i   i    i   i’’’’iž’’’i   iü’’’iū’’’(   i   i   (   i    i    (   i    i   (   i    i    (   i    i’’’’(   i    i    (   i    iž’’’(   i    i    (   i    i   (   i    i    (   i    i   (   i    i    (   i    iü’’’(   i    i    (   i    iū’’’(   R   R   R(   R  R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR    s   					t   PointSelection3c           B@ se   e  Z d Z d d	 d
 d g d d d d g g Z d d d d g d d d d g d d d d g g Z RS(   i   i   i   i   i    i’’’’iü’’’(   i   i   i   i   (   i    i    (   i    i   (   i    i    (   i    i    (   i    i    (   i    i’’’’(   i    i    (   i    i    (   i    i    (   i    i   (   i    i    (   i    i    (   i    i    (   i    i   (   i    i    (   i    i    (   i    i    (   i    iü’’’(   i    i    (   i    i    (   R   R   R(   R  R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR    s   t   PointSelection4c           B@ st   e  Z d	 Z d
 d d d d g d d d d d g g Z d d d d d g d d d d d g d d d  d! d" g g Z RS(#   i   i   i   i   i   i    i’’’’i   iü’’’(   i   i   i   i   i   (   i    i    (   i    i   (   i    i    (   i    i    (   i    i    (   i    i    (   i    i’’’’(   i    i    (   i    i    (   i    i    (   i    i    (   i    i   (   i    i    (   i    i    (   i    i    (   i    i    (   i    i   (   i    i    (   i    i    (   i    i    (   i    i    (   i    iü’’’(   i    i    (   i    i    (   i    i    (   R   R   R(   R  R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  §  s   t   FancySelectionTestCasec           B@ sG   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C@ s²  t  t |   j   |  j \ } } } d d g t d | d  d f | d d d d g t d   d f t |  | d d d g t d   f t d | d  t d |  | d d d g f | d d d g d f d d d g d d f d d g d d f d d g d t f t d d g f t j d d g d  d d f t j d d g d  d d f g |  _	 t j t
 t g d	 d
 d d d g d d f d d g d d d g f g  d d f t d d g t f t
 t g g |  _ d d g d d f d d g d d f g |  _ d d g d d d f g |  _ t j |  j d	 t j } t j | | d	 t j j | |  } x" t |  D] } | | | | <qlW| |  _ |  j j |  j j d |  |  _ d  S(   Ni   i   i   i    iž’’’i’’’’Rø   t   i8R   R   ič  iŠ  RL   (   i   i   i   (   R   R  R   R(   RW  R2   t   EllipsisR   RL   R  R`   R   R  t   not_working_oobt   not_working_too_manyR£   Rg   R   RŌ   R   RZ   R”   R&   R!   Rx  (   R7   t   Mt   Nt   ORZ   t   dataRß   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR   ¶  s>    "%.!(	c         C@ sv   |  j  } |  j } x] |  j D]R } t j r; t d |  n  | | } | | } |  j t j | | k  d  q Wd S(   s5   Test for fancy-selections (working selections, read).s   Selection to test:s3   NumPy array and PyTables selections does not match.N(	   RZ   Rx  R  R   R   R   R4   R   Ry  (   R7   RZ   Rx  R|  R9   R<   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR}  ó  s    			

c         C@ sP   |  j  } x@ |  j D]5 } t j r2 t d |  n  |  j t | j |  q Wd S(   s9   Test for fancy-selections (not working selections, read).s   Selection to test:N(   Rx  R  R   R   R   RV   R  R  (   R7   Rx  R|  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  	  s
    		c         C@ so   |  j  } |  j } xV |  j D]K } t j r; t d |  n  |  j t | j |  |  j t | j |  q Wd S(   s7   Test for fancy-selections (out-of-bound indexes, read).s   Selection to test:N(	   RZ   Rx  R  R   R   R   RV   R  R  (   R7   RZ   Rx  R|  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  	  s    			c         C@ su   |  j  } |  j } x\ |  j D]Q } t j r; t d |  n  |  j t t f | j	 |  |  j t | j	 |  q Wd S(   s3   Test for fancy-selections (too many indexes, read).s   Selection to test:N(
   RZ   Rx  R  R   R   R   RV   R°   R  R  (   R7   RZ   Rx  R|  (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  	  s    			c         C@ s   |  j  } |  j } x} |  j D]r } t j r; t d |  n  | | } | d | | <| d | | <| } | } |  j t j | | k  d  q Wd S(   s6   Test for fancy-selections (working selections, write).s   Selection to test:i   s6   NumPy array and PyTables modifications does not match.N(	   RZ   Rx  R  R   R   R   R4   R   Ry  (   R7   RZ   Rx  R|  RX  R9   R<   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  $	  s    			
c         C@ s   |  j  } |  j } xk |  j D]` } t j r; t d |  n  d | | <d | | <| } | } |  j t j | | k  d  q Wd S(   sA   Test for fancy-selections (working selections, write, broadcast).s   Selection to test:i   s6   NumPy array and PyTables modifications does not match.N(	   RZ   Rx  R  R   R   R   R4   R   Ry  (   R7   RZ   Rx  R|  R9   R<   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  5	  s    			

(	   R   R   R   R}  R  R  R  R  R  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  “  s   	=					t   FancySelection1c           B@ s   e  Z d Z RS(   i   i   (   i   i   i   (   R   R   R(   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  J	  s   t   FancySelection2c           B@ s   e  Z d Z RS(   i   i   (   i   i   i   (   R   R   R(   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  N	  s   t   FancySelection3c           B@ s   e  Z d Z RS(   i   i   i   (   i   i   i   (   R   R   R(   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  S	  s   t   FancySelection4c           B@ s   e  Z d Z RS(   i   i   i
   (   i   i   i
   (   R   R   R(   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR   X	  s   t   CopyNativeHDF5MDAtomc           B@ s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C@ s   t  t |   j   t d  } t j | d  |  _ |  j j j |  _ t	 j
 d  |  _ t j |  j d d |  _ |  j j |  j j d d |  _ d  S(   Ns   array_mdatom.h5R   s   .h5R   R   t   newnamet   arr2(   R   R”  R   R
   R   R    R”   R!   R  R   R   R\   t   copyhR£  (   R7   R:   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR   _	  s    c         C@ sA   |  j  j   |  j j   t j |  j  t t |   j   d  S(   N(	   R”   R  R¤  R5   R6   R\   R   R”  t   tearDown(   R7   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR„  h	  s    c         C@ s<   |  j  |  j j |  j j  |  j  |  j j |  j j  d S(   s.   Checking that native MD atoms are copied as-isN(   R+   R  R,   R£  R(   (   R7   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR  n	  s    c         C@ sv   |  j  j   t j |  j d d |  _  |  j  j j |  _ |  j |  j j	 |  j j	  |  j |  j j
 |  j j
  d S(   s8   Checking that native MD atoms are copied as-is (re-open)R   R   N(   R¤  R  R   R    R\   R!   R£  R+   R  R,   R(   (   R7   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test02_reopent	  s
    (   R   R   R   R„  R  R¦  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR”  ]	  s   				t   AccessClosedTestCasec           B@ s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C@ sG   t  t |   j   t j d  } |  j j |  j j d |  |  _ d  S(   Ni
   RL   (   i
   i
   (	   R   R§  R   R   Rŗ   R”   R&   R!   RL   (   R7   R9   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR   	  s    c         C@ s'   |  j  j   |  j t |  j j  d  S(   N(   R”   R  RV   R   RL   R'   (   R7   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt	   test_read	  s    c         C@ s*   |  j  j   |  j t |  j j d  d  S(   Ni    (   R”   R  RV   R   RL   R  (   R7   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_getitem	  s    c         C@ s-   |  j  j   |  j t |  j j d d  d  S(   Ni    (   R”   R  RV   R   RL   t   __setitem__(   R7   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_setitem	  s    (   R   R   R   RØ  R©  R«  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR§  ~	  s   			t   BroadcastTestc           B@ s   e  Z d    Z RS(   c         C@ sÆ   d } d	 } t  j t  j | f  } t j |  } |  j j |  j j d d | d | } t  j |  } t  j	 |  j
 |  } | | d <|  j t  j | d | k   d S(
   s<   Test correct broadcasting when the array atom is not scalar.i   i   RL   R,   R(   i    N(   i   i   (   i   (   R   R   t   intR   RF   R”   R&   R!   Rw  R   RŌ   R4   t   all(   R7   t   array_shapet   element_shapeR   R,   t   h5arrR   RZ   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyRq  	  s    
(   R   R   Rq  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR¬  	  s   t   TestCreateArrayArgsc           B@ s×   e  Z d  Z d Z e j d d g d d g g  Z d Z d Z	 e
 Z e j e j  Z e j Z d   Z d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   R    RL   i   i   i   i   R   c         C@ sé   |  j  j |  j |  j |  j |  j  |  j  j   t j |  j	  |  _  |  j  j
 |  j |  j  } | j   } |  j | j |  j  |  j | j |  j  |  j | j |  j  |  j | j j |  j j  |  j t |  j |   d  S(   N(   R”   R&   R~  R{   R?   R   R  R   R    t   h5fnameRü   R'   R+   R(   R,   R   R4   R   (   R7   RG   RZ   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_positional_args±	  s    %c      	   C@ s  |  j  j |  j |  j d  |  j |  j |  j |  j |  j	  |  j  j
   t j |  j  |  _  |  j  j |  j |  j  } | j   } |  j | j |  j  |  j | j	 |  j	  |  j | j |  j  |  j | j j |  j j  |  j t t j |  j  |   d  S(   N(   R”   R&   R~  R{   R2   R   R*   t   createparentsR,   R(   R  R   R    R³  Rü   R'   R+   R   R4   R   R   t
   zeros_likeR?   (   R7   RG   RZ   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_positional_args_atom_shapeæ	  s    c         C@ sļ   |  j  j |  j |  j d |  j d |  j |  j  j   t j |  j	  |  _  |  j  j
 |  j |  j  } | j   } |  j | j |  j  |  j | j |  j  |  j | j |  j  |  j | j j |  j j  |  j t |  j |   d  S(   NR   R?   (   R”   R&   R~  R{   R   R?   R  R   R    R³  Rü   R'   R+   R(   R,   R   R4   R   (   R7   RG   RZ   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_kwargs_objĻ	  s    !
c      	   C@ s  |  j  j |  j |  j d |  j d |  j d |  j } |  j | d <|  j  j   t	 j
 |  j  |  _  |  j  j |  j |  j  } | j   } |  j | j |  j  |  j | j |  j  |  j | j |  j  |  j | j j |  j j  |  j t |  j |   d  S(   NR   R,   R(   .(   R”   R&   R~  R{   R   R,   R(   R?   R  R   R    R³  Rü   R'   R+   R   R4   R   (   R7   RG   RZ   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_kwargs_atom_shape_01Ž	  s    	c      	   C@ s  |  j  j |  j |  j d |  j d |  j d |  j } |  j  j   t j	 |  j
  |  _  |  j  j |  j |  j  } | j   } |  j | j |  j  |  j | j |  j  |  j | j |  j  |  j | j j |  j j  |  j t t j |  j  |   d  S(   NR   R,   R(   (   R”   R&   R~  R{   R   R,   R(   R  R   R    R³  Rü   R'   R+   R   R4   R   R   R¶  R?   (   R7   RG   RZ   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_kwargs_atom_shape_02ļ	  s    	c      	   C@ sś   |  j  j |  j |  j d |  j d |  j d |  j } |  j  j   t j	 |  j
  |  _  |  j  j |  j |  j  } | j   } |  j | j |  j  |  j | j |  j  |  j | j |  j  |  j | j j |  j j  |  j t |  j |   d  S(   NR   R?   R,   (   R”   R&   R~  R{   R   R?   R,   R  R   R    R³  Rü   R'   R+   R(   R   R4   R   (   R7   RG   RZ   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_kwargs_obj_atom 
  s    		c      	   C@ sś   |  j  j |  j |  j d |  j d |  j d |  j } |  j  j   t j	 |  j
  |  _  |  j  j |  j |  j  } | j   } |  j | j |  j  |  j | j |  j  |  j | j |  j  |  j | j j |  j j  |  j t |  j |   d  S(   NR   R?   R(   (   R”   R&   R~  R{   R   R?   R(   R  R   R    R³  Rü   R'   R+   R,   R   R4   R   (   R7   RG   RZ   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_kwargs_obj_shape
  s    		c         C@ s  |  j  j |  j |  j d |  j d |  j d |  j d |  j } |  j  j   t	 j
 |  j  |  _  |  j  j |  j |  j  } | j   } |  j | j |  j  |  j | j |  j  |  j | j |  j  |  j | j j |  j j  |  j t |  j |   d  S(   NR   R?   R,   R(   (   R”   R&   R~  R{   R   R?   R,   R(   R  R   R    R³  Rü   R'   R+   R   R4   R   (   R7   RG   RZ   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_kwargs_obj_atom_shape"
  s    			c         C@ sV   t  j t j d   } |  j t |  j j |  j |  j	 d |  j
 d |  j d | d  S(   Nt   complexR   R?   R,   (   R   RF   R   R   RV   RW   R”   R&   R~  R{   R   R?   (   R7   R,   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_kwargs_obj_atom_error4
  s    					c         C@ sN   |  j  |  j  } |  j t |  j j |  j |  j d |  j d |  j d | d  S(   NR   R?   R(   (	   R(   RV   RW   R”   R&   R~  R{   R   R?   (   R7   R(   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   test_kwargs_obj_shape_error?
  s    					c         C@ s_   t  j t j d   } |  j t |  j j |  j |  j	 d |  j
 d |  j d | d |  j d  S(   NR¾  R   R?   R,   R(   (   R   RF   R   R   RV   RW   R”   R&   R~  R{   R   R?   R(   (   R7   R,   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt#   test_kwargs_obj_atom_shape_error_01J
  s    					c         C@ sW   |  j  |  j  } |  j t |  j j |  j |  j d |  j d |  j d |  j	 d | d  S(   NR   R?   R,   R(   (
   R(   RV   RW   R”   R&   R~  R{   R   R?   R,   (   R7   R(   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt#   test_kwargs_obj_atom_shape_error_02V
  s    						c         C@ sl   t  j t j d   } |  j |  j } |  j t |  j j |  j	 |  j
 d |  j d |  j d | d | d  S(   NR¾  R   R?   R,   R(   (   R   RF   R   R   R(   RV   RW   R”   R&   R~  R{   R   R?   (   R7   R,   R(   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt#   test_kwargs_obj_atom_shape_error_03b
  s    					N(   R   R   R~  R{   R   RL   R?   R   R2   R*   R`   Rµ  R   RF   R   R,   R(   R“  R·  Rø  R¹  Rŗ  R»  R¼  R½  Ræ  RĄ  RĮ  RĀ  RĆ  (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyR²  §	  s*   !													c          C@ sż  t  j   }  d } xät |  D]Ö} |  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   |  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 t0   |  j t  j t1   |  j t  j t2   |  j t  j t3   |  j t  j t4   |  j t  j t5   |  j t  j t6   |  j t  j t7   |  j t  j t8   |  j t  j t9   |  j t  j t:   |  j t  j t;   |  j t  j t<   q W|  S(   Ni   (=   R	   t	   TestSuiteR   t   addTestt	   makeSuiteR   R   R   R   R   R   R   R   R   R·   RŪ   R×   RŲ   RŁ   RŚ   R  R  R  R  R  R  R  R  R  R  R  R   R!  R"  R9  R:  RS  RT  R^  R_  Ra  Rb  Rk  Rl  Rn  Ro  Rp  Rs  R  R  R  R   R  R  R  R  R  R”  R§  R²  R¬  (   t   theSuitet   niterRß   (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   suiteo
  sz    
t   __main__t   defaultTestRÉ  (j   t
   __future__R    R   R5   R-   R   t   warningsR   R   R  R   R   R   R   t   tables.utilsR   t   tables.testsR   t   tables.tests.commonR   R	   R
   R   t   TestCaset	   six.movesR   R   R   R   R   R   R   R   R   R   R   R   t   TempFileMixinR   R·   R¾   R×   RŲ   RŁ   RŚ   RŪ   R  R  R  R  R  R  R  R  R  R  R  R  R  R   R!  R"  R#  R2  R9  R:  R;  RS  RT  RU  R]  R^  R_  R`  Ra  Rb  Rc  Rj  Rk  Rl  Rm  Rn  Ro  Rp  Rs  Ru  R  R  R  R  R  R  R  R  R  R   R”  R§  R¬  R²  RÉ  R   t
   parse_argvt   argvt   print_versionst   main(    (    (    s6   lib/python2.7/site-packages/tables/tests/test_array.pyt   <module>   s¾   ’ ±	
	OĪ}­N¼	’ 	V	
!Č	F
