
    Ng                     N   d Z ddlZddlmZmZmZ ddlmZ ddlm	Z	m
Z
mZ dev r ej        ed                   ez   ZndZ ej        e          Z ej        ed           G d	 d
ej                              Z ej        ed           G d dej                              ZdS )z
Unit tests for Senna
    N)environpathsep)Senna)SennaChunkTaggerSennaNERTaggerSennaTaggerSENNAz/usr/share/senna-v3.0zRequires Senna executablec                       e Zd ZdZd ZdS )TestSennaPipelinez Unittest for nltk.classify.sennac                     t          t          g d          }d                                }d |                    |          D             }g d}|                     ||           dS )zSenna pipeline interface)poschknerz.Dusseldorf is an international business centerc                 J    g | ] }|d          |d         |d         |d         f!S )wordr   r   r    ).0tokens     U/var/www/html/ai-engine/env/lib/python3.11/site-packages/nltk/test/unit/test_senna.py
<listcomp>z9TestSennaPipeline.test_senna_pipeline.<locals>.<listcomp>   sA     
 
 
 6]E%L%,eE
 
 
    ))
DusseldorfB-NPB-LOCNNP)isB-VPOVBZ)anr   r   DT)internationalI-NPr   JJ)businessr$   r   NN)centerr$   r   r'   N)r   SENNA_EXECUTABLE_PATHsplittagassertEqual)selfpipelinesentresultexpecteds        r   test_senna_pipelinez%TestSennaPipeline.test_senna_pipeline   s     .0E0E0EFF?EEGG
 
!d++
 
 

 
 
 	*****r   N)__name__
__module____qualname____doc__r2   r   r   r   r   r      s)        **+ + + + +r   r   c                   $    e Zd ZdZd Zd Zd ZdS )TestSennaTaggerzUnittest for nltk.tag.sennac                     t          t                    }|                    d                                          }g d}|                     ||           d S )N,What is the airspeed of an unladen swallow ?)	)WhatWP)r   r    )ther"   )airspeedr'   )ofIN)r!   r"   )unladenr'   )swallowr'   )?.)r	   r)   r+   r*   r,   )r-   taggerr0   r1   s       r   test_senna_taggerz!TestSennaTagger.test_senna_tagger0   s]    233JPPRRSS

 

 

 	*****r   c                 ,   t          t                    }|                    d                                          }g d}t	          |                    |d                    }g d}|                     ||           |                     ||           d S )Nr:   )	)r;   r   )r   r   )r=   r   )r>   r$   )r?   zB-PP)r!   r   )rA   r$   )rB   r$   )rC   r   NP)
chunk_type))r;   0)zthe airspeedz2-3)zan unladen swallowz5-6-7)r   r)   r+   r*   listbio_to_chunksr,   )r-   	chktaggerresult_1
expected_1result_2
expected_2s         r   test_senna_chunk_taggerz'TestSennaTagger.test_senna_chunk_tagger@   s    $%:;;	==!O!U!U!W!WXX

 

 


 	//T/JJKK
 
 


 	:...:.....r   c                 2   t          t                    }|                    d                                          }g d}|                    d                                          }g d}|                     ||           |                     ||           d S )Nz#Shakespeare theatre was in London .))ShakespearezB-PER)theatrer   )wasr   inr   )Londonr   rD   r   z!UN headquarters are in NY , USA .))UNzB-ORG)headquartersr   )arer   rW   )NYr   ),r   )USAr   rZ   )r   r)   r+   r*   r,   )r-   	nertaggerrN   rO   rP   rQ   s         r   test_senna_ner_taggerz%TestSennaTagger.test_senna_ner_taggerX   s    "#899	==!F!L!L!N!NOO
 
 

 ==!D!J!J!L!LMM	
 	
 	

 	:...:.....r   N)r3   r4   r5   r6   rF   rR   rb   r   r   r   r8   r8   ,   sG        %%+ + + / / /0/ / / / /r   r8   )r6   unittestosr   r   r   nltk.classifyr   nltk.tagr   r   r	   normpathr)   existssenna_is_installed
skipUnlessTestCaser   r8   r   r   r   <module>rl      sY     ! ! ! ! ! ! ! ! ! !       B B B B B B B B B B g)DM''*:;;cA3 T[!677  ')DEE+ + + + +) + + FE+. ')DEEC/ C/ C/ C/ C/h' C/ C/ FEC/ C/ C/r   