o
    Pεi	                     @   sn   d Z ddlZddlZddlmZmZmZmZmZm	Z	m
Z
mZmZmZ G dd dejZedkr5e  dS dS )zTests for phoneme features    N)

CONSONANTSSCHWASVOWELSBreak	BreakTypePhonemeLengthStressfrom_vectorstring_to_symbol	to_vectorc                   @   s8   e Zd ZdZdd Zdd Zdd Zdd	 Zd
d ZdS )FeaturesTestCasezTest cases for phoneme featuresc                 C   sb   t  D ]*}|jr
qt|}| |t| tD ]}tj||d}t|}| |t| qqdS )z&Test to/from feature vector for vowels)stressN)	r   valuesalias_ofr   assertEqualr	   r   dataclassesreplace)selfvowelfeat_vecr   vowel_stressed r   G/home/ubuntu/.local/lib/python3.10/site-packages/tests/test_features.pytest_vowels   s   zFeaturesTestCase.test_vowelsc                 C   2   t  D ]}|jr
qt|}| |t| qdS )z*Test to/from feature vector for consonantsN)r   r   r   r   r   r	   )r   	consonantr   r   r   r   test_consonants&      z FeaturesTestCase.test_consonantsc                 C   r   )z&Test to/from feature vector for schwasN)r   r   r   r   r   r	   )r   schwar   r   r   r   test_schwas/   r   zFeaturesTestCase.test_schwasc                 C   s.   t D ]}t|}t|}| |t| qdS )z&Test to/from feature vector for breaksN)r   r   r   r   r	   )r   
break_type	ipa_breakr   r   r   r   test_breaks8   s
   zFeaturesTestCase.test_breaksc                 C   sh   |  tdtjtd tjtjd |  tdtjt	d tjd |  tdtjt
d tjd d	S )
zTest symbol parsingu   ˈãːu   ã)r   lengthu   ɫːu   ɫ)r#   u   ɚːu   ɚN)r   r
   r   r   r   r   PRIMARYr   LONGr   r   )r   r   r   r   test_string_to_symbol?   s   z&FeaturesTestCase.test_string_to_symbolN)	__name__
__module____qualname____doc__r   r   r   r"   r&   r   r   r   r   r      s    		r   __main__)r*   r   unittest	gruut_ipar   r   r   r   r   r   r   r	   r
   r   TestCaser   r'   mainr   r   r   r   <module>   s   0A