ó
 •Ic           @   sF  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 e j f d „  ƒ  YZ e d k rB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.10 $iÿÿÿÿNt   requires_wise(   t   MissingExternalDependencyErrori   i   s+   This unit test requires Python 2.4 or later(   t   Wiset   TestWiseDryRunc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s   t  j |  _ t j ƒ  t  _ d  S(   N(   t   syst   stdoutt
   old_stdoutt	   cStringIOt   StringIO(   t   self(    (    s   test_Wise.pyt   setUp   s    c         C   sB   t  j d g d	 d d d t ƒ|  j t j j ƒ  j d ƒ ƒ d S(
   s0   Call dnal, and do a trivial check on its output.t   dnals   seq1.fnas   seq2.fnat   kbytei † t   dry_runs$   dnal -kbyte 100000 seq1.fna seq2.fnaN(   s   seq1.fnas   seq2.fna(   R   t   alignt   Truet   assert_R   R   t   getvaluet
   startswith(   R	   (    (    s   test_Wise.pyt	   test_dnal   s    c         C   sB   t  j d g d	 d t d d ƒ|  j t j j ƒ  j d ƒ ƒ d S(
   s/   Call psw, and do a trivial check on its output.t   psws   seq1.faas   seq2.faaR   R   i   s   psw -kbyte 4 seq1.faa seq2.faaN(   s   seq1.faas   seq2.faa(   R   R   R   R   R   R   R   R   (   R	   (    (    s   test_Wise.pyt   test_psw$   s    c         C   s   |  j  t _ d  S(   N(   R   R   R   (   R	   (    (    s   test_Wise.pyt   tearDown)   s    (   t   __name__t
   __module__R
   R   R   R   (    (    (    s   test_Wise.pyR      s   			t   TestWisec           B   s   e  Z d  „  Z RS(   c      	   C   sŒ   t  j d g d d d d d d t ƒ} | j ƒ  j ƒ  } | d	 k rZ | j ƒ  j ƒ  } n  | d
 k ri n | d k rx n |  j t | ƒ d S(   sH   Call dnal with optional arguments, and do a trivial check on the output.R   s   Wise/human_114_g01_exons.fna_01s   Wise/human_114_g02_exons.fna_01R   i † t
   force_typet   DNAt   quiets	   Score 114sM   ENSG00000172135   AGGGAAAGCCCCTAAGCTC--CTGATCTATGCTGCATCCAGTTTGCAAAGTGGGGTCCCsM   ENSG00000172135   AGGGAAAGCCCCTAAGCTC--CTGATCTATGCTGCATCCAGTTTGCAAAG-TGGGGTCCN(   s   Wise/human_114_g01_exons.fna_01s   Wise/human_114_g02_exons.fna_01(   R   R   R   t   readlinet   rstripR   t   False(   R	   t	   temp_filet   line(    (    s   test_Wise.pyt
   test_align-   s    '(   R   R   R"   (    (    (    s   test_Wise.pyR   ,   s   t   __main__t	   test_Wiset	   verbosity(   i   i   (   t   __version__R   t   doctestt   unittestR   t   modulest   has_keyR    t   BioR   t   version_infoR   t   TestCaseR   R   R   t
   TestLoadert   loadTestsFromNamet   unittest_suitet   DocTestSuitet   doctest_suitet	   TestSuitet   suitet   TextTestRunnerR   t   runnert   run(    (    (    s   test_Wise.pyt   <module>   s&   