ó
šIc           @   st   d  Z  d d l Z d d l Td d l Td e j f d „  ƒ  YZ e d k rp e j d d ƒ Z e j	 d	 e ƒ n  d S(
   s   Unit test for ScopiÿÿÿÿN(   t   *t	   ScopTestsc           B   s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   sç  t  d ƒ } zT | j ƒ  } | j ƒ  t  d ƒ } | j ƒ  } | j ƒ  t  d ƒ } | j ƒ  } Wd  | j ƒ  Xt t | ƒ t | ƒ t | ƒ ƒ } t ƒ  } | j | ƒ | j ƒ  | k sÌ t | j ƒ  ƒ ‚ t ƒ  } | j | ƒ | j ƒ  | k st | j ƒ  ƒ ‚ t ƒ  } | j	 | ƒ | j ƒ  | k s@t | j ƒ  ƒ ‚ | j
 d ƒ }	 |	 j d k sdt ‚ | j ƒ  }
 t |
 ƒ d k sˆt ‚ |
 d j d k s¡t ‚ | j d	 ƒ } | d  k sÂt ‚ | j
 d
 ƒ } | d  k sãt ‚ d  S(   Ns   ./SCOP/dir.cla.scop.txt_tests   ./SCOP/dir.des.scop.txt_tests   ./SCOP/dir.hie.scop.txt_testt   d1hbia_i”:  i   i   iŒ:  i‘ÿÿÿs   no such domain(   t   opent   readt   closet   Scopt   StringIOt	   write_clat   getvaluet   AssertionErrort	   write_dest	   write_hiet   getDomainBySidt   sunidt
   getDomainst   lent   getNodeBySunidt   None(   t   selft   ft   clat   dest   hiet   scopt   cla_outt   des_outt   hie_outt   domaint   domainst   dom(    (    s   test_SCOP_Scop.pyt	   testParse   s:    

$	$	$	$c         C   sÁ   t  d d ƒ d k s t ‚ t  d d ƒ d k s6 t ‚ t  d d ƒ d k sQ t ‚ t  d d ƒ d k sl t ‚ t  d d ƒ d k s‡ t ‚ t  d	 d ƒ d k s¢ t ‚ t  d	 d
 ƒ d k s½ t ‚ d  S(   Ns   a.1.1.1i    s   a.1.1.2i   s   a.1.1.11iÿÿÿÿs   a.1.2.2s   a.5.1.11s   b.1.2.2s   b.1.2(   t   cmp_sccsR
   (   R   (    (    s   test_SCOP_Scop.pyt   testSccsOrder?   s    c         C   sY  d } t  | ƒ } | j d k s' t ‚ | j d k s< t ‚ | j j d k sT t ‚ | j d k si t ‚ d } | t t  | ƒ ƒ k sŸ t t t  | ƒ ƒ ƒ ‚ d } | t t  | ƒ ƒ k sÕ t t t  | ƒ ƒ ƒ ‚ d } | t t  | ƒ ƒ k sù t ‚ d	 } | t t  | ƒ ƒ k st ‚ y" t  d
 ƒ } t s>t d ƒ ‚ Wn t	 k
 rT} n Xd  S(   NsC   >d1tpt_1 a.46.2.1 (1-70) Thymidine phosphorylase {Escherichia coli}t   d1tpt_1s   a.46.2.1t   1tpts*   Thymidine phosphorylase {Escherichia coli}s>   d1tpt_1 a.46.2.1 (1tpt 1-70) Thymidine phosphorylase {E. coli}s7   g1cph.1 g.1.1.1 (1cph B:,A:) Insulin {Cow (Bos taurus)}s5   e1cph.1a g.1.1.1 (1cph A:) Insulin {Cow (Bos taurus)}s1   >e1cph.1a g.1.1.1 (A:) Insulin {Cow (Bos taurus)}s   Totally wrongs   Should never get here(
   t   parse_domaint   sidR
   t   sccst   residuest   pdbidt   descriptiont   strt   Falset
   ValueError(   R   t   sR   t   s2t   s3t   s4t   s5t   e(    (    s   test_SCOP_Scop.pyt   testParseDomainH   s&    00c         C   sR   t  d d d d ƒ } t | t  ƒ s* t ‚ | j d ƒ } | j d k sN t ‚ d  S(   Nt   dir_patht   SCOPt   versiont   testR   i”:  (   R   t
   isinstanceR
   R   R   (   R   R   R   (    (    s   test_SCOP_Scop.pyt   testConstructFromDirectoryg   s    c         C   s²   t  d d d d ƒ } | j d ƒ } | j d ƒ } | j d k sH t ‚ | j d ƒ } | j d	 k sl t ‚ | j d
 ƒ } | d  k s t ‚ | j d
 ƒ } | d  k s® t ‚ d  S(   NR4   R5   R6   R7   R   t   cfiyµ  t   superfamilyizµ  t   px(   R   R   t   getAscendentR   R
   R   (   R   R   R   t   foldt   sfR<   t   px2(    (    s   test_SCOP_Scop.pyt   testGetAscendentn   s    c         C   sã   t  d d d d ƒ } | j d ƒ } | j d ƒ } t | ƒ d k sK t ‚ x# | D] } | j d k sR t ‚ qR W| j d ƒ } t | ƒ d	 k s˜ t ‚ x# | D] } | j d
 k sŸ t ‚ qŸ W| j d ƒ } | g  k sß t ‚ d S(   s   Test getDescendents methodR4   R5   R6   R7   iyµ  R<   i   R;   i   R?   t   clN(   R   R   t   getDescendentsR   R
   t   type(   R   R   R>   R   t   dt   sfsRB   (    (    s   test_SCOP_Scop.pyt   test_get_descendentsƒ   s    (   t   __name__t
   __module__R   R!   R3   R9   RA   RG   (    (    (    s   test_SCOP_Scop.pyR      s   	-					t   __main__t	   verbosityi   t
   testRunner(
   t   __doc__t   unittestR   t   Bio.SCOPt   TestCaseR   RH   t   TextTestRunnert   runnert   main(    (    (    s   test_SCOP_Scop.pyt   <module>   s   

‹