ó
 •Ic           @   s?  d  Z  d d l Z d d l Z d d l Z d d l Z e j j d ƒ rU e j d =n  d d l Z d d l m	 Z	 e j
 d  d k  r“ e	 d ƒ ‚ n  d d l m Z d	 e j f d
 „  ƒ  YZ d „  Z d „  Z e d k r;e j ƒ  j d ƒ Z e j e ƒ Z e j e e f ƒ Z e j e j d d ƒZ e j e ƒ n  d S(   s   $Revision: 1.5 $iÿÿÿÿNt   requires_wise(   t   MissingExternalDependencyErrori   i   s+   This unit test requires Python 2.4 or later(   t   pswt   TestPSWc           B   sM   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d Z	 RS(   c         C   sÎ   t  j ƒ  } | j t  j d d d ƒ ƒ | j t  j d d d ƒ ƒ | j t  j d d d ƒ ƒ | j t  j d d d ƒ ƒ | j t  j d d d ƒ ƒ | j t  j d d d ƒ ƒ |  j t | ƒ d	 ƒ d  S(
   Ni    ib   t   SEQUENCEi   iÈ   t   INSERTiÉ   t   ENDs2   [SEQUENCE(98, 200), INSERT(98, 201), END(98, 201)](   R   t	   Alignmentt   appendt
   ColumnUnitt   assertEqualt   str(   t   selft   a(    (    s   test_psw.pyt   test_Alignment_normal   s    c         C   s·   t  j ƒ  } |  j t | j t  j d d d ƒ ƒ | j t  j d d d ƒ ƒ |  j t | j t  j d d d ƒ ƒ | j t  j d d d ƒ ƒ |  j t | j t  j d d d ƒ ƒ d  S(   Ni   iÈ   R   i    ib   (   R   R   t   assertRaisest   AssertionErrorR   R	   (   R   R   (    (    s   test_psw.pyt   test_Alignment_assertions'   s    %%c         C   s˜  t  j t  j d t j d d ƒ d ƒ ƒ } | j t  j d t j d d ƒ d ƒ ƒ |  j | j d ƒ t  j t  j d t j d d ƒ d ƒ ƒ } | j t  j d t j d d ƒ d ƒ ƒ |  j | j d ƒ t  j t  j d t j d d ƒ d ƒ ƒ } | j t  j d t j d d ƒ d ƒ ƒ |  j | j d ƒ t  j t  j d t j d d ƒ d ƒ ƒ } | j t  j d t j d d ƒ d ƒ ƒ |  j | j d ƒ d  S(   Ni    i'  R   i   R   R   (   R   t   AlignmentColumnR	   t   randomt   randintR   R
   t   kind(   R   t   ac(    (    s   test_psw.pyt   test_AlignmentColumn_kinds0   s    *(*(*(*(c         C   sT   t  j t  j d d d ƒ ƒ } | j t  j d d d ƒ ƒ |  j t | ƒ d ƒ d  S(   Ni    i"   R   i   i7   R   s   END(34, 55)(   R   R   R	   R   R
   t   repr(   R   R   (    (    s   test_psw.pyt   test_AlignmentColumn_reprA   s    c         C   sŠ   t  j t  j d t j d d ƒ d ƒ ƒ } | j t  j d t j d d ƒ d ƒ ƒ |  j t  j | j t  j d t j d d ƒ d ƒ ƒ d  S(   Ni    i'  R   i   R   (   R   R   R	   R   R   R   R   t   AlignmentColumnFullException(   R   R   (    (    s   test_psw.pyt   test_AlignmentColumn_fullF   s    *(c         C   s   |  j  t t j t j d t j d d ƒ d ƒ ƒ t j t j d t j d d ƒ d ƒ ƒ } |  j  t | j t j d t j d d ƒ d ƒ ƒ d  S(   Ni   i    i'  R   (   R   R   R   R   R	   R   R   R   (   R   R   (    (    s   test_psw.pyt   test_AlignmentColumn_assertionsK   s    1*c         C   ss   |  j  t t j d d d ƒ ƒ d ƒ |  j  t t j d d d ƒ ƒ d ƒ |  j  t t j d d d ƒ ƒ d	 ƒ d  S(
   Ni    i!   R   s'   ColumnUnit(unit=0, column=33, SEQUENCE)i   R   s%   ColumnUnit(unit=1, column=33, INSERT)R   s"   ColumnUnit(unit=1, column=33, END)(   R
   R   R   R	   (   R   (    (    s   test_psw.pyt   test_ColumnUnitR   s    sx   [SEQUENCE(39, 22), SEQUENCE(40, 23), SEQUENCE(41, 24), SEQUENCE(42, 25), SEQUENCE(43, 26), SEQUENCE(44, 27), END(0, 27)](
   t   __name__t
   __module__R   R   R   R   R   R   R   t   PARSED(    (    (    s   test_psw.pyR      s   								
c         C   s2   t  ƒ  } t j t j d d ƒ} | j | ƒ d  S(   Nt	   verbosityi   (   t   testing_suitet   unittestt   TextTestRunnert   syst   stdoutt   run(   t   argvt
   test_suitet   runner(    (    s   test_psw.pyt	   run_testsa   s    	c          C   s   t  j ƒ  }  t  j ƒ  } d | _ t g } x* | D]" } | j | ƒ } |  j | ƒ q1 Wt j t	 ƒ } t  j |  | f ƒ } | S(   s!   Generate the suite of tests.
    t   test_(
   R#   t	   TestSuitet
   TestLoadert   testMethodPrefixR   t   loadTestsFromTestCaset   addTestt   doctestt   DocTestSuiteR   (   t   unittest_suitet   test_loadert   testst   testt	   cur_suitet   doctest_suitet	   big_suite(    (    s   test_psw.pyR"   f   s    		t   __main__t   test_pswR!   (   i   i   (   t   __version__R2   R#   R   R%   t   modulest   has_keyR    t   BioR   t   version_infot   Bio.WiseR   t   TestCaseR   R+   R"   R   R.   t   loadTestsFromNameR4   R3   R9   R-   t   suiteR$   R&   R*   R'   (    (    (    s   test_psw.pyt   <module>   s(   G		