ó
šIc           @   s€   d  Z  d d l Z d d l m Z d d l m Z d e j f d „  ƒ  YZ e d k r| e j	 d d	 ƒ Z
 e j d
 e
 ƒ n  d S(   s   Unit test for HieiÿÿÿÿN(   t   Hie(   t   Residuest   HieTestsc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s   d |  _  d  S(   Ns   ./SCOP/dir.hie.scop.txt_test(   t   filename(   t   self(    (    s   test_SCOP_Hie.pyt   setUp   s    c         C   sq   t  |  j ƒ } zP d } x! t j | ƒ D] } | d 7} q( W| d k s^ t d t | ƒ ƒ ‚ Wd  | j ƒ  Xd  S(   Ni    i   i   s   Wrong number of records?! (   t   openR   R    t   parset   AssertionErrort   strt   close(   R   t   ft   countt   record(    (    s   test_SCOP_Hie.pyt	   testParse   s    &c         C   si   t  |  j ƒ } zH xA | D]9 } t j | ƒ } t | ƒ j ƒ  | j ƒ  k s t ‚ q WWd  | j ƒ  Xd  S(   N(   R   R   R    t   RecordR	   t   rstripR   R
   (   R   R   t   lineR   (    (    s   test_SCOP_Hie.pyt   testStr    s    ,c         C   sE   d } y% t  j | ƒ } t s* t d ƒ ‚ Wn t k
 r@ } n Xd  S(   Nt   4926sdfhjhfgyjdfygs   Should never get here(   R    R   t   FalseR   t
   ValueError(   R   t
   corruptRect   rect   e(    (    s   test_SCOP_Hie.pyt	   testError*   s    (   t   __name__t
   __module__R   R   R   R   (    (    (    s   test_SCOP_Hie.pyR      s   		
	
t   __main__t	   verbosityi   t
   testRunner(   t   __doc__t   unittestt   Bio.SCOPR    t   Bio.SCOP.ResiduesR   t   TestCaseR   R   t   TextTestRunnert   runnert   main(    (    (    s   test_SCOP_Hie.pyt   <module>   s   #