σ
jϊ\c           @@ s  d  d l  m Z d  d l  m Z d  d l m Z d  d l m Z d  d l m Z m Z d  d l m	 Z
 d  d l m Z d e j e
 f d	     YZ d
 e f d     YZ d e f d     YZ d   Z e d k rd  d l Z e j e j  e j   e j d d  n  d S(   i    (   t   print_function(   t   absolute_import(   t   common(   t   verbose(   t   unittestt   test_filename(   t   PyTablesTestCase(   t   ranget   IndexesTestCasec           B@ s>   e  Z d    Z d   Z d   Z d   Z d   Z d   Z RS(   c         C@ s\   t  t |   j   |  j j j |  _ |  j j j |  _ d |  _ |  j j j	 j
 j |  _ d  S(   Ni    (   t   superR   t   setUpt   h5filet   roott   table1t   table2t   ilt   colst   var1t   indext	   slicesizet   sl(   t   self(    (    sA   lib/python2.7/site-packages/tables/tests/test_index_backcompat.pyR
      s
    	c         C@ sc   |  j  j j } d |  j k r7 |  j | j j d  n( d |  j k r_ |  j | j j d  n  d S(   s   Checking index version.t   2_0s   2.0t   2_1s   2.1N(   R   R   R   t   h5fnamet   assertEqualR   t
   _v_version(   R   t   t1var1(    (    sA   lib/python2.7/site-packages/tables/tests/test_index_backcompat.pyt   test00_version   s
    c   	      C@ su  t  j r1 t d d d  t d |  j j  n  |  j } |  j } t |  j  j	 d  } t |  j
  j	 d  } | j j } |  j | d k	  g  | j d  D] } | d ^ q’ } g  | D]0 } | | d k oΰ | k n rΏ | d ^ qΏ } | j   | j   t rEt d |  t d	 t |   t d
 t |   n  |  j t |  t |   |  j | |  d S(   s   Checking string indexes.s   
s   -=i   s   Running %s.test01_string...t   asciis   (il<=t1var1)&(t1var1<=sl)R   s   Should look like:s   Length results:s
   Should be:N(   R   R   t   printt	   __class__t   __name__R   R   t   strR   t   encodeR   R   R   t
   assertTruet   Nonet   wheret   sortt   lenR   (	   R   R   R   R   R   R   t   pt   results1t   results2(    (    sA   lib/python2.7/site-packages/tables/tests/test_index_backcompat.pyt   test01_string    s(    			#=

c         C@ s.  t  j r1 t d d d  t d |  j j  n  |  j } |  j } | j j } |  j	 | d k	  g  | j d  D] } | d ^ qr } g  | D]  } | d t k r | d ^ q } t rώ t d |  t d |  t d	 t |   t d
 t |   n  |  j t |  t |   |  j | |  d S(   s   Checking bool indexes.s   
s   -=i   s   Running %s.test02_bool...s   t1var2 == Truet   var2s   Selection results (index):s   Should look like:s   Length results:s
   Should be:N(   R   R   R   R   R    R   R   R   R,   R#   R$   R%   t   TrueR'   R   (   R   R   R   t   t1var2R(   R)   R*   (    (    sA   lib/python2.7/site-packages/tables/tests/test_index_backcompat.pyt   test02_bool>   s     			&-c   	      C@ sV  t  j r1 t d d d  t d |  j j  n  |  j } |  j } t |  j  } t |  j	  } | j
 j } |  j | d	 k	  g  | j d  D] } | d ^ q } g  | D]0 } | | d k oΞ | k n r­ | d ^ q­ } | j   | j   t r&t d t |   t d t |   n  |  j t |  t |   |  j | |  d	 S(
   s   Checking int indexes.s   
s   -=i   s   Running %s.test03_int...s   (il<=t1col)&(t1col<=sl)t   var3s   Length results:s
   Should be:N(   R   R   R   R   R    R   R   t   intR   R   R   R0   R#   R$   R%   R&   R'   R   (	   R   R   R   R   R   t   t1colR(   R)   R*   (    (    sA   lib/python2.7/site-packages/tables/tests/test_index_backcompat.pyt
   test03_intU   s&    			&0

c   	      C@ sb  t  j r1 t d d d  t d |  j j  n  |  j } |  j } t |  j  } t |  j	  } | j
 j } |  j | d	 k	  g  | j d  D] } | d ^ q } g  | D]0 } | | d k oΞ | k n r­ | d ^ q­ } | j   | j   t r&t d t |   t d t |   n  |  j t |  t |   |  j | j   | j    d	 S(
   s   Checking float indexes.s   
s   -=i   s   Running %s.test04_float...s   (il<=t1col)&(t1col<=sl)t   var4s   Length results:s
   Should be:N(   R   R   R   R   R    R   R   t   floatR   R   R   R4   R#   R$   R%   R&   R'   R   (	   R   R   R   R   R   R2   R(   R)   R*   (    (    sA   lib/python2.7/site-packages/tables/tests/test_index_backcompat.pyt   test04_floatu   s&    			&0

(   R    t
   __module__R
   R   R+   R/   R3   R6   (    (    (    sA   lib/python2.7/site-packages/tables/tests/test_index_backcompat.pyR      s   						 t   Indexes2_0TestCasec           B@ s   e  Z e d   Z RS(   s   indexes_2_0.h5(   R    R7   R   R   (    (    (    sA   lib/python2.7/site-packages/tables/tests/test_index_backcompat.pyR8      s   t   Indexes2_1TestCasec           B@ s   e  Z e d   Z RS(   s   indexes_2_1.h5(   R    R7   R   R   (    (    (    sA   lib/python2.7/site-packages/tables/tests/test_index_backcompat.pyR9      s   c          C@ sY   t  j   }  d } x@ t |  D]2 } |  j t  j t   |  j t  j t   q W|  S(   Ni   (   R   t	   TestSuiteR   t   addTestt	   makeSuiteR8   R9   (   t   theSuitet   nitert   n(    (    sA   lib/python2.7/site-packages/tables/tests/test_index_backcompat.pyt   suite    s    t   __main__Nt   defaultTestR@   (   t
   __future__R    R   t   tables.testsR   t   tables.tests.commonR   R   R   R   t   TestCaset	   six.movesR   t   TestFileMixinR   R8   R9   R@   R    t   syst
   parse_argvt   argvt   print_versionst   main(    (    (    sA   lib/python2.7/site-packages/tables/tests/test_index_backcompat.pyt   <module>   s   	
