o
    hZ                     @   s  d Z ddlZddlZddlT ejjZdZdZd	 Z
d	 Zg dg d	g d
gZg dg dg dgZdZd	 ZdZd	 Zg dg dgZd	 ZddgZg dg dgZdZg dgZdddddddd d!d"d#d$gfd%ggZd&Zd'Zd(	 Zd)	 Zd*Zd+Zd,Zd-	 Z d.	 Z!d/	 Z"d0Z#d1Z$d2	 Z%d3	 Z&ej'd4d5d6d7 Z(ej'd4d5d8d9 Z)ej'd4d5d:d; Z*d<d= Z+d>d? Z,d@dA Z-dBdC Z.dDdE Z/dFdG Z0dHdI Z1dJdK Z2dLdM Z3dNdO Z4dPdQ Z5dRdS Z6dTdU Z7dVdW Z8dXdY Z9dZd[ Z:d\d] Z;d^d_ Z<d`da Z=dS )bz
Basic testing of tokenization
    N)*zZJoe Smith lives in California. Joe's favorite food is pizza. He enjoys going to the beach.zjJoe   Smith 
 lives in
 California.   Joe's    favorite food 	is pizza. 			He enjoys 		going to the beach.aH  
<Token id=1;words=[<Word id=1;text=Joe>]>
<Token id=2;words=[<Word id=2;text=Smith>]>
<Token id=3;words=[<Word id=3;text=lives>]>
<Token id=4;words=[<Word id=4;text=in>]>
<Token id=5;words=[<Word id=5;text=California>]>
<Token id=6;words=[<Word id=6;text=.>]>

<Token id=1-2;words=[<Word id=1;text=Joe>, <Word id=2;text='s>]>
<Token id=3;words=[<Word id=3;text=favorite>]>
<Token id=4;words=[<Word id=4;text=food>]>
<Token id=5;words=[<Word id=5;text=is>]>
<Token id=6;words=[<Word id=6;text=pizza>]>
<Token id=7;words=[<Word id=7;text=.>]>

<Token id=1;words=[<Word id=1;text=He>]>
<Token id=2;words=[<Word id=2;text=enjoys>]>
<Token id=3;words=[<Word id=3;text=going>]>
<Token id=4;words=[<Word id=4;text=to>]>
<Token id=5;words=[<Word id=5;text=the>]>
<Token id=6;words=[<Word id=6;text=beach>]>
<Token id=7;words=[<Word id=7;text=.>]>
aZ  
<Token id=1;words=[<Word id=1;text=Joe>]>
<Token id=2;words=[<Word id=2;text=Smith>]>
<Token id=3;words=[<Word id=3;text=lives>]>
<Token id=4;words=[<Word id=4;text=in>]>
<Token id=5;words=[<Word id=5;text=California>]>
<Token id=6;words=[<Word id=6;text=.>]>

<Token id=1;words=[<Word id=1;text=Joe>]>
<Token id=2;words=[<Word id=2;text='s>]>
<Token id=3;words=[<Word id=3;text=favorite>]>
<Token id=4;words=[<Word id=4;text=food>]>
<Token id=5;words=[<Word id=5;text=is>]>
<Token id=6;words=[<Word id=6;text=pizza>]>
<Token id=7;words=[<Word id=7;text=.>]>

<Token id=1;words=[<Word id=1;text=He>]>
<Token id=2;words=[<Word id=2;text=enjoys>]>
<Token id=3;words=[<Word id=3;text=going>]>
<Token id=4;words=[<Word id=4;text=to>]>
<Token id=5;words=[<Word id=5;text=the>]>
<Token id=6;words=[<Word id=6;text=beach>]>
<Token id=7;words=[<Word id=7;text=.>]>
)JoeSmithlivesin
California.))zJoe'sTfavoritefoodispizzar   )Heenjoysgoingtothebeachr   )r   z'sr	   r
   r   r   r   )r   r   r   zto the beachr   a  
<Token id=1;words=[<Word id=1;text=Joe>]>
<Token id=2;words=[<Word id=2;text=Smith>]>
<Token id=3;words=[<Word id=3;text=lives>]>
<Token id=4;words=[<Word id=4;text=in>]>
<Token id=5;words=[<Word id=5;text=California>]>
<Token id=6;words=[<Word id=6;text=.>]>

<Token id=1;words=[<Word id=1;text=Joe>]>
<Token id=2;words=[<Word id=2;text='s>]>
<Token id=3;words=[<Word id=3;text=favorite>]>
<Token id=4;words=[<Word id=4;text=food>]>
<Token id=5;words=[<Word id=5;text=is>]>
<Token id=6;words=[<Word id=6;text=pizza>]>
<Token id=7;words=[<Word id=7;text=.>]>

<Token id=1;words=[<Word id=1;text=He>]>
<Token id=2;words=[<Word id=2;text=enjoys>]>
<Token id=3;words=[<Word id=3;text=going>]>
<Token id=4;words=[<Word id=4;text=to the beach>]>
<Token id=5;words=[<Word id=5;text=.>]>
an  
<Token id=1;words=[<Word id=1;text=Joe>]>
<Token id=2;words=[<Word id=2;text=Smith>]>
<Token id=3;words=[<Word id=3;text=lives>]>
<Token id=4;words=[<Word id=4;text=in>]>
<Token id=5;words=[<Word id=5;text=California>]>
<Token id=6;words=[<Word id=6;text=.>]>
<Token id=7;words=[<Word id=7;text=Joe>]>
<Token id=8;words=[<Word id=8;text='s>]>
<Token id=9;words=[<Word id=9;text=favorite>]>
<Token id=10;words=[<Word id=10;text=food>]>
<Token id=11;words=[<Word id=11;text=is>]>
<Token id=12;words=[<Word id=12;text=pizza>]>
<Token id=13;words=[<Word id=13;text=.>]>
<Token id=14;words=[<Word id=14;text=He>]>
<Token id=15;words=[<Word id=15;text=enjoys>]>
<Token id=16;words=[<Word id=16;text=going>]>
<Token id=17;words=[<Word id=17;text=to>]>
<Token id=18;words=[<Word id=18;text=the>]>
<Token id=19;words=[<Word id=19;text=beach>]>
<Token id=20;words=[<Word id=20;text=.>]>
z`Joe Smith lives in California .
Joe's favorite  food is  pizza .

He enjoys going to the beach.
a  
<Token id=1;words=[<Word id=1;text=Joe>]>
<Token id=2;words=[<Word id=2;text=Smith>]>
<Token id=3;words=[<Word id=3;text=lives>]>
<Token id=4;words=[<Word id=4;text=in>]>
<Token id=5;words=[<Word id=5;text=California>]>
<Token id=6;words=[<Word id=6;text=.>]>

<Token id=1;words=[<Word id=1;text=Joe's>]>
<Token id=2;words=[<Word id=2;text=favorite>]>
<Token id=3;words=[<Word id=3;text=food>]>
<Token id=4;words=[<Word id=4;text=is>]>
<Token id=5;words=[<Word id=5;text=pizza>]>
<Token id=6;words=[<Word id=6;text=.>]>

<Token id=1;words=[<Word id=1;text=He>]>
<Token id=2;words=[<Word id=2;text=enjoys>]>
<Token id=3;words=[<Word id=3;text=going>]>
<Token id=4;words=[<Word id=4;text=to>]>
<Token id=5;words=[<Word id=5;text=the>]>
<Token id=6;words=[<Word id=6;text=beach.>]>
)r   lovesr   r   a  
<Token id=1;words=[<Word id=1;text=Joe>]>
<Token id=2;words=[<Word id=2;text=Smith>]>
<Token id=3;words=[<Word id=3;text=lives>]>
<Token id=4;words=[<Word id=4;text=in>]>
<Token id=5;words=[<Word id=5;text=California>]>
<Token id=6;words=[<Word id=6;text=.>]>

<Token id=1;words=[<Word id=1;text=He>]>
<Token id=2;words=[<Word id=2;text=loves>]>
<Token id=3;words=[<Word id=3;text=pizza>]>
<Token id=4;words=[<Word id=4;text=.>]>
z$This is a sentence. This is another.zThis is a third.)	Thisr   asentencer   r   r   anotherr   )r   r   r   thirdr   z;Le prince va manger du poulet aux les magasins aujourd'hui.)LeprincevamangerduTpouletauxTlesmagasinsaujourd'huir   r   r   r   r   r   r   r    r"   r#   r$   zaujourd'huir   u-  
<Token id=1;words=[<Word id=1;text=Le>]>
<Token id=2;words=[<Word id=2;text=prince>]>
<Token id=3;words=[<Word id=3;text=va>]>
<Token id=4;words=[<Word id=4;text=manger>]>
<Token id=5-6;words=[<Word id=5;text=de>, <Word id=6;text=le>]>
<Token id=7;words=[<Word id=7;text=poulet>]>
<Token id=8-9;words=[<Word id=8;text=à>, <Word id=9;text=les>]>
<Token id=10;words=[<Word id=10;text=les>]>
<Token id=11;words=[<Word id=11;text=magasins>]>
<Token id=12-13;words=[<Word id=12;text=aujourd'>, <Word id=13;text=hui>]>
<Token id=14;words=[<Word id=14;text=.>]>
uH   北京は中国の首都です。 北京の人口は2152万人です。
u  
<Token id=1;words=[<Word id=1;text=北京>]>
<Token id=2;words=[<Word id=2;text=は>]>
<Token id=3;words=[<Word id=3;text=中国>]>
<Token id=4;words=[<Word id=4;text=の>]>
<Token id=5;words=[<Word id=5;text=首都>]>
<Token id=6;words=[<Word id=6;text=です>]>
<Token id=7;words=[<Word id=7;text=。>]>

<Token id=1;words=[<Word id=1;text=北京>]>
<Token id=2;words=[<Word id=2;text=の>]>
<Token id=3;words=[<Word id=3;text=人口>]>
<Token id=4;words=[<Word id=4;text=は>]>
<Token id=5;words=[<Word id=5;text=2152万>]>
<Token id=6;words=[<Word id=6;text=人>]>
<Token id=7;words=[<Word id=7;text=です>]>
<Token id=8;words=[<Word id=8;text=。>]>
u  
<Token id=1;words=[<Word id=1;text=北京>]>
<Token id=2;words=[<Word id=2;text=は>]>
<Token id=3;words=[<Word id=3;text=中国>]>
<Token id=4;words=[<Word id=4;text=の>]>
<Token id=5;words=[<Word id=5;text=首都>]>
<Token id=6;words=[<Word id=6;text=です>]>
<Token id=7;words=[<Word id=7;text=。>]>
<Token id=8;words=[<Word id=8;text=北京>]>
<Token id=9;words=[<Word id=9;text=の>]>
<Token id=10;words=[<Word id=10;text=人口>]>
<Token id=11;words=[<Word id=11;text=は>]>
<Token id=12;words=[<Word id=12;text=2152万>]>
<Token id=13;words=[<Word id=13;text=人>]>
<Token id=14;words=[<Word id=14;text=です>]>
<Token id=15;words=[<Word id=15;text=。>]>
uK   北京是中国的首都。 北京有2100万人口，是一个直辖市。
uN   北
京是中
国的首
都。 北京有2100万人口，是一个直辖市。
uP   北
京是中
国的首
都。

 北京有2100万人口，是一个直辖市。
u  
<Token id=1;words=[<Word id=1;text=北京>]>
<Token id=2;words=[<Word id=2;text=是>]>
<Token id=3;words=[<Word id=3;text=中国>]>
<Token id=4;words=[<Word id=4;text=的>]>
<Token id=5;words=[<Word id=5;text=首都>]>
<Token id=6;words=[<Word id=6;text=。>]>

<Token id=1;words=[<Word id=1;text=北京>]>
<Token id=2;words=[<Word id=2;text=有>]>
<Token id=3;words=[<Word id=3;text=2100>]>
<Token id=4;words=[<Word id=4;text=万>]>
<Token id=5;words=[<Word id=5;text=人口>]>
<Token id=6;words=[<Word id=6;text=，>]>
<Token id=7;words=[<Word id=7;text=是>]>
<Token id=8;words=[<Word id=8;text=一个>]>
<Token id=9;words=[<Word id=9;text=直辖市>]>
<Token id=10;words=[<Word id=10;text=。>]>
u  
<Token id=1;words=[<Word id=1;text=北京>]>
<Token id=2;words=[<Word id=2;text=是>]>
<Token id=3;words=[<Word id=3;text=中国>]>
<Token id=4;words=[<Word id=4;text=的>]>
<Token id=5;words=[<Word id=5;text=首都>]>
<Token id=6;words=[<Word id=6;text=。>]>

<Token id=1;words=[<Word id=1;text=北京>]>
<Token id=2;words=[<Word id=2;text=有>]>
<Token id=3;words=[<Word id=3;text=2100万>]>
<Token id=4;words=[<Word id=4;text=人口>]>
<Token id=5;words=[<Word id=5;text=，>]>
<Token id=6;words=[<Word id=6;text=是>]>
<Token id=7;words=[<Word id=7;text=一>]>
<Token id=8;words=[<Word id=8;text=个>]>
<Token id=9;words=[<Word id=9;text=直辖>]>
<Token id=10;words=[<Word id=10;text=市>]>
<Token id=11;words=[<Word id=11;text=。>]>
u  
<Token id=1;words=[<Word id=1;text=北京>]>
<Token id=2;words=[<Word id=2;text=是>]>
<Token id=3;words=[<Word id=3;text=中国>]>
<Token id=4;words=[<Word id=4;text=的>]>
<Token id=5;words=[<Word id=5;text=首都>]>
<Token id=6;words=[<Word id=6;text=。>]>
<Token id=7;words=[<Word id=7;text=北京>]>
<Token id=8;words=[<Word id=8;text=有>]>
<Token id=9;words=[<Word id=9;text=2100>]>
<Token id=10;words=[<Word id=10;text=万>]>
<Token id=11;words=[<Word id=11;text=人口>]>
<Token id=12;words=[<Word id=12;text=，>]>
<Token id=13;words=[<Word id=13;text=是>]>
<Token id=14;words=[<Word id=14;text=一个>]>
<Token id=15;words=[<Word id=15;text=直辖市>]>
<Token id=16;words=[<Word id=16;text=。>]>
u   我们一起学(猫叫)u   ข้าราชการได้รับการหมุนเวียนเป็นระยะ และเขาได้รับมอบหมายให้ประจำในระดับภูมิภาคu  
<Token id=1;words=[<Word id=1;text=ข้าราชการ>]>
<Token id=2;words=[<Word id=2;text=ได้รับ>]>
<Token id=3;words=[<Word id=3;text=การ>]>
<Token id=4;words=[<Word id=4;text=หมุนเวียน>]>
<Token id=5;words=[<Word id=5;text=เป็นระยะ>]>

<Token id=1;words=[<Word id=1;text=และ>]>
<Token id=2;words=[<Word id=2;text=เขา>]>
<Token id=3;words=[<Word id=3;text=ได้>]>
<Token id=4;words=[<Word id=4;text=รับมอบหมาย>]>
<Token id=5;words=[<Word id=5;text=ให้>]>
<Token id=6;words=[<Word id=6;text=ประจำ>]>
<Token id=7;words=[<Word id=7;text=ใน>]>
<Token id=8;words=[<Word id=8;text=ระดับ>]>
<Token id=9;words=[<Word id=9;text=ภูมิภาค>]>
u  
<Token id=1;words=[<Word id=1;text=ข้าราชการ>]>
<Token id=2;words=[<Word id=2;text=ได้รับ>]>
<Token id=3;words=[<Word id=3;text=การ>]>
<Token id=4;words=[<Word id=4;text=หมุนเวียน>]>
<Token id=5;words=[<Word id=5;text=เป็นระยะ>]>
<Token id=6;words=[<Word id=6;text=และ>]>
<Token id=7;words=[<Word id=7;text=เขา>]>
<Token id=8;words=[<Word id=8;text=ได้>]>
<Token id=9;words=[<Word id=9;text=รับมอบหมาย>]>
<Token id=10;words=[<Word id=10;text=ให้>]>
<Token id=11;words=[<Word id=11;text=ประจำ>]>
<Token id=12;words=[<Word id=12;text=ใน>]>
<Token id=13;words=[<Word id=13;text=ระดับ>]>
<Token id=14;words=[<Word id=14;text=ภูมิภาค>]>
module)scopec                  C   s   t jdtdd} | S )z2 Create a pipeline with a basic English tokenizer tokenizeen)
processorsdirlangstanzaPipelineTEST_MODELS_DIRnlp r3   _/var/www/html/env_mimamsha/lib/python3.10/site-packages/stanza/tests/pipeline/test_tokenizer.pybasic_pipeline9     r5   c                  C   s   t jdi dtddd} | S )z? Create a pipeline with a basic English pretokenized tokenizer r(   r)   T)r*   r+   r,   tokenize_pretokenizedNr3   r-   r1   r3   r3   r4   pretokenized_pipeline@  s   r8   c                  C   s   t jddtd} | S )z2 Create a pipeline with a basic Chinese tokenizer zhr(   )r,   r*   r+   r-   r1   r3   r3   r4   zh_pipelineF  r6   r:   c                    F   | t  tddd  jD ksJ t fdd jD s!J d S )N

c                 S      g | ]}|  qS r3   tokens_string.0sentr3   r3   r4   
<listcomp>N      z!test_tokenize.<locals>.<listcomp>c                    0   g | ]}|j D ]} j|j|j |jkqqS r3   tokenstext_start_char	_end_charrA   rB   tokendocr3   r4   rC   O     0 )EN_DOCEN_DOC_GOLD_TOKENSjoin	sentencesallr5   r3   rM   r4   test_tokenizeL      rV   c                    r;   )Nr<   c                 S   r=   r3   r>   r@   r3   r3   r4   rC   S  rD   z3test_tokenize_ssplit_robustness.<locals>.<listcomp>c                    rE   r3   rF   rK   rM   r3   r4   rC   T  rO   )EN_DOC_WITH_EXTRA_WHITESPACErQ   rR   rS   rT   rU   r3   rM   r4   test_tokenize_ssplit_robustnessQ  rW   rY   c                    s   | t  tddd  jD ksJ t fdd jD s!J | t tddd  jD ks4J t fdd jD sBJ d S )Nr<   c                 S   r=   r3   r>   r@   r3   r3   r4   rC   X  rD   z%test_pretokenized.<locals>.<listcomp>c                    rE   r3   rF   rK   rM   r3   r4   rC   Y  rO   c                 S   r=   r3   r>   r@   r3   r3   r4   rC   [  rD   c                    rE   r3   rF   rK   rM   r3   r4   rC   \  rO   )EN_DOC_PRETOKENIZEDEN_DOC_PRETOKENIZED_GOLD_TOKENSrR   rS   rT   EN_DOC_PRETOKENIZED_LIST$EN_DOC_PRETOKENIZED_LIST_GOLD_TOKENSr8   r3   rM   r4   test_pretokenizedV  s    r_   c                    s   | t  tddd  jD ksJ t fdd jD s!J | tjg tdgd  tddd  jD ks<J t fdd jD sJJ d S )	Nr<   c                 S   r=   r3   r>   r@   r3   r3   r4   rC   `  rD   z.test_pretokenized_multidoc.<locals>.<listcomp>c                    rE   r3   rF   rK   rM   r3   r4   rC   a  rO   rH   r   c                 S   r=   r3   r>   r@   r3   r3   r4   rC   c  rD   c                    rE   r3   rF   rK   rM   r3   r4   rC   d  rO   )	rZ   r[   rR   rS   rT   r.   Documentr\   r]   r^   r3   rM   r4   test_pretokenized_multidoc^  s    rb   c                  C   T   dd } t jd	i dtd| d}|t}t ddd |jD  ks(J d S )
Nc                 S      | t ksJ tS N) EN_DOC_POSTPROCESSOR_TOKENS_LIST"EN_DOC_POSTPROCESSOR_COMBINED_LIST)in_docr3   r3   r4   dummy_postprocessorh     z/test_postprocessor.<locals>.dummy_postprocessorr(   r)   r*   r+   r,   tokenize_postprocessorr<   c                 S   r=   r3   r>   r@   r3   r3   r4   rC   s  rD   z&test_postprocessor.<locals>.<listcomp>r3   )r.   r/   r0   rP   $EN_DOC_POSTPROCESSOR_COMBINED_TOKENSstriprR   rS   ri   r2   rN   r3   r3   r4   test_postprocessorf     
*rp   c                  C   rc   )
Nc                 S   rd   re   ) FR_DOC_POSTPROCESSOR_TOKENS_LIST&FR_DOC_POSTPROCESSOR_COMBINED_MWT_LIST)inputr3   r3   r4   ri   w  rj   z3test_postprocessor_mwt.<locals>.dummy_postprocessorr(   frrk   r<   c                 S   r=   r3   r>   r@   r3   r3   r4   rC     rD   z*test_postprocessor_mwt.<locals>.<listcomp>r3   )r.   r/   r0   FR_DOC$FR_DOC_PRETOKENIZED_LIST_GOLD_TOKENSrn   rR   rS   ro   r3   r3   r4   test_postprocessor_mwtu  rq   rx   c               	   C   sJ   t t tjdi dtddd} W d    d S 1 sw   Y  d S )Nr(   r)   iamachickenrk   r3   )pytestraises
ValueErrorr.   r/   r0   r1   r3   r3   r4   test_postprocessor_typeerror  s
   "r}   c                     sZ   t jdi dtddd} | t tdd  jD ksJ t fdd jD s+J d S )	Nr(   r)   T)r*   r+   r,   tokenize_no_ssplitc                 S   s   g | ]
}d d |j D qS )c                 S   s   g | ]}|j qS r3   r`   )rA   wr3   r3   r4   rC     s    z-test_no_ssplit.<locals>.<listcomp>.<listcomp>)words)rA   sr3   r3   r4   rC     s    z"test_no_ssplit.<locals>.<listcomp>c                    rE   r3   rF   rK   rM   r3   r4   rC     rO   r3   )r.   r/   r0   EN_DOC_NO_SSPLITEN_DOC_NO_SSPLIT_SENTENCESrS   rT   r1   r3   rM   r4   test_no_ssplit  s   
 r   c                    r;   )Nr<   c                 S   r=   r3   r>   r@   r3   r3   r4   rC     rD   z2test_zh_tokenizer_skip_newline.<locals>.<listcomp>c                    8   g | ]}|j D ]} j|j|j d d|jkqqS 
 rG   rH   rI   rJ   replacerK   rM   r3   r4   rC        8 )ZH_DOC1ZH_DOC1_GOLD_TOKENSrR   rS   rT   r:   r3   rM   r4   test_zh_tokenizer_skip_newline      r   c                    r;   )Nr<   c                 S   r=   r3   r>   r@   r3   r3   r4   rC     rD   z:test_zh_tokenizer_skip_newline_offsets.<locals>.<listcomp>c                    r   r   r   rK   rM   r3   r4   rC     r   )ZH_DOC2r   rR   rS   rT   r   r3   rM   r4   &test_zh_tokenizer_skip_newline_offsets  r   r   c                 C   s   | t }dS )zP
    The original fix for newlines in Chinese text broke () in Chinese text
    N)ZH_PARENS_DOC)r:   rN   r3   r3   r4   test_zh_tokenizer_parens  s   r   c                     sr   t jdtddd d} | t d| jd jjjksJ td	dd  j
D ks)J t fd	d j
D s7J d S )
Nr(   r)   T)r*   r+   r,   tokenize_with_spacydownload_methodSpacyTokenizerr<   c                 S   r=   r3   r>   r@   r3   r3   r4   rC     rD   ztest_spacy.<locals>.<listcomp>c                    rE   r3   rF   rK   rM   r3   r4   rC     rO   )r.   r/   r0   rP   r*   _variant	__class____name__EN_DOC_SPACY_TOKENSrR   rS   rT   r1   r3   rM   r4   
test_spacy  s
    r   c                     st   t jdtdddd d} | t d| jd jjjksJ td	dd  j
D ks*J t fd	d j
D s8J d S )
Nr(   r)   T)r*   r+   r,   r   r~   r   r   r<   c                 S   r=   r3   r>   r@   r3   r3   r4   rC     rD   z(test_spacy_no_ssplit.<locals>.<listcomp>c                    rE   r3   rF   rK   rM   r3   r4   rC     rO   )r.   r/   r0   rP   r*   r   r   r   EN_DOC_GOLD_NOSSPLIT_TOKENSrR   rS   rT   r1   r3   rM   r4   test_spacy_no_ssplit  s
    r   c                     v   t jdtddid d d} | t d| jd jjjksJ td	dd  j
D ks+J t fd	d j
D s9J d S )
Njar(   	sudachipyr,   r+   r*   packager   SudachiPyTokenizerr<   c                 S   r=   r3   r>   r@   r3   r3   r4   rC     rD   z"test_sudachipy.<locals>.<listcomp>c                    rE   r3   rF   rK   rM   r3   r4   rC     rO   )r.   r/   r0   JA_DOCr*   r   r   r   JA_DOC_GOLD_TOKENSrR   rS   rT   r1   r3   rM   r4   test_sudachipy  
    r   c                     x   t jdtddidd d d} | t d| jd jjjksJ td	dd	  j
D ks,J t fd
d	 j
D s:J d S )Nr   r(   r   Tr,   r+   r*   r~   r   r   r   r<   c                 S   r=   r3   r>   r@   r3   r3   r4   rC     rD   z,test_sudachipy_no_ssplit.<locals>.<listcomp>c                    rE   r3   rF   rK   rM   r3   r4   rC     rO   )r.   r/   r0   r   r*   r   r   r   JA_DOC_GOLD_NOSSPLIT_TOKENSrR   rS   rT   r1   r3   rM   r4   test_sudachipy_no_ssplit  
    r   c                     r   )
Nr9   r(   jiebar   JiebaTokenizerr<   c                 S   r=   r3   r>   r@   r3   r3   r4   rC     rD   ztest_jieba.<locals>.<listcomp>c                    rE   r3   rF   rK   rM   r3   r4   rC     rO   )r.   r/   r0   ZH_DOCr*   r   r   r   ZH_DOC_GOLD_TOKENSrR   rS   rT   r1   r3   rM   r4   
test_jieba  r   r   c                     r   )Nr9   r(   r   Tr   r   r<   c                 S   r=   r3   r>   r@   r3   r3   r4   rC     rD   z(test_jieba_no_ssplit.<locals>.<listcomp>c                    rE   r3   rF   rK   rM   r3   r4   rC     rO   )r.   r/   r0   r   r*   r   r   r   ZH_DOC_GOLD_NOSSPLIT_TOKENSrR   rS   rT   r1   r3   rM   r4   test_jieba_no_ssplit  r   r   c                     r   )
Nthr(   	pythainlpr   PyThaiNLPTokenizerr<   c                 S   r=   r3   r>   r@   r3   r3   r4   rC     rD   z"test_pythainlp.<locals>.<listcomp>c                    rE   r3   rF   rK   rM   r3   r4   rC     rO   )r.   r/   r0   TH_DOCr*   r   r   r   TH_DOC_GOLD_TOKENSrR   rS   rT   r1   r3   rM   r4   test_pythainlp  s
    r   c                     r   )Nr   r(   r   Tr   r   r<   c                 S   r=   r3   r>   r@   r3   r3   r4   rC     rD   z,test_pythainlp_no_ssplit.<locals>.<listcomp>c                    rE   r3   rF   rK   rM   r3   r4   rC     rO   )r.   r/   r0   r   r*   r   r   r   TH_DOC_GOLD_NOSSPLIT_TOKENSrR   rS   rT   r1   r3   rM   r4   test_pythainlp_no_ssplit  s
    r   )>__doc__rz   r.   stanza.testsmarkpipeline
pytestmarkrP   rX   rn   rQ   r   rf   rg   rm   r   rZ   r[   r\   r]   r   r   rv   rr   rs   rw   r   r   r   r   r   r   r   r   r   r   r   r   r   fixturer5   r8   r:   rV   rY   r_   rb   rp   rx   r}   r   r   r   r   r   r   r   r   r   r   r   r   r3   r3   r3   r4   <module>   s    
$





			