o
    XεiZ%                     @   sJ   d Z ddlZddlmZ G dd dejZdd Zedkr#e  dS dS )	zTests for phonemization    N)	sentencesc                   @   s   e Zd ZdZdd Zdd Zdd Zdd	 Zd
d Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd ZdS )PhonemizerTestCasezTest cases for phonemizationc                 C   s*   |  tdddg dfdg dfg dS )zArabic testu#   حَوّامتي مُمْتِلئةaru   حَوَّامَتُي)u   ħau   aːmt   iːu   مُمْتِلِئَة)	r   r   r   r	   ilr      ʔr   NassertEqualget_phonemesself r   P/home/ubuntu/.local/lib/python3.10/site-packages/tests/test_sqlite_phonemizer.pytest_ar   s   

zPhonemizerTestCase.test_arc              
   C   sP   |  tdddg dfdg dfddd	gfd
g dfdg dfddgfg dS )z
Czech testu#   Moje vznášedlo je plné úhořů.zcs-czMoje)r   oj   ɛu   vznášedlo)	vznr      ʃr   dr   r   jer   r   u   plné)pr   r      ɛːu   úhořů)   uːu   ɦr   u   r̝r"   .   ‖Nr   r   r   r   r   test_cs   s   




zPhonemizerTestCase.test_csc              
   C   P   |  tdddg dfdg dfdg dfd	g d
fdg dfddgfg dS )zGerman testz(Mein Luftkissenfahrzeug ist voller Aale.de_DEMein)r   u   aɪ̯r   Luftkissenfahrzeug)r   u   ʊfr	   k   ɪsr   r   r   r*   r      ʁr	   r-      ɔu   ɔʏ̯r+   ist)r,   r-   r	   voller)r   r/   r   r      ɐAale)r   r   r      ər#   r$   Nr   r   r   r   r   
test_de_us&   s   



zPhonemizerTestCase.test_de_usc                 C   sZ   |  tdddddgfdg dfdd	d
gfdg dfdddgfdg dfddgfg dS )zEnglish testzMy hovercraft is full of eels.en_USMyr   u   ˈaɪ
hovercraft)	hu   ˈʌr   u   ɚr+      ɹu   ˌær*   r	   isu   ˈɪr   full)r*   u   ˈʊr   ofr4   r   eels)u   ˈir   r   r#   r$   Nr   r   r   r   r   
test_en_usJ      





zPhonemizerTestCase.test_en_usc                 C   sZ   |  tdddddgfdg dfdg d	fd
g dfdddgfdg dfddgfg dS )zSpanish testu*   Mi aerodeslizador está lleno de anguilas.es_ESMir   r   aerodeslizador)r   e   ɾr   r   rD   r-   r   r   u   θr   r   r   rE      está)rD   r-   r	   r   lleno)u   ʎrD   r   r   der   rD   anguilas)r   r   gr   r   r   r-   r#   r$   Nr   r   r   r   r   test_esY   s   




zPhonemizerTestCase.test_esc              
   C   sH   |  tdddg dfdg dfdg dfd	g d
fdg dfg dS )z
Farsi testu2   هاورکرافت من پر مارماهى استfau   هاورکرافت)r9      ɒːr      ærE   r+   rN   rE   rM   r*   r	      e̞u   من)r   rN   r   u   پر)r    r   rE   u   مارماهى)	r   rM   rE   rN   r   rM   r9   rO   r   u   است)rN   r-   r	   Nr   r   r   r   r   test_faz   s   



zPhonemizerTestCase.test_fac              
   C   sN   |  tdddg dfdg dfddgfd	g d
fdg dfddgfg dS )zFrench testu(   Mon aéroglisseur est plein d'anguilles.fr_FRMon)r   u   ɔ̃r   u   aéroglisseur)
r   rD   r.   r/      ɡr   r   r-   u   œr.   estr   plein)r    r   u   ɛ̃zd'anguilles)r   u   ɑ̃rS   r   r   r#   r$   Nr   r   r   r   r   test_fr   s   



zPhonemizerTestCase.test_frc                 C   sb   |  tdddddgfdg dfdg d	fd
dgfdg dfdddgfdg dfddgfg dS )zItalian testu'   Il mio hovercraft è pieno di anguille.it_ITIlr   r   mio)u   ˈmr   r   r8   )	r   r   rD   rr+   rZ   r   r*   r	      èr   pieno)u   ˈpr   r   r   r   diu   ˈdanguille)r   r   rS   wr   r   r   rD   r#   r$   Nr   r   r   r   r   test_it   s   





zPhonemizerTestCase.test_itc                 C   s   |  tdddddgfdddgfd	g d
fdg dfdg dfdg dfdg dfdddgfdg dfdg dfddgfg dS )zLuxembourgish testu;   An der Zäit hunn sech den Nordwand an d’Sonn gestridden.lb_LBAn   ɑr   derr   r2   u   Zäit)u   ʦu   æːɪr	   hunn)r9   r   r   sech)r   r4   u   ɕden)r   r4   r   Nordwand)r   r      ʀr   r   rc   r   r	   anzd'Sonn)r   r   r   r   
gestridden)	rJ   r4   r   r	   ri   r   r   r4   r   r#   r$   Nr   r   r   r   r   test_lb   s"   









zPhonemizerTestCase.test_lbc              
   C   r&   )z
Dutch testz$Mijn luchtkussenboot zit vol paling.nlMijn)r   u   ɛir   luchtkussenboot)u   ˈl   ʏxr	   r+   rp   r-   r4   r   u   ˌbr   r	   zit)r   r,   r	   vol)r   r/   r   paling)r    r   r   r,   u   ŋr#   r$   Nr   r   r   r   r   test_nl   s   



zPhonemizerTestCase.test_nlc                 C   sb   |  tddddgfdddgfdg d	fd
g dfdg dfdg dfdg dfddgfg dS )zPortuguese testu(   O meu hovercraft está cheio de enguias.ptOr   meur   ewr8   )
r   r   rD   r:   r+   rE   r2   r*   r	   r   rF   )rD   r-   r	   r2   cheio)r   ejr   rH   )r   u   ʒr   enguias)u   ẽrS   r   r2   r-   r#   r$   Nr   r   r   r   r   test_pt   s   





zPhonemizerTestCase.test_ptc                 C   sd   |  tdddg dfdg dfddd	gfd
g dfdg dfdg dfdg dfddgfg dS )zRussian testuO   Моё судно на воздушной подушке полно угрей.ru_RUu   Моё)r   r   r      oːu
   судно)r-   r"   r   r   r   u   наr   r   u   воздушной)	r   r   r   r   r"      ʂr   r   r   u   подушке)r    r   r   r"   r   u   kʲrD   u
   полно)r    r   r   r   r   u
   угрей)r   rS   u   rʲ   eːr   r#   r$   Nr   r   r   r   r   test_ru   s   






zPhonemizerTestCase.test_ruc                 C   sZ   |  tdddg dfdg dfddd	gfd
g dfdg dfdddgfddgfg dS )zSwedish testu   Min svävare är full med ål.sv_SEMin)r   r
   r   u   svävare)u   ²sr   u   'ɛːr   r   rZ   r   u   ärr!   rZ   r<   )r*   u   ɵr   med)r   r   r   u   ålr   r   r#   r$   Nr   r   r   r   r   test_sv   r@   zPhonemizerTestCase.test_svc                 C   sZ   |  tdddg dfdg dfdg dfd	g d
fdddgfdg dfddgfg dS )zSwahili testz+Gari langu linaloangama limejaa na mikunga.swGari)u   ɠrc   rE   r   langu)r   rc      ᵑgr   linaloangama)r   r   r   rc   r   r/   rc   r   rc   r   rc   limejaa)r   r   r   r   u   ʄrc   rc   nar   rc   mikunga)r   r   r+   r   r   rc   r#   r$   Nr   r   r   r   r   test_sw   s   




zPhonemizerTestCase.test_swN)__name__
__module____qualname____doc__r   r%   r5   r?   rK   rP   rV   r`   rl   ru   r}   r   r   r   r   r   r   r   r      s     
$!r   c                 C   s   t t| |d}dd |D S )z%Return (text, phonemes) for each word)langc                 S   s   g | ]}|j r|j|j fqS r   )phonemestext).0r_   r   r   r   
<listcomp>  s    z get_phonemes.<locals>.<listcomp>)nextr   )r   r   sentencer   r   r   r     s   r   __main__)	r   unittestgruutr   TestCaser   r   r   mainr   r   r   r   <module>   s     