ó
šIc           @   sj   d  Z  d d l Z d d l Td e j f d „  ƒ  YZ e d k rf e j d d ƒ Z e j d	 e ƒ n  d S(
   s   Unit test for ResiduesiÿÿÿÿN(   t   *t   ResiduesTestsc           B   sÅ   e  Z d  d$ f d d& f d d( f d d* f d d, f d d. f d d0 f d d2 f d d4 f d d5 d6 f f d d7 d8 f f d d9 d: d; f f f Z d „  Z d „  Z d  „  Z d! „  Z d" „  Z d# „  Z RS(<   t   -s   A:t   At    s   1:t   1s   1-100t   100s   B:1-101t   Bt   101s	   1:1a-100at   1at   100as   a:-100a--1at   as   -100as   -1as   -1-100s   -1s   A:12-19,A:23-25t   12t   19t   23t   25s   12-19,1:23-25s   0-1,1:-1a-25a,T:t   0t   25at   Tc         C   sP   xI |  j  D]> } t | d ƒ } | j | d k s
 t t | j ƒ ƒ ‚ q
 Wd  S(   Ni    i   (   t   rest   Residuest	   fragmentst   AssertionErrort   strt	   locations(   t   selft   loct   r(    (    s   test_SCOP_Residues.pyt	   testParse   s    c         C   s\   xU |  j  D]J } t | d ƒ } t | ƒ | d k s
 t t | ƒ d | d ƒ ‚ q
 Wd  S(   Ni    s    is not (   R   R   R   R   (   R   R   R   (    (    s   test_SCOP_Residues.pyt   testStr$   s    c         C   sX   xQ |  j  D]F } t d | d d ƒ } | j | d k s
 t t | j ƒ ƒ ‚ q
 Wd S(   sd   Astral encloses residue subsets in brackets. Lets make sure we
        can parse those too.
        t   (i    t   )i   N(   R   R   R   R   R   R   (   R   R   R   (    (    s   test_SCOP_Residues.pyt   testAstralParse)   s    c         C   sö   d } xé |  j  D]Þ } t d | d d ƒ } | j | k sC t ‚ t | ƒ | d | d k sg t ‚ t | d | d ƒ } | j | k s” t ‚ t | ƒ | d | d k s¸ t ‚ t d ƒ } | j d k sÙ t ‚ | j d k s t ‚ q Wd  S(   Nt   1ddfs   	 1ddf 	i    s   	


t    s   104l A:112-113t   104lR   t   112t   113(   R   R$   R%   (   (   R   R$   R%   (   R   R   t   pdbidR   R   R   (   R   R&   R   R   (    (    s   test_SCOP_Residues.pyt	   testPdbId1   s    $$c         C   s5   t  d ƒ } | j d k s! t ‚ | j s1 t ‚ d  S(   Nt   1sds(   R   R&   R   R   (   R   R   (    (    s   test_SCOP_Residues.pyt   testJustPdbIdB   s    c         C   sF   y, t  d ƒ } d s+ t d t | ƒ ƒ ‚ Wn t k
 rA } n Xd  S(   Ns   09324923423hh./;,.389i    s   Should never get here: (   R   R   R   t
   ValueError(   R   R   t   e(    (    s   test_SCOP_Residues.pyt   testParseErrorH   s
     (    (   R   R   R   (   (   R   R   R   (   R   R   R   (   (   R   R   R   (   R   R   R   (   (   R   R   R   (   R   R   R   (   (   R   R   R   (   R   R	   R
   (   (   R   R	   R
   (   R   s   -100as   -1a(   (   R   s   -100as   -1a(   R   s   -1R   (   (   R   s   -1R   (   R   s   -1R   (   (   R   s   -1R   (   R   R   R   (   R   R   R   (   R   R   R   (   R   R   R   (   R   R   R   (   R   s   -1aR   (   R   R   R   (	   t   __name__t
   __module__R   R   R   R    R'   R)   R,   (    (    (    s   test_SCOP_Residues.pyR      s$   														t   __main__t	   verbosityi   t
   testRunner(	   t   __doc__t   unittestt   Bio.SCOP.Residuest   TestCaseR   R-   t   TextTestRunnert   runnert   main(    (    (    s   test_SCOP_Residues.pyt   <module>   s   
C