o
    Pεi(                     @   sN   d Z ddlZddlmZ ddlmZ G dd dejZedkr%e	  dS dS )z.Tests for phoneme conversion between languages    N)Phonemes)guess_phonemesc                   @   sd   e Zd ZdZe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 )AccentTestCasez3Test cases for phoneme conversion between languagesc                 C   s   t d| _d S )Nzde-de)r   from_languagede_phonemes)cls r   E/home/ubuntu/.local/lib/python3.10/site-packages/tests/test_accent.py
setUpClass   s   zAccentTestCase.setUpClassc                 C   s6   t d| j}| t|jd | |jd jd dS )zTest exact matchk   r   Nr   r   assertEquallenphonemestextselfguessedr   r   r	   
test_exact      zAccentTestCase.test_exactc                 C   6   t d| j}| t|jd | |jd jd dS )zTest matching lettersu   ɐ̯ːr   r      ɐNr   r   r   r   r	   test_letters   r   zAccentTestCase.test_lettersc                 C   r   )zTest nearby vowelu   ɑr   r   r   Nr   r   r   r   r	   test_close_vowel   s   zAccentTestCase.test_close_vowelc                 C   s:   t d| j}| t|jd | |jd jddh dS )zTest nearby consonant   ðr   r   vzN)r   r   r   r   r   assertInr   r   r   r   r	   test_close_consonant'   s   z#AccentTestCase.test_close_consonantc                 C   r   )z0Test dipthong (two vowels) with matching lettersu   aʊr   r   u   aʊ̯Nr   r   r   r   r	   test_dipthong_letters_match0   r   z*AccentTestCase.test_dipthong_letters_matchc                 C   sJ   t d| j}| t|jd | |jd jd | |jd jd dS )z2Test dipthong (two vowels) split into two phonemesu   oʊ   r   u   oːr   u   ʊNr   r   r   r   r	   test_dipthong_split7   s   z"AccentTestCase.test_dipthong_splitc                 C   L   ddl m} |D ]}t|| j}| t|jd | |jd j| qdS )u   Test ɡ/g mappingr   )GSr   N)	gruut_ipa.accentr$   r   r   r   r   r   r   r   )r   r$   gr   r   r   r	   test_g?      zAccentTestCase.test_gc                 C   r#   )zTest r-like mappingr   )R_LIKEr   N)	r%   r)   r   r   r   r   r   r   r   )r   r)   rr   r   r   r	   test_rI   r(   zAccentTestCase.test_rc                 C   s`   ddl m}m} ddlm} |D ]}t|| j}| t|j	d | 
|j	d j||  qdS )zTest schwa mappingr   )r)   SCHWA_PREFERRED)SCHWASr   N)r%   r)   r,   gruut_ipa.constantsr-   r   r   r   r   r   r   r   )r   r)   r,   r-   sr   r   r   r	   
test_schwaS   s   zAccentTestCase.test_schwaN)__name__
__module____qualname____doc__classmethodr
   r   r   r   r   r    r"   r'   r+   r0   r   r   r   r	   r   	   s    
		

r   __main__)
r4   unittest	gruut_ipar   r%   r   TestCaser   r1   mainr   r   r   r	   <module>   s   X