
`]c           @  s  d  Z  d d l m Z d d l m Z m Z m Z d d l Z d d l Z d d l	 m
 Z
 d d l m Z m Z m Z d e k r e j e d  e Z n d Z e j e  Z e j e d	  d
 e j f d     Y Z e j e d	  d e j f d     Y Z d S(   u   
Unit tests for Senna
i(   t   unicode_literals(   t   environt   patht   sepN(   t   Senna(   t   SennaTaggert   SennaChunkTaggert   SennaNERTaggeru   SENNAu   /usr/share/senna-v3.0u   Requires Senna executablet   TestSennaPipelinec           B  s   e  Z d  Z d   Z RS(   u    Unittest for nltk.classify.sennac      	   C  s   t  t d d d g  } d j   } g  | j |  D]( } | d | d | d | d f ^ q4 } d d d d d d g } |  j | |  d S(   u   Senna pipeline interfaceu   posu   chku   neru.   Dusseldorf is an international business centeru   wordu
   Dusseldorfu   B-NPu   B-LOCu   NNPu   isu   B-VPu   Ou   VBZu   anu   DTu   internationalu   I-NPu   JJu   businessu   NNu   centerN(   u
   Dusseldorfu   B-NPu   B-LOCu   NNP(   u   isu   B-VPu   Ou   VBZ(   u   anu   B-NPu   Ou   DT(   u   internationalu   I-NPu   Ou   JJ(   u   businessu   I-NPu   Ou   NN(   u   centeru   I-NPu   Ou   NN(   R   t   SENNA_EXECUTABLE_PATHt   splitt   tagt   assertEqual(   t   selft   pipelinet   sentt   tokent   resultt   expected(    (    s8   lib/python2.7/site-packages/nltk/test/unit/test_senna.pyt   test_senna_pipeline   s    ;	(   t   __name__t
   __module__t   __doc__R   (    (    (    s8   lib/python2.7/site-packages/nltk/test/unit/test_senna.pyR      s   t   TestSennaTaggerc           B  s)   e  Z d  Z d   Z d   Z d   Z RS(   u   Unittest for nltk.tag.sennac      
   C  sV   t  t  } | j d j    } d d d d d d d d d g	 } |  j | |  d  S(   Nu,   What is the airspeed of an unladen swallow ?u   Whatu   WPu   isu   VBZu   theu   DTu   airspeedu   NNu   ofu   INu   anu   unladenu   swallowu   ?u   .(   u   Whatu   WP(   u   isu   VBZ(   u   theu   DT(   u   airspeedu   NN(   u   ofu   IN(   u   anu   DT(   u   unladenu   NN(   u   swallowu   NN(   u   ?u   .(   R   R	   R   R
   R   (   R   t   taggerR   R   (    (    s8   lib/python2.7/site-packages/nltk/test/unit/test_senna.pyt   test_senna_tagger4   s    	c      
   C  s   t  t  } | j d j    } d d d d d d d d d g	 } t | j | d d  } d  d! d" g } |  j | |  |  j | |  d  S(#   Nu,   What is the airspeed of an unladen swallow ?u   Whatu   B-NPu   isu   B-VPu   theu   airspeedu   I-NPu   ofu   B-PPu   anu   unladenu   swallowu   ?u   Ot
   chunk_typeu   NPu   0u   the airspeedu   2-3u   an unladen swallowu   5-6-7(   u   Whatu   B-NP(   u   isu   B-VP(   u   theu   B-NP(   u   airspeedu   I-NP(   u   ofu   B-PP(   u   anu   B-NP(   u   unladenu   I-NP(   u   swallowu   I-NP(   u   ?u   O(   u   Whatu   0(   u   the airspeedu   2-3(   u   an unladen swallowu   5-6-7(   R   R	   R   R
   t   listt   bio_to_chunksR   (   R   t	   chktaggert   result_1t
   expected_1t   result_2t
   expected_2(    (    s8   lib/python2.7/site-packages/nltk/test/unit/test_senna.pyt   test_senna_chunk_taggerD   s"    		c      	   C  s   t  t  } | j d j    } d d d d d d g } | j d j    } d d d d d d d d  g } |  j | |  |  j | |  d  S(!   Nu#   Shakespeare theatre was in London .u   Shakespeareu   B-PERu   theatreu   Ou   wasu   inu   Londonu   B-LOCu   .u!   UN headquarters are in NY , USA .u   UNu   B-ORGu   headquartersu   areu   NYu   ,u   USA(   u   Shakespeareu   B-PER(   u   theatreu   O(   u   wasu   O(   u   inu   O(   u   Londonu   B-LOC(   u   .u   O(   u   UNu   B-ORG(   u   headquartersu   O(   u   areu   O(   u   inu   O(   u   NYu   B-LOC(   u   ,u   O(   u   USAu   B-LOC(   u   .u   O(   R   R	   R   R
   R   (   R   t	   nertaggerR   R   R    R!   (    (    s8   lib/python2.7/site-packages/nltk/test/unit/test_senna.pyt   test_senna_ner_tagger\   s&    		(   R   R   R   R   R"   R$   (    (    (    s8   lib/python2.7/site-packages/nltk/test/unit/test_senna.pyR   0   s   		(   R   t
   __future__R    t   osR   R   R   t   loggingt   unittestt   nltk.classifyR   t   nltk.tagR   R   R   t   normpathR	   t   existst   senna_is_installedt
   skipUnlesst   TestCaseR   R   (    (    (    s8   lib/python2.7/site-packages/nltk/test/unit/test_senna.pyt   <module>   s   