
    Pi
                         d Z ddlZddlZddlmZ ddlmZ ddlmZm	Z	 ej
        d             Zd Zd Zej                            d	g d
          d             Zd ZdS )z<Tests of the phonemizer.backend.espeak.words_mismatch module    N)	phonemize)Ignore)	Separatordefault_separatorc                  
    g dS )N)zHow are you?zI have been busyzI won't have time r       r/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/test/test_espeak_word_mismatch.pytextr      s    DDDDr	   c                      d }  | dg          dgk    sJ  | dg          dgk    sJ  | dg          dgk    sJ  | dg          dgk    sJ  | dg          d	gk    sJ d S )
Nc                 B    t          j        | t          j                  S )N)wordsep)r   _count_wordsr   word)phns    r
   <lambda>z"test_count_words.<locals>.<lambda>   s!    f1&+- - - r	    r   a   aaaz aaa  z a  a 	aa     r   )count_wordss    r
   test_count_wordsr      s    - -K;t####;u!$$$$;wA3&&&&;z""qc))));'((QC//////r	   c                     t          j        t                    5  t          dd           d d d            n# 1 swxY w Y   t          j        t                    5  t          ddd           d d d            d S # 1 swxY w Y   d S )Nr   foo)words_mismatchfestivalremove)backendr   )pytestraisesRuntimeErrorr   r   r	   r
   test_badr#      s   	|	$	$ , ,"U++++, , , , , , , , , , , , , , , 
|	$	$ C C"jBBBBC C C C C C C C C C C C C C C C C Cs   8<<A<<B B mode)ignorewarnr   c                    t          |dd|          }|dk    r8|g dk    sJ d | j        D             }t          |          dk    sJ d|v sJ d S |d	k    r>|g d
k    sJ d | j        D             }t          |          dk    sJ d|v sJ d|v sJ d S |dk    rB|g dk    sJ d | j        D             }t          |          dk    sJ d|v sJ d|v sJ d|v sJ d S d S )Nespeaken-us)r   languager   r%   )   haʊ ɑːɹ juː u   aɪ hɐvbɪn bɪzi u   aɪ woʊntɐv taɪm c                     g | ]
}|d          S    r   .0msgs     r
   
<listcomp>z!test_mismatch.<locals>.<listcomp>.       ;;;sCF;;;r	   r   z0words count mismatch on 67.0% of the lines (2/3)r   )r+   r   r   c                     g | ]
}|d          S r-   r   r/   s     r
   r2   z!test_mismatch.<locals>.<listcomp>3   r3   r	   r.   zremoving the mismatched linesr&   c                     g | ]
}|d          S r-   r   r/   s     r
   r2   z!test_mismatch.<locals>.<listcomp>9   r3   r	   r   z;words count mismatch on line 2 (expected 4 words but get 3)z;words count mismatch on line 3 (expected 4 words but get 3))r   record_tupleslen)caplogr   r$   r   messagess        r
   test_mismatchr:   '   s   
hG G GC xZZZZZZZ;;f&:;;;8}}!!!!AXMMMMMM			3333333;;f&:;;;8}}!!!!AXMMMM.(::::::	ZZZZZZZ;;f&:;;;8}}!!!!I    J   AXMMMM 
 NMr	   c           	          t          dddt          dd          d          }|d	k    sJ d
 | j        D             }t          |          dk    sJ d S )Ntryr(   r)   | )r   phoner&   )r   r*   	separatorr   u
   t ɹ aɪ |c                     g | ]
}|d          S r-   r   r/   s     r
   r2   z)test_custom_separator.<locals>.<listcomp>N   s    7773A777r	   r   )r   r   r6   r7   )r8   r   r9   s      r
   test_custom_separatorrB   E   sx    
C000  C ,77&"6777Hx==Ar	   )__doc__r    re
phonemizerr   (phonemizer.backend.espeak.words_mismatchr   phonemizer.separatorr   r   fixturer   r   r#   markparametrizer:   rB   r   r	   r
   <module>rK      s    B B
  				             ; ; ; ; ; ; = = = = = = = = E E E0 0 0C C C !=!=!=>>N N ?>N:
 
 
 
 
r	   