ó
jˆú\c           @@  sL  d  Z  d d l m Z d d l Z d d l Z d d l Z d d l m Z d d l m	 Z	 d d l m
 Z d d l m Z 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 „  Z e d k rHd d l Z e j e j ƒ e j ƒ  e	 j d d ƒ n  d S(   s0   Test module for enumerated types under PyTables.i    (   t   absolute_importN(   t   common(   t   unittest(   t   PyTablesTestCase(   t   ranget   CreateColTestCasec           B@  s‰   e  Z d  Z d d 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-   Test creating enumerated column descriptions.t   uint32c         C@  s¯   t  j | | d | d | ƒ} t  j | ƒ } |  j | j d ƒ |  j | j j j | j j ƒ |  j t | j	 ƒ t | | ƒ ƒ |  j | j j
 | ƒ |  j | j | ƒ d S(   s2   Create and check an enumerated column description.t   baset   shapet   enumN(   t   tablest   EnumColt   Enumt   assertEqualt   typet   dtypeR   t   namet   intt   dfltR   R	   (   t   selfR	   R   R   R   t   enumcolt   sameEnum(    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt
   _createCol   s    #c         C@  s,   t  j d d d g ƒ } |  j | d ƒ d S(   s4   Describing an enumerated column from an enumeration.t   redt   greent   blueN(   R
   R   R   (   R   t   colors(    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test00a_validFromEnum*   s    c         C@  s/   i d d 6d d 6d d 6} |  j  | d ƒ d S(   s2   Describing an enumerated column from a dictionary.i   R   i   R   i   R   N(   R   (   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test00b_validFromDict0   s    c         C@  s#   d d d g } |  j  | d ƒ d S(   s,   Describing an enumerated column from a list.R   R   R   N(   R   (   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test00c_validFromList6   s    c         C@  s#   d } |  j  t |  j | d ƒ d S(   s7   Describing an enumerated column from an invalid object.i{   R   N(   t   assertRaisest	   TypeErrorR   (   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test00d_invalidFromType<   s    c         C@  s8   i d d 6d d 6d d 6} |  j  t |  j | d ƒ d S(	   s?   Describing an enumerated column with an invalid default object.i   R   i   R   i   R   t   blackN(   R   t   KeyErrorR   (   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test01_invalidDfltB   s    c         C@  s2   i d d 6d d 6d d 6} |  j  | d d ƒ d S(	   s4   Describing an enumerated column with a broader type.i   R   i   R   i   R   t   int64N(   R   (   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test02a_validDtypeBroaderH   s    c         C@  sC   g  t  d ƒ D] } d | ^ q } |  j t |  j | d d ƒ d S(   s7   Describing an enumerated column with a too narrow type.i,  s   e%dt   e0t   uint8N(   R   R   R   R   (   R   t   iR   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test02b_invalidDtypeTooNarrowN   s    #c         C@  s)   d d d g } |  j  | d d d ƒd S(   s<   Describing an enumerated column with multidimensional shape.R   R   R   R   i   N(   i   (   R   (   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test03a_validShapeMDT   s    c         C@  sˆ   t  j d d d g ƒ } t  j | d d d d d ƒ} d } g  t j d ƒ D] } | d j | ƒ ^ qL } |  j t | ƒ | k ƒ d S(   s5   Checking the string representation of an enumeration.R   R   R   R   R   R   s[   EnumCol(enum=Enum({%s}), dflt='red', base=UInt32Atom(shape=(), dflt=0), shape=(), pos=None)s	   'blue': 2s
   'green': 1s   'red': 0s   , N(    (   s	   'blue': 2s
   'green': 1s   'red': 0(   R
   R   R   t	   itertoolst   permutationst   joint
   assertTruet   repr(   R   R   R   t   templatet   itemst   permitations(    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test04a_validReprEnumZ   s    	&c         C@  s6   i d d 6} |  j  t |  j | d d t j ƒ  ƒd S(   s<   Describing an enumerated column of floats (not implemented).g      ð?R   R   N(   R   t   NotImplementedErrorR   R
   t	   FloatAtom(   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test99a_nonIntEnumk   s    c         C@  s/   d d d g } |  j  t |  j | d d ƒ d S(   sX   Describing an enumerated column encoded as floats.

        (not implemented).

        R   R   R   t   float64N(   R   R4   R   (   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test99b_nonIntDtyper   s    c      	   C@  s<   i d d 6} |  j  t |  j | d d t j d d ƒ ƒd S(	   sA   Describing an enumerated column of non-scalars (not implemented).i   i   i   R   R   R   N(   i   i   i   (   R   R4   R   R
   t   IntAtom(   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test99b_nonScalarEnum}   s    (    (   t   __name__t
   __module__t   __doc__R   R   R   R   R    R#   R%   R)   R*   R3   R6   R8   R:   (    (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyR      s   											t   CreateAtomTestCasec           B@  sw   e  Z d  Z d d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 „  Z d „  Z d „  Z RS(   s   Test creating enumerated atoms.R   c         C@  s‰   t  j | | d | d | ƒ} t  j | ƒ } |  j | j d ƒ |  j | j j j | j j ƒ |  j | j | ƒ |  j | j	 | ƒ d S(   s$   Create and check an enumerated atom.R   R   R	   N(
   R
   t   EnumAtomR   R   R   R   R   R   R   R	   (   R   R	   R   R   R   t   enumatomR   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   _createAtomˆ   s    c         C@  s,   t  j d d d g ƒ } |  j | d ƒ d S(   s2   Describing an enumerated atom from an enumeration.R   R   R   N(   R
   R   RA   (   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyR   ’   s    c         C@  s/   i d d 6d d 6d d 6} |  j  | d ƒ d S(   s0   Describing an enumerated atom from a dictionary.i   R   i   R   i   R   N(   RA   (   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyR   ˜   s    c         C@  s#   d d d g } |  j  | d ƒ d S(   s*   Describing an enumerated atom from a list.R   R   R   N(   RA   (   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyR   ž   s    c         C@  s#   d } |  j  t |  j | d ƒ d S(   s5   Describing an enumerated atom from an invalid object.i{   R   N(   R   R   RA   (   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyR    ¤   s    c         C@  s5   i d d 6d d 6d d 6} |  j  | d d d ƒd	 S(
   s2   Describing an enumerated atom with a broader type.i   R   i   R   i   R   R   R$   N(   RA   (   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyR%   ª   s    c         C@  sC   g  t  d ƒ D] } d | ^ q } |  j t |  j | d d ƒ d S(   s5   Describing an enumerated atom with a too narrow type.i,  s   e%dR   R'   N(   R   R   R   RA   (   R   R(   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyR)   °   s    #c         C@  s)   d d d g } |  j  | d d d ƒd S(   s:   Describing an enumerated atom with multidimensional shape.R   R   R   R   i   N(   i   (   RA   (   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyR*   ¶   s    c         C@  s6   i d d 6} |  j  t |  j | d d t j ƒ  ƒd S(   s:   Describing an enumerated atom of floats (not implemented).g      ð?R   R   N(   R   R4   RA   R
   R5   (   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyR6   ¼   s    c         C@  s/   d d d g } |  j  t |  j | d d ƒ d S(   sW   Describing an enumerated atom encoded as a float.

        (not implemented).

        R   R   R   R7   N(   R   R4   RA   (   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyR8   Ã   s    c      	   C@  s<   i d d 6} |  j  t |  j | d d t j d d ƒ ƒd S(	   s?   Describing an enumerated atom of non-scalars (not implemented).i   i   i   R   R   R   N(   i   i   i   (   R   R4   RA   R
   R9   (   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyR:   Î   s    (    (   R;   R<   R=   RA   R   R   R   R    R%   R)   R*   R6   R8   R:   (    (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyR>   …   s   
									t   EnumTableTestCasec           B@  sŸ   e  Z d  Z e j i d d 6d d 6d d 6d d 6ƒ Z d Z e j Z d	 Z	 d
 Z
 d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   s$   Test tables with enumerated columns.i   R   i   R   i   R   i    R!   iÒ  t   uint16c         @  s&   d t  j f ‡  ‡ f d †  ƒ  Y} | S(   Nt   TestDescriptionc        	   @  sG   e  Z e j d  d ƒ Z e j ˆ  j ˆ  j d ˆ  j d ˆ d  d ƒZ	 RS(   t   posi    R   R   i   (
   R;   R<   R
   t   IntColt   ridR   R	   t   defaultNamet   enumTypet   rcolor(    (   R   R   (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyRD   à   s   (   R
   t   IsDescription(   R   R   RD   (    (   R   R   s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   _descriptionß   s    "c         C@  s^   |  j  j d d |  j ƒ  d |  j ƒ  ƒ|  j ƒ  |  j |  j  j j j d ƒ |  j	 d ƒ d S(   s3   Reopening a file with tables using enumerated data.t   /t   testt   titleRJ   s5   Enumerated type was not restored correctly from disk.N(
   t   h5filet   create_tableRL   t   _getMethodNamet   _reopenR   t   rootRN   t   get_enumR	   (   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test00a_reopenè   s    	
c         C@  sa   |  j  j d d |  j d ƒ d |  j ƒ  ƒ|  j ƒ  |  j |  j  j j j d ƒ |  j	 d ƒ d S(	   sM   Reopening a file with tables using enumerated multi-dimensional
        data.RM   RN   i   RO   RJ   s5   Enumerated type was not restored correctly from disk.N(   i   (
   RP   RQ   RL   RR   RS   R   RT   RN   RU   R	   (   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test00b_reopenMDô   s    	"
c         C@  s
  |  j  j d d |  j ƒ  d |  j ƒ  ƒ} d |  j f d |  j f g } | j } | d d | d <| d d | d	 <| j ƒ  | d d | d <|  j t	 t
 j | d	 | d d ƒ | j ƒ  d
 | _ | j ƒ  } t j d | d  | f ƒ |  j | d  | d ƒ d S(   s3   Appending enumerated values using ``row.append()``.RM   RN   RO   i
   i   i    RG   i   RJ   t   pythons&   * appended value: %s
* read value: %s
iÿÿÿÿs   Written and read values differ.N(   RP   RQ   RL   RR   t   valueInEnumt   valueOutOfEnumt   rowt   appendR   t
   ValueErrort   operatort   setitemt   flusht   flavort   readR   t   verbosePrintR   (   R   t   tblt   appendedR[   Rb   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test01_rowAppend  s&    	!	

	c         C@  s¢   |  j  j d d |  j ƒ  d |  j ƒ  ƒ} d |  j f d |  j f g } | j | ƒ | j ƒ  d | _ | j	 ƒ  } t
 j d | | f ƒ |  j | | d ƒ d	 S(
   s5   Appending enumerated values using ``table.append()``.RM   RN   RO   i
   i   RX   s&   * appended value: %s
* read value: %s
s   Written and read values differ.N(   RP   RQ   RL   RR   RY   RZ   R\   R`   Ra   Rb   R   Rc   R   (   R   Rd   Re   Rb   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test02_append  s    	!
	c         C@  s½   |  j  j d d |  j ƒ  d |  j ƒ  ƒ} d |  j f d |  j f g } | j | ƒ d |  j f d |  j f g } | | (d | _ | j ƒ  } t	 j
 d | | f ƒ |  j | | d ƒ d	 S(
   s9   Changing enumerated values using ``table.__setitem__()``.RM   RN   RO   i
   i   RX   s%   * written value: %s
* read value: %s
s   Written and read values differ.N(   RP   RQ   RL   RR   RY   R\   RZ   Ra   Rb   R   Rc   R   (   R   Rd   Re   t   writtenRb   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test03_setitem3  s    	!	c         C@  sb  |  j  j d d |  j d ƒ d |  j ƒ  ƒ} d |  j |  j f f d |  j |  j f f g } | j } | d d | d <|  j t t	 j
 | d	 | d d
 ƒ | j | ƒ | j ƒ  d | _ | j ƒ  } x“ t t | ƒ ƒ D] } |  j | | d | | d d ƒ |  j | | d
 d | | d
 d d ƒ |  j | | d
 d
 | | d
 d
 d ƒ qÛ Wd S(   s,   Appending multi-dimensional enumerated data.RM   RN   i   RO   i
   i   i    RG   RJ   i   RX   s   Written and read values differ.N(   i   (   RP   RQ   RL   RR   RY   RZ   R[   R   R]   R^   R_   R\   R`   Ra   Rb   R   t   lenR   (   R   Rd   Re   R[   Rb   R(   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test04_multidimJ  s&    	$	
	$$c         C@  sí   |  j  j d d |  j ƒ  d |  j ƒ  ƒ} d |  j f d |  j f d |  j f g } | j | ƒ | j ƒ  g  | j d i |  j d 6ƒ D] } | d	 | d
 f ^ qˆ } t	 j
 d |  j | j j | | d  f ƒ |  j | | d  d ƒ d S(   s   Searching enumerated data.RM   RN   RO   i
   i   i   s   rcolor == vt   vRG   RJ   s\   * ``valueInEnum``: %s
* ``rcolor`` column: ``%s``
* ``searched``: %s
* Should look like: %s
iÿÿÿÿs"   Search returned incorrect results.N(   RP   RQ   RL   RR   RY   RZ   R\   R`   t   whereR   Rc   t   colsRJ   R   (   R   Rd   Re   R[   t   searched(    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test05_wheree  s    	!
:!(    (   R;   R<   R=   R
   R   R	   RH   R   RY   RZ   RI   RL   RV   RW   Rf   Rg   Ri   Rk   Rp   (    (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyRB   Ö   s   +								t   EnumEArrayTestCasec           B@  s«   e  Z d  Z e j i d d 6d d 6d d 6d d 6ƒ Z e j Z d	 Z d
 Z	 d d „ Z
 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   s,   Test extendable arrays of enumerated values.i   R   i   R   i   R   i    R!   iÒ  RC   c         C@  s"   t  j |  j d d |  j d | ƒS(   NR   R   R   (   R
   R?   R	   RI   (   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   _atom‡  s    c         C@  ss   |  j  j d d |  j ƒ  d d	 d |  j ƒ  ƒd |  j  j j _ |  j ƒ  |  j |  j  j j j	 ƒ  |  j
 d ƒ d S(
   s>   Reopening a file with extendable arrays using enumerated data.RM   RN   R   i    RO   RX   s5   Enumerated type was not restored correctly from disk.N(   i    (   RP   t   create_earrayRr   RR   RT   RN   Ra   RS   R   RU   R	   (   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyRV   ‹  s    	
c         C@  ss   |  j  j d d |  j ƒ  d d
 d |  j ƒ  ƒd |  j  j j _ |  j ƒ  |  j |  j  j j j	 ƒ  |  j
 d ƒ d	 S(   sX   Reopening a file with extendable arrays using enumerated
        multi-dimensional data.RM   RN   R   i    i   RO   RX   s5   Enumerated type was not restored correctly from disk.N(   i    i   (   RP   Rs   Rr   RR   RT   RN   Ra   RS   R   RU   R	   (   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyRW   ™  s    	
c         C@  s®   d } t  j |  j | d |  j d d
 ƒ} |  j j d d | d d d |  j ƒ  ƒ|  j ƒ  |  j |  j j	 j
 j ƒ  |  j d ƒ |  j |  j j	 j
 j j |  j | d	 ƒ d  S(   NR   R   R   RM   RN   i    RO   s5   Enumerated type was not restored correctly from disk.sJ   The default value of enumerated type was not restored correctly from disk.(    (   i    (   R
   R?   R	   RI   RP   Rs   RR   RS   R   RT   RN   RU   t   atomR   (   R   R   Rt   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt!   test_enum_default_persistence_red¨  s    
c         C@  s®   d } t  j |  j | d |  j d d
 ƒ} |  j j d d | d d d |  j ƒ  ƒ|  j ƒ  |  j |  j j	 j
 j ƒ  |  j d ƒ |  j |  j j	 j
 j j |  j | d	 ƒ d  S(   NR   R   R   RM   RN   i    RO   s5   Enumerated type was not restored correctly from disk.sJ   The default value of enumerated type was not restored correctly from disk.(    (   i    (   R
   R?   R	   RI   RP   Rs   RR   RS   R   RT   RN   RU   Rt   R   (   R   R   Rt   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt#   test_enum_default_persistence_greenº  s    
c         C@  s®   d } t  j |  j | d |  j d d
 ƒ} |  j j d d | d d d |  j ƒ  ƒ|  j ƒ  |  j |  j j	 j
 j ƒ  |  j d ƒ |  j |  j j	 j
 j j |  j | d	 ƒ d  S(   NR   R   R   RM   RN   i    RO   s5   Enumerated type was not restored correctly from disk.sJ   The default value of enumerated type was not restored correctly from disk.(    (   i    (   R
   R?   R	   RI   RP   Rs   RR   RS   R   RT   RN   RU   Rt   R   (   R   R   Rt   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt"   test_enum_default_persistence_blueÌ  s    
c         C@  s®   d } t  j |  j | d |  j d d
 ƒ} |  j j d d | d d d |  j ƒ  ƒ|  j ƒ  |  j |  j j	 j
 j ƒ  |  j d ƒ |  j |  j j	 j
 j j |  j | d	 ƒ d  S(   NR!   R   R   RM   RN   i    RO   s5   Enumerated type was not restored correctly from disk.sJ   The default value of enumerated type was not restored correctly from disk.(    (   i    (   R
   R?   R	   RI   RP   Rs   RR   RS   R   RT   RN   RU   Rt   R   (   R   R   Rt   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt#   test_enum_default_persistence_blackÞ  s    
c         C@  s…   |  j  j d d |  j ƒ  d d	 d |  j ƒ  ƒ} d | _ |  j |  j g } | j | ƒ | j ƒ  | j	 ƒ  } |  j
 | | d ƒ d S(
   s/   Appending scalar elements of enumerated values.RM   RN   R   i    RO   RX   s   Written and read values differ.N(   i    (   RP   Rs   Rr   RR   Ra   RY   RZ   R\   R`   Rb   R   (   R   t   earrRe   Rb   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test01_appendð  s    		
c         C@  s—   |  j  j d d |  j ƒ  d d
 d |  j ƒ  ƒ} d | _ |  j |  j g |  j |  j g g } | j | ƒ | j ƒ  | j	 ƒ  } |  j
 | | d ƒ d	 S(   s:   Appending multi-dimensional elements of enumerated values.RM   RN   R   i    i   RO   RX   s   Written and read values differ.N(   i    i   (   RP   Rs   Rr   RR   Ra   RY   RZ   R\   R`   Rb   R   (   R   Ry   Re   Rb   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   test02_appendMDÿ  s    		
c         C@  s”   |  j  j d d |  j ƒ  d d	 d |  j ƒ  ƒ} d | _ |  j |  j f } | j | ƒ |  j |  j g } | | (| j ƒ  } |  j	 | | d ƒ d S(
   s:   Changing enumerated values using ``earray.__setitem__()``.RM   RN   R   i    RO   RX   s   Written and read values differ.N(   i    (
   RP   Rs   Rr   RR   Ra   RY   R\   RZ   Rb   R   (   R   Ry   Re   Rh   Rb   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyRi     s    		(    (   R;   R<   R=   R
   R   R	   R   RY   RZ   RI   Rr   RV   RW   Ru   Rv   Rw   Rx   Rz   R{   Ri   (    (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyRq     s   +									t   EnumVLArrayTestCasec           B@  s‡   e  Z d  Z e j i d d 6d d 6d d 6d d 6ƒ Z e j Z d	 Z d
 Z	 d d „ Z
 d „  Z d „  Z d „  Z d „  Z d „  Z RS(   s1   Test variable-length arrays of enumerated values.i   R   i   R   i   R   i    R!   iÒ  RC   c         C@  s"   t  j |  j d d |  j d | ƒS(   NR   R   R   (   R
   R?   R	   RI   (   R   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyRr   )  s    c         C@  sm   |  j  j d d |  j ƒ  d |  j ƒ  ƒd |  j  j j _ |  j ƒ  |  j |  j  j j j	 ƒ  |  j
 d ƒ d S(   sK   Reopening a file with variable-length arrays using
        enumerated data.RM   RN   RO   RX   s5   Enumerated type was not restored correctly from disk.N(   RP   t   create_vlarrayRr   RR   RT   RN   Ra   RS   R   RU   R	   (   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyRV   -  s    	
c         C@  sp   |  j  j d d |  j d ƒ d |  j ƒ  ƒd |  j  j j _ |  j ƒ  |  j |  j  j j j	 ƒ  |  j
 d ƒ d S(	   s]   Reopening a file with variable-length arrays using enumerated
        multi-dimensional data.RM   RN   i   RO   RX   s5   Enumerated type was not restored correctly from disk.N(   i   (   RP   R}   Rr   RR   RT   RN   Ra   RS   R   RU   R	   (   R   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyRW   <  s    	
c         C@  s·   |  j  j d d |  j ƒ  d |  j ƒ  ƒ} d | _ |  j g |  j |  j g g } | j | d ƒ | j | d ƒ | j ƒ  | j	 ƒ  } t
 j d | | f ƒ |  j | | d ƒ d	 S(
   s/   Appending scalar elements of enumerated values.RM   RN   RO   RX   i    i   s&   * appended value: %s
* read value: %s
s   Written and read values differ.N(   RP   R}   Rr   RR   Ra   RY   RZ   R\   R`   Rb   R   Rc   R   (   R   t   vlarrRe   Rb   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyRz   K  s    			
c         C@  sÕ   |  j  j d d |  j d ƒ d |  j ƒ  ƒ} d | _ |  j |  j g g |  j |  j g |  j |  j g g g } | j | d ƒ | j | d ƒ | j ƒ  | j	 ƒ  } t
 j d | | f ƒ |  j | | d	 ƒ d
 S(   s:   Appending multi-dimensional elements of enumerated values.RM   RN   i   RO   RX   i    i   s&   * appended value: %s
* read value: %s
s   Written and read values differ.N(   i   (   RP   R}   Rr   RR   Ra   RY   RZ   R\   R`   Rb   R   Rc   R   (   R   R~   Re   Rb   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyR{   a  s    		
c         C@  s¬   |  j  j d d |  j ƒ  d |  j ƒ  ƒ} d | _ |  j |  j f } | j | ƒ |  j |  j g } | | d <| j ƒ  } t	 j
 d | | f ƒ |  j | | d d ƒ d S(	   s;   Changing enumerated values using ``vlarray.__setitem__()``.RM   RN   RO   RX   i    s%   * written value: %s
* read value: %s
s   Written and read values differ.N(   RP   R}   Rr   RR   Ra   RY   R\   RZ   Rb   R   Rc   R   (   R   R~   Re   Rh   Rb   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyRi   x  s    		
(    (   R;   R<   R=   R
   R   R	   R   RY   RZ   RI   Rr   RV   RW   Rz   R{   Ri   (    (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyR|   !  s   +					c          C@  sÍ   d d l  }  d d l m } t j ƒ  } d } x˜ t | ƒ D]Š } | j |  j | ƒ ƒ | j t j t	 ƒ ƒ | j t j t
 ƒ ƒ | j t j t ƒ ƒ | j t j t ƒ ƒ | j t j t ƒ ƒ q; W| S(   sC   Return a test suite consisting of all the test cases in the module.i    N(   R	   i   (   t   doctestt   tables.miscR	   R   t	   TestSuiteR   t   addTestt   DocTestSuitet	   makeSuiteR   R>   RB   Rq   R|   (   R   R	   t   theSuitet   niterR(   (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   suite  s    t   __main__t   defaultTestR‡   (   R=   t
   __future__R    R^   R+   R
   t   tables.testsR   t   tables.tests.commonR   R   t   TestCaset	   six.movesR   R   R>   t   TempFileMixinRB   Rq   R|   R‡   R;   t   syst
   parse_argvt   argvt   print_versionst   main(    (    (    s5   lib/python2.7/site-packages/tables/tests/test_enum.pyt   <module>   s&   kQ©¢l	
