ó
šIc           @   s|   d  Z  d d l Z d d l Z d d l m Z d e j f d „  ƒ  YZ e d k rx e j d d ƒ Z	 e j
 d	 e	 ƒ n  d S(
   s"   Tests for parsing Compass output.
iÿÿÿÿN(   t   Compasst   CompassTestc           B   sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   sU   t  j j d ƒ } t  j j | d ƒ t  j j | d ƒ t  j j | d ƒ g |  _ d  S(   NR    t   comtest1t   comtest2t   comtest3(   t   ost   patht   joint
   test_files(   t   selft   file_dir(    (    s   test_Compass.pyt   setUp
   s    c         C   s?  t  j ƒ  } t  j ƒ  } | j t |  j d ƒ | ƒ | j } |  j d | j ƒ |  j d | j	 ƒ |  j d | j
 ƒ |  j d | j ƒ |  j d | j ƒ |  j d | j ƒ |  j d | j ƒ |  j d | j ƒ |  j d | j ƒ |  j d | j ƒ |  j d | j ƒ |  j d | j ƒ |  j t d	 ƒ | j ƒ d  S(
   Ni    s   60456.blo.gz.alng      à?i„  i‚  i  g‹lçû©ñ)@iÇ
  s   0.00e+00(   R    t	   _Consumert   _Scannert   feedt   openR   t   datat   assertEqualst   queryt   hitt   gap_thresholdt   query_lengtht   query_filtered_lengtht
   hit_lengtht   hit_filtered_lengtht   query_nseqst   query_neffseqst	   hit_nseqst   hit_neffseqst   sw_scoret   floatt   evalue(   R	   t   const   scant
   com_record(    (    s   test_Compass.pyt   testCompassScanAndConsume   s"    	c         C   s?   t  j ƒ  } | j t |  j d ƒ ƒ } |  j d | j ƒ d  S(   Ni    s   60456.blo.gz.aln(   R    t   RecordParsert   parseR   R   R   R   (   R	   t   parserR"   (    (    s   test_Compass.pyt   testCompassParser)   s    c         C   s[   t  j t |  j d ƒ ƒ } | j ƒ  } |  j d | j ƒ | j ƒ  } |  j d  | ƒ d  S(   Ni    s   60456.blo.gz.aln(   R    t   IteratorR   R   t   nextR   R   t   None(   R	   t   itR"   (    (    s   test_Compass.pyt   testCompassIteratorEasy/   s    c         C   sÈ   t  j t |  j d ƒ ƒ } | j ƒ  } |  j d | j ƒ |  j t d ƒ | j ƒ | j ƒ  } |  j d | j ƒ |  j t d ƒ | j ƒ | j ƒ  } |  j d | j ƒ |  j t d ƒ | j ƒ d  S(   Ni   s   allscop//14982.blo.gz.alns   1.01e+03s   allscop//14983.blo.gz.alns   allscop//14984.blo.gz.alns   5.75e+02(	   R    R(   R   R   R)   R   R   R   R   (   R	   R+   R"   (    (    s   test_Compass.pyt   testCompassIteratorHard9   s    c         C   s  t  j t |  j d ƒ ƒ } | j ƒ  } |  j d | j ƒ |  j d | j ƒ |  j d | j ƒ |  j d | j	 ƒ |  j d | j
 ƒ | j ƒ  } | j ƒ  } |  j d | j ƒ |  j d | j ƒ |  j d	 | j ƒ |  j d
 | j	 ƒ |  j d | j
 ƒ d  S(   Ni   i²   t	   KKDLEEIADi	   t	   QAAVQAVTAs	   ++ ++++++is  s   LEEAMDRMER~~~ViL   t   LQNFIDQLDNpddLs   + ++++ + +   +(   R    R(   R   R   R)   R   t   query_startt	   query_alnt	   hit_startt   hit_alnt	   positives(   R	   R+   R"   (    (    s   test_Compass.pyt   testAlignmentParsingOneH   s    c         C   si   t  j t |  j d ƒ ƒ } | j ƒ  } |  j d | j ƒ |  j d | j ƒ |  j d | j d ƒ d  S(   Ni    i   t   LKERKLiúÿÿÿ(	   R    R(   R   R   R)   R   R1   R3   R4   (   R	   R+   R"   (    (    s   test_Compass.pyt   testAlignmentParsingTwoZ   s
    (	   t   __name__t
   __module__R   R#   R'   R,   R-   R6   R8   (    (    (    s   test_Compass.pyR   	   s   				
		t   __main__t	   verbosityi   t
   testRunner(   t   __doc__R   t   unittestt   BioR    t   TestCaseR   R9   t   TextTestRunnert   runnert   main(    (    (    s   test_Compass.pyt   <module>   s   Y