
j\c           @@ s	  d  Z  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	 Z	 d d l
 Z
 d d l
 m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z d d l m Z d d l m Z m Z d d l  m! Z! d d	 l" m# Z# d d
 l$ m% Z% m& Z& m' Z' d d l$ m( Z) d d l* m+ Z+ d e
 j, f d     YZ- d e# j. e) f d     YZ/ d e
 j, f d     YZ0 d e# j. e) f d     YZ1 d e1 f d     YZ2 e% j3 e# j4 d  d e1 f d     Y Z5 e% j3 e# j6 d  d e1 f d     Y Z7 d e1 f d     YZ8 d e1 f d      YZ9 d! e1 f d"     YZ: d# e1 f d$     YZ; d% e1 f d&     YZ< e% j3 e# j4 d  d' e1 f d(     Y Z= e% j3 e# j> d)  d* e1 f d+     Y Z? e% j3 e# j> d)  d, e1 f d-     Y Z@ e% j3 e# j> d)  e% j3 d. e
 jA   k d/  d0 e1 f d1     Y  ZB e% j3 e# j> d)  e% j3 d. e
 jA   k d/  d2 e1 f d3     Y  ZC e% j3 e# j> d)  e% j3 d4 e
 jA   k d5  d6 e1 f d7     Y  ZD e% j3 e# j> d)  e% j3 d8 e
 jA   k d9  d: e1 f d;     Y  ZE e% j3 e# j> d)  e% j3 d< e
 jA   k d=  d> e1 f d?     Y  ZF e% j3 e# j> d)  e% j3 e' e# jG k  d@ e# jG  dA e1 f dB     Y  ZH dC e# j. e) f dD     YZI dE eI f dF     YZJ dG eI f dH     YZK dI eI f dJ     YZL dK eI f dL     YZM dM eI f dN     YZN dO eI f dP     YZO dQ eI f dR     YZP e% j3 e# j6 d  dS eI f dT     Y ZQ dU e# j. e) f dV     YZR dW eR f dX     YZS dY eR f dZ     YZT d[ eR f d\     YZU d] eR f d^     YZV d_ eR f d`     YZW da eR f db     YZX dc eR f dd     YZY de eR f df     YZZ dg e# j. e) f dh     YZ[ di e# j. e) f dj     YZ\ e% j3 e# j> dk  dl e# j. e) f dm     Y Z] dn e) f do     YZ^ dp e# j. e) f dq     YZ_ e% j3 e& dr k  ds  dt e_ f du     Y Z` e% j3 e& dr k  ds  dv e_ f dw     Y Za e% j3 e& dr k  ds  dx e_ f dy     Y Zb dz e) f d{     YZc d| e_ f d}     YZd d~ e) f d     YZe d e
 jf jg k r!e_ Zh n ee Zh d eh f d     YZi e r\d e_ f d     YZj n d ee f d     YZj e rd e_ f d     YZk n d ee f d     YZk d ee f d     YZl d ee f d     YZm d ee f d     YZn d ee f d     YZo d ee f d     YZp e% j3 e& dr k  d  d e) f d     Y Zq d e# j. e) f d     YZr d   Zs et d k r	e# ju e jv  e# jw   e% jx d d  n  d S(   s   This test unit checks object creation funtions, like open_file,
create_table, create_array or create_group.

It also checks:

- name identifiers in tree objects
- title character limit for objects (255)
- limit in number in table fields (255)

i    (   t   print_function(   t   absolute_importN(   t   Groupt   Leaft   Tablet   Arrayt   Filterst
   StringAtomt	   Int16Atomt	   Int64Atomt   Float32Atomt   Float64Atomt   Colt	   StringColt   IntColt   Int16Colt   FloatColt
   Float32Col(   t   MAX_COLUMNS(   t   HAVE_DIRECT_DRIVERt   HAVE_WINDOWS_DRIVER(   t   quantize(   t   common(   t   unittestt   hdf5_versiont   blosc_version(   t   PyTablesTestCase(   t   ranget   Recordc           B@ s;   e  Z e d  d  Z e   Z e   Z e   Z	 e
   Z RS(   t   itemsizei   (   t   __name__t
   __module__R   t   var1R   t   var2R   t   var3R   t   var4R   t   var5(    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR   (   s
   			t   CreateTestCasec           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(   s   This is the table titleid   i   i   I       i    c         C@ s   t  t |   j   |  j j |  _ |  j j |  j d t d  |  _ |  j j |  j d d g d  |  _	 |  j j
 |  j d d  |  _ d  S(   Nt   atables   Table titlet   anarrayi   s   Array titlet   agroups   Group title(   t   superR%   t   setUpt   h5filet   roott   create_tableR   t   tablet   create_arrayt   arrayt   create_groupt   group(   t   self(    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR*   7   s    c         C@ sh   |  j  t |  j t   |  j  t |  j t   |  j  t |  j t   |  j  t |  j t   d S(   s   Testing table creation.N(	   t
   assertTruet
   isinstanceR.   R   R0   R   R   R2   R   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test00_isClassG   s    c         C@ s   y( |  j  j |  j d d g d  |  _ WnI t j k
 rs t j r t j	   \ } } } t
 d  t
 |  q n X|  j d  d S(   s-   Checking protection against node overwriting.R'   i   s   Array titles(   
Great!, the next NameError was catched!s   expected a tables.NodeErrorN(   R+   R/   R,   R0   t   tablest	   NodeErrorR   t   verboset   syst   exc_infot   printt   fail(   R3   t   typet   valuet	   traceback(    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test01_overwriteNodeO   s    	
c         C@ s   |  j  t j  ) |  j j |  j d d g d  |  _ Wd QX|  j  t j  ) |  j j |  j d d g d  |  _ Wd QX|  j  t j  ) |  j j |  j d d g d  |  _ Wd QXd S(   s%   Checking syntax in object tree names.s    arrayi   s   Array titleNs   $arrayt   for(   t   assertWarnsR7   t   NaturalNameWarningR+   R/   R,   R0   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test02_syntaxname]   s    c         C@ sb   |  j    |  j |  j j j j d  |  j |  j j j j d  |  j |  j j j j d  d S(   s&   Checking the self.title attr in nodes.s   Group titles   Table titles   Array titleN(	   t   _reopent   assertEqualR+   R,   R(   t   _v_titleR&   t   titleR'   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test03a_titleAttrn   s    
c         C@ s  d } |  j  j |  j d d |  } |  j | j d |  |  j | j d  d |  |  j  j |  j d t d |  } |  j | j d |  |  j | j	 d  d |  |  j  j
 |  j d d g d |  } |  j | j d |  |  j | j	 d  d |  d S(	   s2   Checking large title character length limit (1023)i  R2   t   tt   TITLER.   t   arri   N(   R+   R1   R,   RG   RH   t
   _f_getattrR-   R   RI   t   get_attrR/   (   R3   t   titlelengthR2   R.   RM   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test03b_titleLengthy   s    c         C@ s  t  } g  } x% t |  D] } | j d |  q Wi  } d } x7 | D]/ } t j d d d d | | | <| d 7} qG Wd | d <|  j j |  j d	 | d
  } | j } g  } xz t d  D]l }	 g  }
 x@ t t	 | j
   D]) } | |	 | | | <|
 j | |	  q W| j   | j t |
   q W| j   | j   j   } t j rxt d | d  t d | d  n  |  j | |  d S(   s+   Checking a large number of fields in tabless   int%di    t   int32t   dflti   t   post   =t   _v_alignR.   s   MetaRecord instancei
   s   Original row list:is   Retrieved row list:N(   R   R   t   appendR   t	   from_typeR+   R-   R,   t   rowt   lent   colnamest   tuplet   flusht   readt   tolistR   R9   R<   RG   (   R3   t	   varnumbert   varnamest   it
   recordDictt   varnameR.   RY   t   listrowst   jt   rowlistt   listout(    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test04_maxFields   s6    
	

	c   	      C@ s!  t  d } g  } x% t |  D] } | j d |  q Wi  } d } x1 | D]) } t j d d d | | <| d 7} qK Wt j d d t j y  |  j	 j
 |  j d | d	  WnI t j k
 r t j rt j   \ } } } t d
  t |  qn X|  j d  t j d d t j d S(   s<   Checking an excess of the maximum number of fields in tablesi   s   int%di    RR   RS   t   errort   categoryR.   s   MetaRecord instances1   
Great!, the next PerformanceWarning was catched!s%   expected an tables.PerformanceWarningt   defaultN(   R   R   RW   R   RX   t   warningst   filterwarningsR7   t   PerformanceWarningR+   R-   R,   R   R9   R:   R;   R<   R=   (	   R3   R`   Ra   Rb   Rc   Rd   R>   R?   R@   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test05_maxFieldsExceeded   s(    
	
c      	   C@ s   i  } t  d d  | d d <t  d d  | d d <t | d  } |  j | d	 k	  |  j t  ! |  j j |  j d | d  Wd	 QXd	 S(
   s>   Checking an excess (256) of the maximum length in column namesRS   i   t   ai   t   bi   s   MetaRecord instanceR.   N(	   R   R   R4   t   Nonet   assertRaisest
   ValueErrorR+   R-   R,   (   R3   Rc   R.   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt#   _test06_maxColumnNameLengthExceeded   s    c         C@ s   i  } t  d d d d  | d d <t  d d d d  | d d <|  j j |  j d	 | d
  } |  j | j d d d  |  j | j d d d  d S(   s)   Checking unlimited length in column namesRS   i   RT   i    Rq   i   Rr   i   R.   s   MetaRecord instanceN(   R   R+   R-   R,   RG   R[   (   R3   Rc   R.   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test06_noMaxColumnNameLength   s    i   (   R   R   RI   t   expectedrowst   maxshortt   maxintt   compressR*   R6   RA   RE   RJ   RQ   Ri   Rp   Rv   Rw   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR%   0   s   							.	&	t   Record2c           B@ s)   e  Z e d  d  Z e   Z e   Z RS(   R   i   (   R   R   R   R    R   R!   R   R"   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR|     s   	t   FiltersTreeTestCasec           B@ s8   e  Z d  Z d Z d   Z d   Z d   Z d   Z RS(   s   A titlei
   c         C@ s!   t  t |   j   |  j   d  S(   N(   R)   R}   R*   t   populateFile(   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR*     s    c      	   C@ s{  |  j  j } xht d  D]Z} |  j  j | d t d |  j d d  } | j } xN t |  j  D]= } d |  j | | d <| | d <| d | d	 <| j	   q_ W| j
   g  | j   D] } | d ^ q } g  | j   D] } | d	 ^ q } |  j  j | d
 | d  |  j  j | d | d  |  j  j | d t d d  d d  }	 |  j  j | d t   d d  }
 |	 j	 |  |
 j	 |  |  j  j | d t d d  d  } |  j  j | d t   d  } | j	 |  | j	 |  | d k r|  j  j | d t |  d |  j } nV | d k rE|  j  j | d t |   } n( |  j  j | d t |  d |  j } | } q Wd  S(   Ni   t   table1RI   t   filterss   %04dR    R!   i   R"   t   array1s   col 1t   array2s   col 3t   earray1R   i   i    t   earray2t   vlarray1t   vlarray2i   R2   (   i    (   i    (   R+   R,   R   R-   R|   RI   Rs   RY   t   nrowsRW   R]   t   iterrowsR/   t   create_earrayR   R   t   create_vlarrayR1   t   strt   gfiltersR   (   R3   R2   Rf   R.   t   dRb   t   xt   var1Listt   var3Listt   ea1t   ea2t   vla1t   vla2t   group2(    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR~     sJ    			

##	"c         C@ s  t  j r1 t d d d  t d |  j j  n  t  j rl t d t |  j   t d t |  j j   n  |  j d k r t	   } n	 |  j } |  j
 t |  t |  j j   d d d	 d
 g } xp | D]h } |  j j |  } t | t  r|  j
 t |  t | j   q |  j
 t |  t | j   q W|  j j j j } |  j d k r|  j d k rst	   } q|  j } n	 |  j } t  j rt d t |   t d t | j   n  |  j
 t |  t | j   d d d d d g } xp | D]h } |  j j |  } t | t  rA|  j
 t |  t | j   q|  j
 t |  t | j   qW|  j d k r|  j d k rt	   } q|  j } n	 |  j } |  j j j j j j } t  j rt d t |   t d t | j   n  |  j
 t |  t | j   d d d d d g } xp | D]h } |  j j |  } t | t  rt|  j
 t |  t | j   q+|  j
 t |  t | j   q+Wd d d d d g } xB | D]: } |  j j |  } |  j
 t t	    t | j   qWd S(   s<   Checking inheritance of filters on trees (open file version)s   
s   -=i   s!   Running %s.test00_checkFilters...s   Test filter:s   Filters in file:s   /table1s   /group0/earray1s   /group0/vlarray1s   /group0s   Test gfilter:s   /group0/group1s   /group0/group1/earray1s   /group0/group1/vlarray1s   /group0/group1/table1s   /group0/group1/group2/table1s   /group0/group1/group2/group3s$   /group0/group1/group2/group3/earray1s%   /group0/group1/group2/group3/vlarray1s#   /group0/group1/group2/group3/table1s#   /group0/group1/group2/group3/group4s   /array1s   /group0/array1s   /group0/group1/array1s   /group0/group1/group2/array1s#   /group0/group1/group2/group3/array1N(   R   R9   R<   t	   __class__R   t   reprR   R+   Rs   R   RG   t   get_nodeR5   R   t
   _v_filtersR,   t   group0t   group1R   R   t   group3(   R3   R   t   nodelistt   nodet   objR   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test00_checkFiltersL  s~    			""#		"#			"#	c   	      C@ s  t  j r1 t d d d  t d |  j j  n  |  j   |  j d k rV t   } n	 |  j } t  j r t d t	 |   t d t	 |  j
 j   n  |  j t	 |  t	 |  j
 j   d d d	 d
 g } xp | D]h } |  j
 j |  } t | t  r|  j t	 |  t	 | j   q |  j t	 |  t	 | j   q W|  j
 j j j } |  j d k r|  j d k rzt   } q|  j } n	 |  j } t  j rt d t	 |   t d t	 | j   n  |  j t	 |  t	 | j   d d d d d g } xp | D]h } |  j
 j |  } t | t  rH|  j t	 |  t	 | j   q|  j t	 |  t	 | j   qW|  j d k r|  j d k rt   } q|  j } n	 |  j } |  j
 j j j j j } t  j rt d t	 |   t d t	 | j   n  t	 |  t	 | j  k d d d d d g } xp | D]h } |  j
 j |  } t | t  ru|  j t	 |  t	 | j   q,|  j t	 |  t	 | j   q,Wd d d d d g } xB | D]: } |  j
 j |  } |  j t	 t    t	 | j   qWd S(   s=   Checking inheritance of filters on trees (close file version)s   
s   -=i   s!   Running %s.test01_checkFilters...s   Test filter:s   Filters in file:s   /table1s   /group0/earray1s   /group0/vlarray1s   /group0s   /group0/group1s   /group0/group1/earray1s   /group0/group1/vlarray1s   /group0/group1/table1s   /group0/group1/group2/table1s   /group0/group1/group2/group3s$   /group0/group1/group2/group3/earray1s%   /group0/group1/group2/group3/vlarray1s#   /group0/group1/group2/group3/table1s#   /group0/group1/group2/group3/group4s   /array1s   /group0/array1s   /group0/group1/array1s   /group0/group1/group2/array1s#   /group0/group1/group2/group3/array1N(   R   R9   R<   R   R   RF   R   Rs   R   R   R+   RG   R   R5   R   R   R,   R   R   R   R   R   (	   R3   R   R   R   t   object_R   R   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test01_checkFilters  s    	
		""#		"#			"#	(   R   R   RI   R   R*   R~   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR}     s   		9	kt   FiltersCase1c           B@ s/   e  Z e   Z e d  d  Z e d e  Z RS(   t	   compleveli   R   (   R   R   R   R   R   t   dictt   open_kwargs(    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR   $  s   	s'   BZIP2 compression library not availablet   FiltersCase2c           B@ s;   e  Z e d  d d d  Z e d  d  Z e d e  Z RS(   R   i   t   complibt   bzip2R   (   R   R   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR   *  s   s%   LZO compression library not availablet   FiltersCase3c           B@ sG   e  Z e d  e d d  Z e d d d  e d d  Z e d e  Z RS(   t   shuffleR   t   zlibR   i   t   lzoR   (	   R   R   R   t   TrueR   t   FalseR   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR   2  s   t   FiltersCase4c           B@ s;   e  Z e d  e  Z e d d d  e  Z e d e  Z RS(   R   R   i   R   (	   R   R   R   R   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR   9  s   t   FiltersCase5c           B@ s;   e  Z e d  e  Z e d d d e  Z e d e  Z RS(   t
   fletcher32R   i   R   R   (	   R   R   R   R   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR   ?  s   t   FiltersCase6c           B@ s2   e  Z d Z e d  d d e  Z e d e  Z RS(   R   i   R   R   N(	   R   R   Rs   R   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR   E  s   t   FiltersCase7c           B@ s,   e  Z e d  d  Z d Z e d e  Z RS(   R   i   R   N(   R   R   R   R   Rs   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR   K  s   t   FiltersCase8c           B@ s#   e  Z d Z d Z e d  e  Z RS(   R   N(   R   R   Rs   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR   Q  s   t   FiltersCase9c           B@ sG   e  Z e d  e d d  Z e d d d  e d d  Z e d e  Z RS(   R   R   R   R   i   R   R   (   R   R   R   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR   W  s   s'   BLOSC compression library not availablet   FiltersCase10c           B@ sM   e  Z e d  e d d d d  Z e d d d  e d d  Z e d e  Z RS(   R   R   i   R   t   blosci   R   (	   R   R   R   R   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR   _  s   t   FiltersCaseBloscBloscLZc           B@ sM   e  Z e d  e d d d d  Z e d d d  e d d  Z e d e  Z RS(   R   R   i   R   s   blosc:blosclzi   R   (	   R   R   R   R   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR   g  s   t   lz4s   lz4 requiredt   FiltersCaseBloscLZ4c           B@ s   e  Z d    Z RS(   c         C@ sh   t  d t d d d d  |  _ t  d d d t d d  |  _ t d |  j  |  _ t t |   j	   d  S(   NR   R   i   R   s	   blosc:lz4i   R   (
   R   R   R   R   R   R   R   R)   R   R*   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR*   s  s    (   R   R   R*   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR   o  s   t   FiltersCaseBloscLZ4HCc           B@ s   e  Z d    Z RS(   c         C@ sh   t  d t d d d d  |  _ t  d d d t d d  |  _ t d |  j  |  _ t t |   j	   d  S(   NR   R   i   R   s   blosc:lz4hci   R   (
   R   R   R   R   R   R   R   R)   R   R*   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR*   ~  s    (   R   R   R*   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR   z  s   t   snappys   snappy requiredt   FiltersCaseBloscSnappyc           B@ s   e  Z d    Z RS(   c         C@ sh   t  d t d d d d  |  _ t  d d d t d d  |  _ t d |  j  |  _ t t |   j	   d  S(   NR   R   i   R   s   blosc:snappyi   R   (
   R   R   R   R   R   R   R   R)   R   R*   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR*     s    (   R   R   R*   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR     s   R   s   zlib requiredt   FiltersCaseBloscZlibc           B@ s   e  Z d    Z RS(   c         C@ sh   t  d t d d d d  |  _ t  d d d t d d  |  _ t d |  j  |  _ t t |   j	   d  S(   NR   R   i   R   s
   blosc:zlibi   R   (
   R   R   R   R   R   R   R   R)   R   R*   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR*     s    (   R   R   R*   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR     s   t   zstds   zstd requiredt   FiltersCaseBloscZstdc           B@ s   e  Z d    Z RS(   c         C@ sh   t  d t d d d d  |  _ t  d d d t d d  |  _ t d |  j  |  _ t t |   j	   d  S(   NR   R   i   R   s
   blosc:zstdi   R   (
   R   R   R   R   R   R   R   R)   R   R*   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR*     s    (   R   R   R*   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR     s   s   BLOSC >= %s requiredt   FiltersCaseBloscBitShufflec        	   B@ sS   e  Z e d  e d d d d  Z e d d d  e d e d d  Z e d e  Z RS(   R   R   i   R   s   blosc:blosclzi   t
   bitshuffleR   (	   R   R   R   R   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR     s   !t   CopyGroupTestCasec           B@ sS   e  Z d  Z d Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   s   A titlei
   c         C@ sK   t  t |   j   t j d  |  _ t j |  j d  |  _ |  j	   d  S(   Ns   .h5t   w(
   R)   R   R*   t   tempfilet   mktempt   h5fname2R7   t	   open_filet   h5file2R~   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR*     s    c      
   C@ sS  |  j  j } d | j _ d | j _ x(t d  D]} xt d  D]} |  j  j | d t |  d d  } |  j  j	 | d t
 d |  j d d  } | j } xN t |  j  D]= } d	 |  j | | d
 <| | d <| d | d <| j   q W| j   d | j _ d | j _ g  | j   D] } | d
 ^ q} g  | j   D] } | d ^ qB}	 |  j  j | d | d  |  j  j | d |	 d  |  j  j | d t d d  d d  }
 |  j  j | d t   d d  } d |
 j _ d | j _ |
 j |  | j |	  qD W|  j  j | d t |  d d  } | } d | j _ d | j _ q1 Wd  S(   Ns   an string for root groupi|   i   i   t   bgroupR   R   RI   s   %04dR    R!   R"   s	   an stringi   R   s   col 1R   s   col 3R   R   i   i    R   s   an string for earrayi{   R2   s   an string for group(   i    (   i    (   R+   R,   t   _v_attrst   attr1t   attr2R   R1   R   Rs   R-   R|   RI   RY   R   RW   R]   t   attrsR   R/   R   R   R   (   R3   R2   Rf   Rb   R   R.   R   R   R   R   R   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR~     sJ    				

##		c         C@ sC   |  j  j r |  j  j   n  t j |  j  t t |   j   d  S(   N(	   R   t   isopent   closet   ost   removeR   R)   R   t   tearDown(   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR      s    c         C@ s6  t  j r1 t d d d  t d |  j j  n  |  j j j j } |  j j	 | |  j
 j d t d |  j |  j r |  j
 j   t j |  j d  |  _
 n  |  j
 j } t | j j    } t | j j    } | j   | j   t  j rt d |  t d	 |  n  |  j | j | j  |  j | |  d
 S(   s&   Checking non-recursive copy of a Groups   
s   -=i   s!   Running %s.test00_nonRecursive...t	   recursiveR   t   rs   The origin node list -->s   The copied node list -->N(   R   R9   R<   R   R   R+   R,   R   R   t   copy_childrenR   R   R   R   R7   R   R   t   listt   _v_childrent   keyst   sortRG   t   _v_nchildren(   R3   t   srcgroupt   dstgroupt	   nodelist1t	   nodelist2(    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test00_nonRecursive  s(    		

	c         C@ sI  t  j r1 t d d d  t d |  j j  n  |  j j j j } | j	 |  j
 j d t d |  j d d |  j r |  j
 j   t j |  j d	  |  _
 n  |  j
 j } x| D]} t | | j  } t | t  r	| j } | j d
  } | j } | j d
  } n0 | j } | j d
  } | j } | j d
  } |  j d k	 rX| j d  n  t  j rt d | j | f  t d | j | f  n  |  j | |  t  j rt d  n  xH | D]@ }	 t t | |	   }
 t t | |	   } |  j |
 |  qW|  j d k	 r+|  j | j |  j  n  t  j r t d  q q Wd S(   s:   Checking non-recursive copy of a Group (attributes copied)s   
s   -=i   s&   Running %s.test01_nonRecursiveAttrs...R   R   t   copyuserattrsi   R   t   allt   FILTERSs   srcattrskeys for node %s: %ss   dstattrskeys for node %s: %ss)   The attrs names has been copied correctlys,   The attrs contents has been copied correctlyN(   R   R9   R<   R   R   R+   R,   R   R   t   _f_copy_childrenR   R   R   R   R7   R   R   t   getattrt   _v_nameR5   R   R   t   _f_listR   Rs   R   RG   R   R   (   R3   R   R   t   srcnodet   dstnodet   srcattrst   srcattrskeyst   dstattrst   dstattrskeyst   srcattrnamet   srcattrvaluet   dstattrvalue(    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test01_nonRecursiveAttrs)  sT    										c         C@ s  t  j r1 t d d d  t d |  j j  n  |  j j } x8 |  j j d  D]$ } | rP |  j j	 | |  } qP qP W|  j j
 |  j  } |  j j
 |  j  } |  j j | | d t d |  j t | j  } | d k r d	 } n  |  j r.|  j j   t j |  j d
  |  _ |  j j
 |  j  } n  t | j  } | d k rRd	 } n  d } g  } x: | j   D], }	 | rd	 } qkn  | j |	 j |  qkWd } g  }
 x: | j   D], }	 | rd	 } qn  |
 j |	 j |  qWt  j r
t d |  t d |
  n  |  j | |
  d S(   s"   Checking recursive copy of a Groups   
s   -=i   s   Running %s.test02_Recursive...t   /R   R   i   i    R   s   The origin node list -->s   The copied node list -->N(   R   R9   R<   R   R   R   R,   R   t   splitR1   R   R+   R   R   R   R   RZ   t   _v_pathnameR   R7   R   R   t   _f_walknodesRW   RG   (   R3   R2   t	   groupnameR   R   t   lenSrcGroupt   lenDstGroupt   firstR   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test02_Recursivee  sP    	
				c   
      C@ s  t  j r1 t d d d  t d |  j j  n  |  j j } x8 |  j j d  D]$ } | rP |  j j	 | |  } qP qP W|  j j
 |  j  } |  j j
 |  j  } | j | d t d |  j t | j  } | d k r d	 } n  |  j r(|  j j   t j |  j d
  |  _ |  j j
 |  j  } n  t | j  } | d k rLd	 } n  d } i  } x: | j   D], }	 | r}d	 } qen  |	 j | | |	 j <qeWd } xx | j   D]j }	 | rd	 } qn  t |	 t  rt |	 j  t | |	 j  k qt |	 j  t | |	 j  k qWd S(   s4   Checking recursive copy of a Group (cheking Filters)s   
s   -=i   s%   Running %s.test03_RecursiveFilters...R   R   R   i   i    R   N(   R   R9   R<   R   R   R   R,   R   R   R1   R   R+   R   R   R   R   RZ   R   R   R7   R   R   R   R   R5   R   R   R   (
   R3   R2   R   R   R   R   R   R   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test03_RecursiveFilters  sL    	
			#(   R   R   RI   R   R*   R~   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR     s   	
	<		!	<	8t   CopyGroupCase1c           B@ s    e  Z d  Z d Z d Z d Z RS(   i    s   /group0/group1R   N(   R   R   R   Rs   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR     s   t   CopyGroupCase2c           B@ s    e  Z d  Z d Z d Z d Z RS(   i   s   /group0/group1R   N(   R   R   R   Rs   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR     s   t   CopyGroupCase3c           B@ s    e  Z d  Z d Z d Z d Z RS(   i    s   /group0s   /group2/group3N(   R   R   R   Rs   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR     s   t   CopyGroupCase4c           B@ s)   e  Z d  Z e d d   Z d Z d Z RS(   i   R   s   /group0s   /group2/group3(   R   R   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR     s   t   CopyGroupCase5c           B@ s#   e  Z d  Z e   Z d Z d Z RS(   i    R   s   /group2/group3(   R   R   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR    s   	t   CopyGroupCase6c           B@ s)   e  Z d  Z e d e  Z d Z d Z RS(   i   R   s   /group0s   /group2/group3(   R   R   R   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR    s   t   CopyGroupCase7c           B@ s/   e  Z d  Z e d d d e  Z d Z d Z RS(   i    R   i   R   R   (   R   R   R   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR    s   t   CopyGroupCase8c           B@ s/   e  Z d  Z e d d  d d  Z d Z d Z RS(   i   R   R   R   R   (   R   R   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR    s   t   CopyFileTestCasec           B@ s\   e  Z d  Z d Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z RS(
   s   A titlei
   c         C@ s3   t  t |   j   t j d  |  _ |  j   d  S(   Ns   .h5(   R)   R  R*   R   R   R   R~   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR*     s    c      
   C@ sS  |  j  j } d | j _ d | j _ x(t d  D]} xt d  D]} |  j  j | d t |  d d  } |  j  j	 | d t
 d |  j d d  } | j } xN t |  j  D]= } d	 |  j | | d
 <| | d <| d | d <| j   q W| j   d | j _ d | j _ g  | j   D] } | d
 ^ q} g  | j   D] } | d ^ qB}	 |  j  j | d | d  |  j  j | d |	 d  |  j  j | d t d d  d d  }
 |  j  j | d t   d d  } d |
 j _ d | j _ |
 j |  | j |	  qD W|  j  j | d t |  d d  } | } d | j _ d | j _ q1 Wd  S(   Ns   an string for root groupi|   i   i   R   R   R   RI   s   %04dR    R!   R"   s	   an stringi   R   s   col 1R   s   col 3R   R   i   i    R   s   an string for earrayi{   R2   s   an string for group(   i    (   i    (   R+   R,   R   R   R   R   R1   R   Rs   R-   R|   RI   RY   R   RW   R]   R   R   R/   R   R   R   (   R3   R2   Rf   Rb   R   R.   R   R   R   R   R   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR~     sL    				

##				c         C@ sy   t  |  d  r+ |  j j r+ |  j j   n  t  |  d  rb t j j |  j  rb t j |  j  n  t	 t
 |   j   d  S(   NR   R   (   t   hasattrR   R   R   R   t   patht   existsR   R   R)   R  R   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR   W  s
    $c      
   C@ sh  t  j r1 t d d d  t d |  j j  n  t |  j d  } | j   |  j j	 |  j d |  j
 d d d	 d
 d d |  j r |  j   n  t j |  j d  |  _ |  j j } |  j j } t | j j    } t | j j    } | j   | j   t  j r%t d |  t d |  n  |  j | j | j  |  j | |  |  j |  j j
 |  j
  d S(   s*   Checking copy of a File (overwriting file)s   
s   -=i   s   Running %s.test00_overwrite...R   RI   t	   overwritei   R   i    R   R   s   The origin node list -->s   The copied node list -->N(   R   R9   R<   R   R   t   openR   R   R+   t	   copy_fileRI   Rs   RF   R7   R   R   R,   R   R   R   R   RG   R   (   R3   t   file2hR   R   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test00_overwritea  s0    	
	

	c         C@ sT   t  j r1 t d d d  t d |  j j  n  |  j t |  j j |  j j	  d S(   s,   Checking copy of a File (srcfile == dstfile)s   
s   -=i   s!   Running %s.test00a_srcdstequal...N(
   R   R9   R<   R   R   Rt   t   IOErrorR+   R  t   filename(   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test00a_srcdstequal  s
    	c         C@ s^  t  j r1 t d d d  t d |  j j  n  |  j j   t j |  j	 |  j
 d |  j d d d d d	 d
 t j |  j	 d  |  _ t j |  j
 d  |  _ |  j j } |  j j } t | j j    } t | j j    } | j   | j   t  j rt d |  t d |  n  |  j | j | j  |  j | |  |  j |  j j |  j  d S(   s.   Checking copy of a File (first-class function)s   
s   -=i   s    Running %s.test00b_firstclass...RI   R   i    R   R	  i   R   s   The origin node list -->s   The copied node list -->N(   R   R9   R<   R   R   R+   R   R7   R  t   h5fnameR   RI   Rs   R   R   R,   R   R   R   R   RG   R   (   R3   R   R   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test00b_firstclass  s(    	

	c         C@ s  t  j r1 t d d d  t d |  j j  n  |  j j |  j d |  j d d d |  j	 |  j
 rr |  j   n  t j |  j d	  |  _ |  j j } |  j j } t | j j    } t | j j    } | j   | j   t  j rt d
 |  t d |  n  |  j | j | j  |  j | |  |  j |  j j |  j  xX| D]P} t | | j  } | j } | j d  } | j }	 |	 j d  }
 |  j	 d k	 r|
 j d  n  t  j rt d | j | f  t d | j |
 f  n  |  j | |
  t  j rt d  n  xH | D]@ } t t | |   } t t |	 |   } |  j | |  qW|  j	 d k	 r|  j |	 j |  j	  n  t  j rLt d  qLqLWd S(   s/   Checking copy of a File (attributes not copied)s   
s   -=i   s   Running %s.test01_copy...RI   R   i    R   R   s   The origin node list -->s   The copied node list -->R:   R   R   s   srcattrskeys for node %s: %ss   dstattrskeys for node %s: %ss)   The attrs names has been copied correctlys,   The attrs contents has been copied correctlyN(   R   R9   R<   R   R   R+   R  R   RI   R   R   RF   R7   R   R   R,   R   R   R   R   RG   R   R   R   R   R   Rs   R   R   R   (   R3   R   R   R   R   R   R   R   R   R   R   R   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test01_copy  sZ    	
	

						c         C@ s  t  j r1 t d d d  t d |  j j  n  |  j j |  j d |  j d d d |  j	 |  j
 rr |  j   n  t j |  j d	  |  _ |  j j } |  j j } xX| D]P} t | | j  } | j } | j d
  } | j } | j d
  } t  j r+t d | j | f  t d | j | f  n  |  j	 d k	 rJ| j d  n  |  j | |  t  j rpt d  n  xH | D]@ }	 t t | |	   }
 t t | |	   } |  j |
 |  qwW|  j	 d k	 r|  j | j |  j	  n  t  j r t d  q q Wd S(   s+   Checking copy of a File (attributes copied)s   
s   -=i   s   Running %s.test02_Attrs...RI   R   i   R   R   R   s   srcattrskeys for node %s: %ss   dstattrskeys for node %s: %sR   s)   The attrs names has been copied correctlys,   The attrs contents has been copied correctlyN(   R   R9   R<   R   R   R+   R  R   RI   R   R   RF   R7   R   R   R,   R   R   R   R   Rs   R   RG   R   R   (   R3   R   R   R   R   R   R   R   R   R   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test02_Attrs  sF    	
						(   R   R   RI   R   R*   R~   R   R  R  R  R  R  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR    s   			=	
	'		"	Ft   CopyFileCase1c           B@ s   e  Z d  Z d Z d Z RS(   i    s   A new titleN(   R   R   R   RI   Rs   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  1  s   t   CopyFileCase2c           B@ s   e  Z d  Z d Z d Z RS(   i   s   A new titleN(   R   R   R   RI   Rs   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  7  s   t   CopyFileCase3c           B@ s#   e  Z d  Z d Z e d d  Z RS(   i    s   A new titleR   i   (   R   R   R   RI   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  =  s   t   CopyFileCase4c           B@ s#   e  Z d  Z d Z e d d   Z RS(   i   s   A new titleR   (   R   R   R   RI   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  C  s   t   CopyFileCase5c           B@ s#   e  Z d  Z d Z e d e  Z RS(   i    s   A new titleR   (   R   R   R   RI   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  I  s   t   CopyFileCase6c           B@ s#   e  Z d  Z d Z e d e  Z RS(   i   s   A new titleR   (   R   R   R   RI   R   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  O  s   t   CopyFileCase7c           B@ s)   e  Z d  Z d Z e d d d d  Z RS(   i    s   A new titleR   i   R   R   (   R   R   R   RI   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  U  s   t   CopyFileCase8c           B@ s)   e  Z d  Z d Z e d d  d d  Z RS(   i   s   A new titleR   R   R   (   R   R   R   RI   R   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  [  s   t   CopyFileCase10c           B@ s   e  Z d    Z RS(   c         C@ s   t  j r1 t d d d  t d |  j j  n  t j d  |  _ t j	 |  j d  |  _
 |  j
 j   z& |  j t |  j j |  j d t Wd t j |  j  Xd S(	   s2   Checking copy of a File (checking not overwriting)s   
s   -=i   s!   Running %s.test01_notoverwrite...s   .h5R   R	  N(   R   R9   R<   R   R   R   R   R   R7   R   R   R   Rt   R  R+   R  R   R   R   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test01_notoverwritec  s    	 (   R   R   R  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  a  s   t   GroupFiltersTestCasec           B@ sq   e  Z e j d  d  Z d   Z d d  Z d   Z d d  Z	 d   Z
 d   Z d   Z d	   Z d
   Z RS(   R   i   c      	   C@ s?  t  t |   j   t j   d } } |  j j } |  j j } | d d  | d d  | d d d | d | | d d d | d | d	 t j   | d d
 d | d | d	 |  j	 | d d
 d	 |  j	 | d d  | d d d | d | | d d
 d | d | d	 |  j	 | d d d | d | d	 t j   d  S(   Ni   R   t   implicit_nos   /implicit_nos   /implicit_no/implicit_not   atomt   shapet   explicit_noR   t   explicit_yess   /explicit_yest   implicit_yess   /explicit_yes/implicit_yes(   i   i   (
   R)   R  R*   R7   t   IntAtomR+   R1   t   create_carrayR   R   (   R3   R!  R"  R1   R'  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR*   |  s(    c         C@ s   x | D] } t  | d  r( | j } n	 | j } | d  k	 rQ |  j | |  d  S| j j d  r |  j | t j   d | j	  q | j j d  r |  j | |  j d | j	  q q Wd  S(   NR   t   _nos"   node ``%s`` should have no filterst   _yess   node ``%s`` should have filters(
   R  R   R   Rs   RG   R   t   endswithR7   R   R   (   R3   R+   R   R   t   node_filters(    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   _check_filters  s    		c         C@ s   |  j  |  j  d S(   s    Filters propagating to children.N(   R,  R+   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test00_propagate  s    c         C@ su   t  j d d  } zN |  j j | d | z& t j |  } |  j | d | Wd  | j   XWd  t j	 |  Xd  S(   Nt   suffixs   .h5R   (
   R   R   R+   R  R7   R   R,  R   R   R   (   R3   R   t	   copyfnamet   copyf(    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   _test_copyFile  s    c         C@ s   |  j    d S(   s$   Keeping filters when copying a file.N(   R1  (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test01_copyFile  s    c         C@ s   |  j  |  j  d S(   s'   Overriding filters when copying a file.N(   R1  R   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test02_copyFile_override  s    c         C@ s   |  j  j |  } t j   } | j d  r9 |  j } n  |  j | j |  | |  |  j | j |  |  j   r |  j  j |  } n  |  j | j |  d  S(   NR)  (	   R+   R   R7   R   R*  R   RG   R   RF   (   R3   t   pathnamet   change_filterst   new_filtersR2   t   old_filters(    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   _test_change  s    
c         @ s)     f d   }   j  d |   j  d S(   s    Changing the filters of a group.c         @ s     j  |  _ d  S(   N(   R   R   (   R2   (   R3   (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   set_filters  s    R   N(   R8  R   (   R3   R9  (    (   R3   s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test03_change  s    c         C@ s&   d   } |  j  d | t j    d S(   s    Deleting the filters of a group.c         S@ s
   |  `  d  S(   N(   R   (   R2   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   del_filters  s    s   /explicit_yesN(   R8  R7   R   (   R3   R;  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test04_delete  s    	N(   R   R   R7   R   R   R*   Rs   R,  R-  R1  R2  R3  R8  R:  R<  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  y  s   						s   BLOSC not availablet   SetBloscMaxThreadsTestCasec           B@ s2   e  Z e j d  d d d  Z d   Z d   Z RS(   R   i   R   R   c      	   C@ s   t  j d  } t j r? t d |  t d |  j j d  n  |  j | |  j j d  |  j j d d d t  j	   d d d
 |  j
 t  j d  } t j r t d |  t d d  n  |  j | d  d S(   s    Checking set_blosc_max_threads()i   s   Previous max threads:s
   Should be:t   MAX_BLOSC_THREADSR   t
   some_arrayR!  R"  i   R   i   N(   i   i   (   R7   t   set_blosc_max_threadsR   R9   R<   R+   t   paramsRG   R'  t	   Int32AtomR   (   R3   t   nthreads_old(    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test00  s    	
	c      	   C@ s   t  j d  } |  j j d d d t  j   d d d |  j |  j   t  j d  } t j r t	 d |  t	 d	 |  j j
 d
  n  |  j | |  j j
 d
  d S(   s*   Checking set_blosc_max_threads() (re-open)i   R   R?  R!  R"  i   R   s   Previous max threads:s
   Should be:R>  N(   i   i   (   R7   R@  R+   R'  RB  R   RF   R   R9   R<   RA  RG   (   R3   RC  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test01  s    

	(   R   R   R7   R   R   RD  RE  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR=    s   	t   FilterTestCasec           B@ sh   e  Z d    Z e d    Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d	   Z RS(
   c         C@ s&   |  j  t t   j    t j  d  S(   N(   RG   R>   R   t   _packt   numpyt   int64(   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_filter_pack_type  s    c         C@ s@   t  j d d k r# t t |    St t |    j d  Sd  S(   Ni    i   t   L(   R:   t   version_infot   hext   intt   rstrip(   t   n(    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   _hexl  s    c         C@ s,   t    } |  j |  j | j    d  d  S(   Nt   0x0(   R   RG   RQ  RG  (   R3   t   filter_(    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_filter_pack_01  s    	c         C@ s5   t  d d t } |  j |  j | j    d  d  S(   Ni   R   t   0x101(   R   R   RG   RQ  RG  (   R3   RS  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_filter_pack_02  s    c         C@ s>   t  d d d t d t } |  j |  j | j    d  d  S(   Ni	   R   R   R   t   0x30109(   R   R   RG   RQ  RG  (   R3   RS  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_filter_pack_03  s    c         C@ s;   t  d d t d d } |  j |  j | j    d  d  S(   Ni   R   t   least_significant_digiti   t	   0x5040101(   R   R   RG   RQ  RG  (   R3   RS  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_filter_pack_04#  s    c         C@ su   t  j t j d   } |  j | j  |  j | j  |  j | j d   |  j | j
 d  |  j | j d   d  S(   Ni    (   R   t   _unpackRH  RI  t   assertFalseR   R   RG   RY  Rs   R   R   (   R3   RS  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_filter_unpack_01'  s    c         C@ su   t  j t j d   } |  j | j  |  j | j  |  j | j d   |  j | j
 d  |  j | j d  d  S(   Ni  i   R   (   R   R\  RH  RI  R]  R   R   RG   RY  Rs   R   R   (   R3   RS  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_filter_unpack_02/  s    c         C@ su   t  j t j d   } |  j | j  |  j | j  |  j | j d   |  j | j
 d  |  j | j d  d  S(   Ni	 i	   R   (   R   R\  RH  RI  R4   R   R   RG   RY  Rs   R   R   (   R3   RS  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_filter_unpack_037  s    c         C@ su   t  j t j d   } |  j | j  |  j | j  |  j | j d  |  j | j	 d  |  j | j
 d  d  S(   Nii   i   R   (   R   R\  RH  RI  R]  R   R   RG   RY  R   R   (   R3   RS  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_filter_unpack_04?  s    (   R   R   RJ  t   staticmethodRQ  RT  RV  RX  R[  R^  R_  R`  Ra  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyRF    s   								t   DefaultDriverTestCasec           B@ s\   e  Z d Z i  Z e d  e e  Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z RS(   t   driverc         C@ s   t  t |   j   |  j j } |  j j | d d  |  j j | d d d g d d |  j j | d i t j	   d 6d d d  S(	   Nt   testattri)   R0   i   i   RI   R.   R    (
   R)   Rc  R*   R+   R,   t   set_node_attrR/   R-   R7   R   (   R3   R,   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR*   M  s    ""c         C@ s    |  j  t j j |  j   d  S(   N(   R4   R   R  t   isfileR  (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   assertIsFileW  s    c         C@ s*   |  j  t |  j t j   |  j   d  S(   N(   R4   R5   R+   R7   t   FileRh  (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_newFileZ  s    c         C@ s  |  j  j   d  |  _  |  j   t j |  j d d d |  j |  j |  _  |  j  j	 } |  j
 |  j  j | d  d  |  j t | j t j   |  j
 | j j d  |  j t | j t j   |  j
 | j j d  |  j d | j j k  |  j
 | j j j j t j   j  d  S(	   Nt   modeR   Rd  Re  i)   R0   R.   R    (   R+   R   Rs   Rh  R7   R   R  t   DRIVERt   DRIVER_PARAMSR,   RG   t   get_node_attrR4   R5   R0   R   RH   R.   R   R[   t   colsR    t   dtypeR   (   R3   R,   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_readFile^  s    	
c         C@ s5  |  j  j   d  |  _  |  j   t j |  j d d d |  j |  j |  _  |  j  j	 } |  j
 |  j  j | d  d  |  j t | j t j   |  j
 | j j d  |  j t | j t j   |  j
 | j j d  |  j d | j j k  |  j
 | j j j j t j   j  |  j  j	 } |  j  j | d	 d
  |  j  j | d d d g d d |  j  j | d i t j   d 6d d |  j d d d |  j |  j  |  j  j	 } |  j
 |  j  j | d  d  |  j
 |  j  j | d	  d
  |  j t | j t j   |  j
 | j j d  |  j t | j t j   |  j
 | j j d  |  j t | j t j   |  j
 | j j d  |  j d | j j k  |  j
 | j j j j t j   j  |  j t | j t j   |  j
 | j j d  |  j d | j j k  |  j
 | j j j j t j   j  d  S(   NRk  Rq   Rd  Re  i)   R0   R.   R    t	   testattr2i*   R   i   i   RI   t   table2R!   (    R+   R   Rs   Rh  R7   R   R  Rl  Rm  R,   RG   Rn  R4   R5   R0   R   RH   R.   R   R[   Ro  R    Rp  R   Rf  R/   R-   R   RF   R   Rs  R!   (   R3   R,   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_openFileAv  sF    	
%""%c         C@ s)  |  j  j   d  |  _  |  j   t j |  j d d d |  j |  j |  _  |  j  j	 } |  j
 |  j  j | d  d  |  j t | j t j   |  j
 | j j d  |  j t | j t j   |  j
 | j j d  |  j d | j j k  |  j
 | j j j j t j   j  |  j  j | d	 d
  |  j  j | d d d g d d |  j  j | d i t j   d 6d d |  j d d d |  j |  j  |  j  j	 } |  j
 |  j  j | d  d  |  j
 |  j  j | d	  d
  |  j t | j t j   |  j
 | j j d  |  j t | j t j   |  j
 | j j d  |  j t | j t j   |  j
 | j j d  |  j d | j j k  |  j
 | j j j j t j   j  |  j t | j t j   |  j
 | j j d  |  j d | j j k  |  j
 | j j j j t j   j  d  S(   NRk  s   r+Rd  Re  i)   R0   R.   R    Rr  i*   R   i   i   RI   Rs  R!   (    R+   R   Rs   Rh  R7   R   R  Rl  Rm  R,   RG   Rn  R4   R5   R0   R   RH   R.   R   R[   Ro  R    Rp  R   Rf  R/   R-   R   RF   R   Rs  R!   (   R3   R,   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_openFileRW  sD    	
%""%N(   R   R   Rs   Rl  Rm  R   R   R*   Rh  Rj  Rq  Rt  Ru  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyRc  H  s   	
				7s   1.8.9s   requires HDF5 >= 1.8,9t   Sec2DriverTestCasec           B@ s,   e  Z d  Z e d e e j  Z d   Z RS(   t	   H5FD_SEC2Rd  c         C@ s   |  j  j   } |  j t |  d k  t j d d k  rw |  j g  | d  D] } t |  ^ qL d d d d g  n3 |  j g  | d  D] } | ^ q d d d d g  d  S(   Ni    i   i   i   iH   iD   iF   (   R+   t   get_file_imageR4   RZ   R:   RL  RG   t   ord(   R3   t   imageRb   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_get_file_image  s    0(   R   R   Rl  R   Rc  Rm  R   R{  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyRv    s   t   StdioDriverTestCasec           B@ s,   e  Z d  Z e d e e j  Z d   Z RS(   t
   H5FD_STDIORd  c         C@ s   |  j  j   } |  j t |  d k  t j d d k  rw |  j g  | d  D] } t |  ^ qL d d d d g  n3 |  j g  | d  D] } | ^ q d d d d g  d  S(   Ni    i   i   i   iH   iD   iF   (   R+   Rx  R4   RZ   R:   RL  RG   Ry  (   R3   Rz  Rb   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR{    s    0(   R   R   Rl  R   Rc  Rm  R   R{  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR|    s   t   CoreDriverTestCasec           B@ s,   e  Z d  Z e d e e j  Z d   Z RS(   t	   H5FD_CORERd  c         C@ s   |  j  j   } |  j t |  d k  t j d d k  rw |  j g  | d  D] } t |  ^ qL d d d d g  n3 |  j g  | d  D] } | ^ q d d d d g  d  S(   Ni    i   i   i   iH   iD   iF   (   R+   Rx  R4   RZ   R:   RL  RG   Ry  (   R3   Rz  Rb   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR{    s    0(   R   R   Rl  R   Rc  Rm  R   R{  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR~    s   t    CoreDriverNoBackingStoreTestCasec           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 e j e d k  d  d    Z RS(   R  c         C@ s5   t  t |   j   t j d d  |  _ d  |  _ d  S(   NR.  s   .h5(   R)   R  R*   R   R   R  Rs   R+   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR*     s    c         C@ s   |  j  r |  j  j   nK |  j t j j k rd t j j } x' | j |  j  D] } | j   qM Wn  d  |  _  t j	 j
 |  j  r t j |  j  n  t t |   j   d  S(   N(   R+   R   R  R7   t   filet   _open_filest   get_handlers_by_nameRs   R   R  Rg  R   R)   R  R   (   R3   t
   open_filesR+   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR     s    		c         C@ s   |  j  t j j |  j   t j |  j d d d |  j d t |  _	 |  j	 j
 } |  j	 j | d d  |  j	 j | d d d	 g d
 d |  j	 j | d i t j   d 6d
 d |  j	 j   |  j  t j j |  j   d S(   s'   Ensure that nothing is written to file.Rk  R   Rd  t   driver_core_backing_storeRe  i)   R0   i   i   RI   R.   R    N(   R]  R   R  Rg  R  R7   R   Rl  R   R+   R,   Rf  R/   R-   R   R   (   R3   R,   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyRj  (  s    	""c         C@ s  |  j  t j j |  j   t j |  j d d d |  j d t |  _	 |  j	 j
 } |  j	 j | d d  |  j	 j | d d d	 g d
 d |  j	 j | d i t j   d 6d
 d |  j |  j	 j | d  d  |  j t | j t j   |  j | j j d  |  j t | j t j   |  j | j j d  |  j d | j j k  |  j | j j j j t j   j  |  j	 j   |  j  t j j |  j   d  S(   NRk  R   Rd  R  Re  i)   R0   i   i   RI   R.   R    (   R]  R   R  Rg  R  R7   R   Rl  R   R+   R,   Rf  R/   R-   R   RG   Rn  R4   R5   R0   R   RH   R.   R   R[   Ro  R    Rp  R   (   R3   R,   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_readNewFileW;  s$    	""%c         C@ s  |  j  t j j |  j   t j |  j d d d |  j d t |  _	 |  j	 j
 } |  j	 j | d d  |  j	 j | d d d	 g d
 d |  j	 j | d i t j   d 6d
 d |  j |  j	 j | d  d  |  j t | j t j   |  j | j j d  |  j t | j t j   |  j | j j d  |  j d | j j k  |  j | j j j j t j   j  |  j	 j   |  j  t j j |  j   d  S(   NRk  Rq   Rd  R  Re  i)   R0   i   i   RI   R.   R    (   R]  R   R  Rg  R  R7   R   Rl  R   R+   R,   Rf  R/   R-   R   RG   Rn  R4   R5   R0   R   RH   R.   R   R[   Ro  R    Rp  R   (   R3   R,   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_readNewFileAV  s$    	""%c      
   C@ sQ   |  j  t j j |  j   |  j t j t j |  j d d d |  j	 d t
 d  S(   NRk  s   r+Rd  R  (   R]  R   R  Rg  R  Rt   R7   t   HDF5ExtErrorR   Rl  R   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_openNewFileRWq  s    c      
   C@ sQ   |  j  t j j |  j   |  j t j t j |  j d d d |  j	 d t
 d  S(   NRk  R   Rd  R  (   R]  R   R  Rg  R  Rt   R7   R  R   Rl  R   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_openNewFileRw  s    c         C@ s   t  j | d d } | j } | j | d d  | j | d d d g d d | j | d	 i t  j   d
 6d d	 | j   d  S(   NRk  R   Re  i)   R0   i   i   RI   R.   R    (   R7   R   R,   Rf  R/   R-   R   R   (   R3   R  R+   R,   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   _create_file}  s    	c         C@ s'  |  j  |  j  |  j t j j |  j   t j |  j d d d |  j d t	 |  _
 |  j
 j } |  j |  j
 j | d  d  |  j t | j t j   |  j | j j d  |  j t | j t j   |  j | j j d  |  j d	 | j j k  |  j | j j j j t j   j  d  S(
   NRk  R   Rd  R  Re  i)   R0   R.   R    (   R  R  R4   R   R  Rg  R7   R   Rl  R   R+   R,   RG   Rn  R5   R0   R   RH   R.   R   R[   Ro  R    Rp  R   (   R3   R,   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyRq    s    	c         C@ sS   t  j   } t | d  } x | D] } | j |  q" W| j   | j   } | S(   Nt   rb(   t   hashlibt   md5R
  t   updateR   t	   hexdigest(   R3   R  R  t   fdt   dataR  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   _get_digest  s    
c         C@ s  |  j  |  j  |  j t j j |  j   |  j |  j  } t j |  j d d d |  j	 d t
 |  _ |  j j } |  j |  j j | d  d  |  j t | j t j   |  j | j j d  |  j t | j t j   |  j | j j d  |  j d	 | j j k  |  j | j j j j t j   j  |  j j } |  j j | d
 d  |  j j | d d d g d d |  j j | d i t j   d 6d d |  j j   |  j | |  j |  j   d  S(   NRk  Rq   Rd  R  Re  i)   R0   R.   R    Rr  i*   R   i   i   RI   Rs  R!   (   R  R  R4   R   R  Rg  R  R7   R   Rl  R   R+   R,   RG   Rn  R5   R0   R   RH   R.   R   R[   Ro  R    Rp  R   Rf  R/   R-   R   R   (   R3   R  R,   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyRt    s*    	%""c         C@ s  |  j  |  j  |  j t j j |  j   |  j |  j  } t j |  j d d d |  j	 d t
 |  _ |  j j } |  j |  j j | d  d  |  j t | j t j   |  j | j j d  |  j t | j t j   |  j | j j d  |  j d	 | j j k  |  j | j j j j t j   j  |  j j } |  j j | d
 d  |  j j | d d d g d d |  j j | d i t j   d 6d d |  j j   |  j | |  j |  j   d  S(   NRk  s   r+Rd  R  Re  i)   R0   R.   R    Rr  i*   R   i   i   RI   Rs  R!   (   R  R  R4   R   R  Rg  R  R7   R   Rl  R   R+   R,   RG   Rn  R5   R0   R   RH   R.   R   R[   Ro  R    Rp  R   Rf  R/   R-   R   R   (   R3   R  R,   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyRu    s*    	%""s   1.8.9s   HDF5 >= "1.8.9" requiredc         C@ sE  t  j |  j d d d |  j d t |  _ |  j j } |  j j | d d  |  j j | d d d	 g d
 d |  j j	 | d i t  j
   d 6d
 d |  j j   } |  j t |  d k  t j d d k  r|  j g  | d  D] } t |  ^ q d d d d g  n3 |  j g  | d  D] } | ^ qd d d d g  d  S(   NRk  R   Rd  R  Re  i)   R0   i   i   RI   R.   R    i    i   i   i   iH   iD   iF   (   R7   R   R  Rl  R   R+   R,   Rf  R/   R-   R   Rx  R4   RZ   R:   RL  RG   Ry  (   R3   R,   Rz  Rb   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR{    s    	""0(   R   R   Rl  R*   R   Rj  R  R  R  R  R  Rq  R  Rt  Ru  R   t   skipIfR   R{  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR    s   											$	$t   SplitDriverTestCasec           B@ sX   e  Z d  Z i d d 6d d 6Z e d e e  Z d   Z d   Z d   Z d	   Z	 RS(
   t
   H5FD_SPLITs   -xm.h5t   driver_split_meta_exts   -xr.h5t   driver_split_raw_extRd  c         C@ s   t  j d |  j    S(   Nt   prefix(   R   R   t   _getName(   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   _getTempFileName  s    c         C@ sA   t  t |   j   g  d D] } |  j |  j | ^ q |  _ d  S(   NR  R  (   R  R  (   R)   R  R*   R  Rm  t   h5fnames(   R3   t   k(    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR*     s    c         C@ sT   |  j  j   x3 |  j D]( } t j j |  r t j |  q q Wt j |   d  S(   N(	   R+   R   R  R   R  Rg  R   t   TestCaseR   (   R3   t   fname(    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR     s
    c         C@ s1   x* |  j  D] } |  j t j j |   q
 Wd  S(   N(   R  R4   R   R  Rg  (   R3   R  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyRh    s    (
   R   R   Rl  Rm  R   R   R  R*   R   Rh  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR    s   
			t   NotSpportedDriverTestCasec           B@ s5   e  Z d Z i  Z e Z d    Z d   Z d   Z	 RS(   c         C@ s,   t  t |   j   t j d d  |  _ d  S(   NR.  s   .h5(   R)   R  R*   R   R   R  (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR*   )  s    c         C@ s   t  j j } |  j | k rE x' | j |  j  D] } | j   q. Wn  t j j |  j  rm t j	 |  j  n  t
 t |   j   d  S(   N(   R7   R  R  R  R  R   R   R  R  R   R)   R  R   (   R3   R  R+   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR   -  s    c      	   C@ sQ   |  j  |  j t j |  j d d d |  j |  j |  j t j	 j
 |  j   d  S(   NRk  R   Rd  (   Rt   t	   EXCEPTIONR7   R   R  Rl  Rm  R]  R   R  Rg  (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyRj  6  s    N(
   R   R   Rs   Rl  Rm  Ru   R  R*   R   Rj  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  $  s   			t   H5FD_LOGt   LogDriverTestCasec           B@ s5   e  Z d  Z e d e e j  Z d   Z d   Z RS(   R  Rd  c         C@ s3   i t  j d d  d 6|  _ t t |   j   d  S(   NR.  s   .logt   driver_log_file(   R   R   Rm  R)   R  R*   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR*   G  s    c         C@ sG   t  j j |  j d  r0 t  j |  j d  n  t t |   j   d  S(   NR  (   R   R  R  Rm  R   R)   R  R   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR   O  s    (	   R   R   Rl  R   t   BaseLogDriverTestCaseRm  R   R*   R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  C  s   	t   DirectDriverTestCasec           B@ s#   e  Z d  Z e d e e j  Z RS(   t   H5FD_DIRECTRd  (   R   R   Rl  R   Rc  Rm  R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  V  s   c           B@ s   e  Z d  Z e Z RS(   R  (   R   R   Rl  t   RuntimeErrorR  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  ]  s   t   WindowsDriverTestCasec           B@ s#   e  Z d  Z e d e e j  Z RS(   t   H5FD_WINDOWSRd  (   R   R   Rl  R   Rc  Rm  R   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  c  s   c           B@ s   e  Z d  Z e Z RS(   R  (   R   R   Rl  R  R  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  j  s   t   FamilyDriverTestCasec           B@ s   e  Z d  Z RS(   t   H5FD_FAMILY(   R   R   Rl  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  o  s   t   MultiDriverTestCasec           B@ s   e  Z d  Z RS(   t
   H5FD_MULTI(   R   R   Rl  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  s  s   t   MpioDriverTestCasec           B@ s   e  Z d  Z RS(   t	   H5FD_MPIO(   R   R   Rl  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  w  s   t   MpiPosixDriverTestCasec           B@ s   e  Z d  Z RS(   t   H5FD_MPIPOSIX(   R   R   Rl  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  {  s   t   StreamDriverTestCasec           B@ s   e  Z d  Z RS(   t   H5FD_STREAM(   R   R   Rl  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR    s   s   HDF5 >= "1.8.9" requiredt   InMemoryCoreDriverTestCasec           B@ sz   e  Z d  Z d   Z d   Z d d d d  Z d   Z d   Z d	   Z d
   Z	 d   Z
 d   Z d   Z d   Z RS(   R  c         C@ s2   t  t |   j   t j d  |  _ d  |  _ d  S(   Ns   .h5(   R)   R  R*   R   R   R  Rs   R+   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR*     s    c         C@ sa   |  j  r |  j  j   n  d  |  _  t j j |  j  rJ t j |  j  n  t t	 |   j
   d  S(   N(   R+   R   Rs   R   R  Rg  R  R   R)   R  R   (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR     s    		s	   in-memoryt   TitleR   c      
   C@ s   t  j | d | d | d |  j d d } zd | j | j d d d g d d	 | j | j d
 i t   d 6d  d | j j _ | j	   } Wd  | j
   X| S(   NRk  RI   Rd  R  i    R0   i   i   R   R.   R    R   i)   (   R7   R   Rl  R/   R,   R-   R   R   Re  Rx  R   (   R3   R  RI   Rk  R+   Rz  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   _create_image  s    		"c         C@ s   |  j  |  j d d } |  j t |  d k  t j d d k  r |  j g  | d  D] } t |  ^ qU d d d d	 g  n3 |  j g  | d  D] } | ^ q d d d d	 g  |  j t	 j
 j |  j   d  S(
   NRk  R   i    i   i   i   iH   iD   iF   (   R  R  R4   RZ   R:   RL  RG   Ry  R]  R   R  R  (   R3   Rz  Rb   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_newFileW  s    <3c         C@ s   |  j  |  j d d } |  j t |  d k  t j d d k  r |  j g  | d  D] } t |  ^ qU d d d d	 g  n3 |  j g  | d  D] } | ^ q d d d d	 g  |  j t	 j
 j |  j   d  S(
   NRk  Rq   i    i   i   i   iH   iD   iF   (   R  R  R4   RZ   R:   RL  RG   Ry  R]  R   R  R  (   R3   Rz  Rb   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_newFileA  s    <3c      
   C@ sy  |  j  |  j  } |  j t j j |  j   t j |  j d d d |  j d | d d |  _	 |  j
 t |  j	 j j d   |  j |  j	 j d d  d	  |  j
 t |  j	 j j d
   |  j |  j	 j d d
  d  |  j
 t |  j	 j d   |  j |  j	 j d d  d  |  j
 t |  j	 j d   |  j |  j	 j d d  d  |  j |  j	 j j j   d d g  d  S(   NRk  R   Rd  t   driver_core_imageR  i    RL   R   R  Re  i)   R0   s   /arrayR   R.   s   /tableR   i   i   (   R  R  R]  R   R  R  R7   R   Rl  R+   R4   R  R,   R   RG   Rn  R0   R^   (   R3   Rz  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_openFileR  s    	c      
   C@ s  |  j  |  j  } |  j t j j |  j   t j |  j d d d |  j d | d d |  _	 |  j
 t |  j	 j j d   |  j |  j	 j d d  d	  |  j
 t |  j	 j j d
   |  j |  j	 j d d
  d  |  j
 t |  j	 j d   |  j |  j	 j d d  d  |  j
 t |  j	 j d   |  j |  j	 j d d  d  |  j |  j	 j j j   d d g  |  j	 j |  j	 j d t t d   d d d |  j	 j j _ |  j	 j   |  j t j j |  j   d  S(   NRk  s   r+Rd  R  R  i    RL   R   R  Re  i)   R0   s   /arrayR   R.   s   /tableR   i   i   R   i'  RI   t   Array2i*   (   R  R  R]  R   R  R  R7   R   Rl  R+   R4   R  R,   R   RG   Rn  R0   R^   R/   R   R   Rr  R   (   R3   Rz  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyRu    s(    	%'c      
   C@ sA  t  j d  } |  j |  } |  j t j j |  j   t j	 |  j d d d |  j
 d | d d |  _ |  j t |  j j j d   |  j |  j j d	 d  d
  |  j t |  j j j d   |  j |  j j d	 d  d  |  j t |  j j d   |  j |  j j d d  d  |  j t |  j j d   |  j |  j j d d  d  |  j |  j j j j   d d g  t t d t j j   } |  j j |  j j d | d d d |  j j j _ |  j j   } |  j j   |  j t j j |  j   |  j t |  t |   |  j | |  t j	 |  j d d d |  j
 d | d d |  _ |  j t |  j j j d   |  j |  j j d	 d  d
  |  j t |  j j j d   |  j |  j j d	 d  d  |  j t |  j j d   |  j |  j j d d  d  |  j t |  j j d   |  j |  j j d d  d  |  j |  j j j j   d d g  |  j t |  j j j d   |  j |  j j d	 d  d  |  j t |  j j d   |  j |  j j d d  d  |  j |  j j j j   |  |  j j   |  j t j j |  j   d  S(   Ns   .h5Rk  s   r+Rd  R  R  i    RL   R   R  Re  i)   R0   s   /arrayR   R.   s   /tableR   i   i   R   RI   R  i*   R   Rr  s   /array2(   R   R   R  R]  R   R  R  R  R7   R   Rl  R+   R4   R  R,   R   RG   Rn  R0   R^   R   R   t
   parameterst   DRIVER_CORE_INCREMENTR/   Rr  Rx  R   t   assertNotEqualRZ   R   (   R3   R  t   image1R  t   image2(    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_openFileRW_update  s\    	%	%c      
   C@ s  |  j  |  j  } |  j t j j |  j   t j |  j d d d |  j d | d d |  _	 |  j
 t |  j	 j j d   |  j |  j	 j d d  d	  |  j
 t |  j	 j j d
   |  j |  j	 j d d
  d  |  j
 t |  j	 j d   |  j |  j	 j d d  d  |  j
 t |  j	 j d   |  j |  j	 j d d  d  |  j |  j	 j j j   d d g  |  j	 j   |  j t j j |  j   d  S(   NRk  Rq   Rd  R  R  i    RL   R   R  Re  i)   R0   s   /arrayR   R.   s   /tableR   i   i   (   R  R  R]  R   R  R  R7   R   Rl  R+   R4   R  R,   R   RG   Rn  R0   R^   R   (   R3   Rz  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyRt  *	  s"    	%c      
   C@ sA  t  j d  } |  j |  } |  j t j j |  j   t j	 |  j d d d |  j
 d | d d |  _ |  j t |  j j j d   |  j |  j j d	 d  d
  |  j t |  j j j d   |  j |  j j d	 d  d  |  j t |  j j d   |  j |  j j d d  d  |  j t |  j j d   |  j |  j j d d  d  |  j |  j j j j   d d g  t t d t j j   } |  j j |  j j d | d d d |  j j j _ |  j j   } |  j j   |  j t j j |  j   |  j t |  t |   |  j | |  t j	 |  j d d d |  j
 d | d d |  _ |  j t |  j j j d   |  j |  j j d	 d  d
  |  j t |  j j j d   |  j |  j j d	 d  d  |  j t |  j j d   |  j |  j j d d  d  |  j t |  j j d   |  j |  j j d d  d  |  j |  j j j j   d d g  |  j t |  j j j d   |  j |  j j d	 d  d  |  j t |  j j d   |  j |  j j d d  d  |  j |  j j j j   |  |  j j   |  j t j j |  j   d  S(   Ns   .h5Rk  Rq   Rd  R  R  i    RL   R   R  Re  i)   R0   s   /arrayR   R.   s   /tableR   i   i   R   RI   R  i*   R   Rr  s   /array2(   R   R   R  R]  R   R  R  R  R7   R   Rl  R+   R4   R  R,   R   RG   Rn  R0   R^   R   R   R  R  R/   Rr  Rx  R   R  RZ   R   (   R3   R  R  R  R  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_openFileA_updateC	  s\    	%	%c      
   C@ s   t  j |  j d d d d d |  j d d |  _ |  j j |  j j d d	 d
 g d d |  j j |  j j d i t   d 6d  d |  j j j	 _
 |  j t |  j  d  k	  |  j j   |  j t j j |  j   d  S(   NRk  R   RI   R  Rd  R  i    R0   i   i   R   R.   R    R   i)   (   R7   R   R  Rl  R+   R/   R,   R-   R   R   Re  R4   R   Rs   R   R]  R   R  R  (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test_str	  s    	!"(   R   R   Rl  R*   R   R  R  R  R  Ru  R  Rt  R  R  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR    s   										@		@t   QuantizeTestCasec           B@ sM   e  Z d  Z d Z d Z d Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   R   s   This is the table titlei
   i   c         C@ s5  t  t |   j   t j d d d  |  _ t j j d  |  _ t j j	 d d d  j
 d  |  _ |  j   |  j j   t j d g d d g d	 d
 g d d g d	 d g d d g d	 d g d d g d	 d g d d g d	 d g d  |  _ t j d g d d g d d g d  |  _ d  S(   Ng      g      @i)   i@B iRI  i   g      i   g      i   g       g      g        g      ?g       @g      @g      @g       i   i!   g       @(   R)   R  R*   RH  t   linspaceR  t   randomt   random_samplet
   randomdatat   randintt   astypet
   randomintsR~   R+   R   t   asarrayt   quantizeddata_0t   quantizeddata_m1(   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR*   	  s    
c   	      C@ s  |  j  j } t d d d d d d  } |  j  j | d t   d d | } |  j | (|  j  j | d	 t   d d | } |  j | (|  j  j | d
 t   d d | } |  j	 | (t d d d d d d  } |  j  j | d t   d d | } |  j	 | (t d d d d d d  } |  j  j | d t   d d | } |  j	 | (t d d d d d d  } |  j  j | d t   d d | } |  j	 | (d  S(   NR   i   R   R   RY  t   integersi@B R   t   floatst   data1i)   i    t   data0i   t   data2it   datam1(   i@B (   i@B (   i)   (   i)   (   i)   (   i)   (
   R+   R,   R   R'  R	   R  R
   R  R   R  (	   R3   R,   R   t   intsR  R  R  R  R  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR~   	  s6    	


	
	
	c         C@ s   t  |  j d  } t  |  j d  } t  |  j d  } t  |  j d  } t j j | |  j  t j j | |  j  t j j | |  j  t j j | |  j  d S(   s!   Checking the quantize() function.i    i   i   iN(   R   R  RH  t   testingt   assert_array_equalR  R  (   R3   t   quantized_0t   quantized_1t   quantized_2t   quantized_m1(    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test00_quantizeData	  s    c         C@ s   t  |  j d  } t  |  j d  } t  |  j d  } t  |  j d  } |  j t j | |  j  j   d k   |  j t j | |  j  j   d k   |  j t j | |  j  j   d k   |  j t j | |  j  j   d k   d	 S(
   sA   Checking the maximum error introduced by the quantize() function.i    i   i   ig      ?g?g{Gzt?g      ?N(   R   R  R4   RH  t   abst   max(   R3   R  R  R  R  (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test01_quantizeDataMaxError	  s    )))c         C@ s  t  j |  j d  |  _ t j j |  j j j |  j	  t j j |  j j j
 |  j	  t j j |  j j j |  j  t j j |  j j j |  j  t j j |  j j j |  j  |  j |  j j j j |  j j  |  j t j |  j j j |  j  j   d k   d S(   s+   Checking quantized data as written to disk.R   g?N(   R7   R   R  R+   RH  R  R  R,   R  R  R  R  R  R  R  R  R  RG   Rp  R4   R  R  R  R  (   R3   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   test02_array	  s      


#(   R   R   Rk  RI   Rx   t
   appendrowsR*   R~   R  R  R  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyR  	  s   				c          C@ s  d d  l  }  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 |  j t j   | j t j t   | j t j t   | j t j t   | j t j t   | j t j t   | j t j t   | j t j t    | j t j t!   | j t j t"   | j t j t#   | j t j t$   | j t j t%   | j t j t&   | j t j t'   | j t j t(   | j t j t)   q+ Wt* j+ r| j t j t,   | j t j t-   | 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<   | j t j t=   | j t j t>   | j t j t?   | j t j t@   n  | S(   Ni    i   (A   t   doctestR   t	   TestSuiteR   t   addTestt	   makeSuiteR   R   R   R   R   R   R   R   R   R   R   R   R  R  R  R=  RF  t   DocTestSuiteR7   R   Rc  Rv  R|  R~  R  R  R  R  R  R  R  R  R  R  R  R  R   t   heavyR%   R   R   R   R   R   R   R   R  R  R  R  R  R  R  R   R   R  R  R  R  (   R  t   theSuitet   niterRb   (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   suite
  sz    	t   __main__t   defaultTestR  (y   t   __doc__t
   __future__R    R   R   R:   R  R   Rm   RH  R7   R   R   R   R   R   R   R   R	   R
   R   R   R   R   R   R   R   t   tables.parametersR   t   tables.hdf5extensionR   R   t   tables.utilsR   t   tables.testsR   t   tables.tests.commonR   R   R   R   R  t	   six.movesR   t   IsDescriptionR   t   TempFileMixinR%   R|   R}   R   R  t   bzip2_availR   t	   lzo_availR   R   R   R   R   R   R   t   blosc_availR   R   t   blosc_compressor_listR   R   R   R   R   t   min_blosc_bitshuffle_versionR   R   R   R   R   R   R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R=  RF  Rc  Rv  R|  R~  R  R  R  t   hdf5extensiont   _supported_driversR  R  R  R  R  R  R  R  R  R  R  R  R   t
   parse_argvt   argvt   print_versionst   main(    (    (    s7   lib/python2.7/site-packages/tables/tests/test_create.pyt   <module>   s   j 				
	
  %o#<	 m	I
