a
    d¸Ñg  ã                   @   sF   d dl Z d dlZd dlZd dlZG dd„ dejƒZedkrBe ¡  dS )é    Nc                   @   s2  e Zd Zdd„ Zdd„ Ze ej 	d¡d¡dd„ ƒZ
e d	ejv d
¡dd„ ƒZe dejv d¡dd„ ƒZe dejv d¡dd„ ƒZe dejv d¡dd„ ƒZe dejv o²dejv d¡dd„ ƒZe dejv oÖdejv d¡dd„ ƒZe dejv oúdejv d¡dd „ ƒZe dejv o dejv d¡d!d"„ ƒZd#S )$ÚTestRecognitionc                 C   sd   t j t j t j t¡¡d¡| _t j t j t j t¡¡d¡| _t j t j t j t¡¡d¡| _d S )Nzenglish.wavzfrench.aiffzchinese.flac)	ÚosÚpathÚjoinÚdirnameÚrealpathÚ__file__ÚAUDIO_FILE_ENÚAUDIO_FILE_FRÚAUDIO_FILE_ZH)Úself© r   úT/var/www/html/texto_audio/venv/lib/python3.9/site-packages/tests/test_recognition.pyÚsetUp   s      zTestRecognition.setUpc                 C   s’   t  ¡ }tt|ƒƒ}|  |jd¡ |  |j¡ |  |jd¡ |  |j	d¡ |  |j
d¡ |  |j¡ |  |jd¡ |  |jd¡ |  d|v ¡ d S )Ni,  g333333Ã?g      ø?gš™™™™™é?g333333Ó?g      à?Zrecognize_google)ÚsrÚ
RecognizerÚsetÚdirÚassertEqualZenergy_thresholdÚ
assertTrueZdynamic_energy_thresholdZ!dynamic_energy_adjustment_dampingZdynamic_energy_ratioZpause_thresholdZassertIsNoneZoperation_timeoutZphrase_thresholdZnon_speaking_duration)r   ÚrÚ
attributesr   r   r   Útest_recognizer_attributes   s    z*TestRecognition.test_recognizer_attributesÚwinzskip on Windowsc                 C   sT   t  ¡ }t  | j¡}| |¡}W d   ƒ n1 s40    Y  |  | |¡d¡ d S )Núone two three)r   r   Ú	AudioFiler	   Úrecordr   Zrecognize_sphinx©r   r   ÚsourceÚaudior   r   r   Útest_sphinx_english    s    6z#TestRecognition.test_sphinx_englishÚ
WIT_AI_KEYzFrequires Wit.ai key to be specified in WIT_AI_KEY environment variablec                 C   s^   t  ¡ }t  | j¡}| |¡}W d   ƒ n1 s40    Y  |  |j|tjd dd¡ d S )Nr!   ©Úkeyr   )	r   r   r   r	   r   r   Zrecognize_witr   Úenvironr   r   r   r   Útest_wit_english&   s    6z TestRecognition.test_wit_englishÚBING_KEYz^requires Microsoft Bing Voice Recognition key to be specified in BING_KEY environment variablec                 C   s^   t  ¡ }t  | j¡}| |¡}W d   ƒ n1 s40    Y  |  |j|tjd dd¡ d S )Nr&   r"   z123.)	r   r   r   r	   r   r   Úrecognize_bingr   r$   r   r   r   r   Útest_bing_english,   s    6z!TestRecognition.test_bing_englishc                 C   s`   t  ¡ }t  | j¡}| |¡}W d   ƒ n1 s40    Y  |  |j|tjd ddd¡ d S )Nr&   úfr-FR©r#   Úlanguageu   Essaye la dictÃ©e numÃ©ro un.)	r   r   r   r
   r   r   r'   r   r$   r   r   r   r   Útest_bing_french2   s    6z TestRecognition.test_bing_frenchc                 C   s`   t  ¡ }t  | j¡}| |¡}W d   ƒ n1 s40    Y  |  |j|tjd ddd¡ d S )Nr&   úzh-CNr*   u   ç ¸è‡ªå·±çš„è„šã€‚)	r   r   r   r   r   r   r'   r   r$   r   r   r   r   Útest_bing_chinese8   s    6z!TestRecognition.test_bing_chineseÚHOUNDIFY_CLIENT_IDÚHOUNDIFY_CLIENT_KEYz~requires Houndify client ID and client key to be specified in HOUNDIFY_CLIENT_ID and HOUNDIFY_CLIENT_KEY environment variablesc                 C   sf   t  ¡ }t  | j¡}| |¡}W d   ƒ n1 s40    Y  |  |j|tjd tjd dd¡ d S )Nr/   r0   )Z	client_idZ
client_keyr   )	r   r   r   r	   r   r   Zrecognize_houndifyr   r$   r   r   r   r   Útest_houndify_english>   s    6z%TestRecognition.test_houndify_englishÚIBM_USERNAMEÚIBM_PASSWORDzxrequires IBM Speech to Text username and password to be specified in IBM_USERNAME and IBM_PASSWORD environment variablesc                 C   sf   t  ¡ }t  | j¡}| |¡}W d   ƒ n1 s40    Y  |  |j|tjd tjd dd¡ d S )Nr2   r3   )ÚusernameÚpasswordzone two three )	r   r   r   r	   r   r   Úrecognize_ibmr   r$   r   r   r   r   Útest_ibm_englishD   s    6z TestRecognition.test_ibm_englishc                 C   sh   t  ¡ }t  | j¡}| |¡}W d   ƒ n1 s40    Y  |  |j|tjd tjd ddd¡ d S )Nr2   r3   r)   ©r4   r5   r+   u   si la dictÃ©e numÃ©ro un )	r   r   r   r
   r   r   r6   r   r$   r   r   r   r   Útest_ibm_frenchJ   s    6zTestRecognition.test_ibm_frenchc                 C   sh   t  ¡ }t  | j¡}| |¡}W d   ƒ n1 s40    Y  |  |j|tjd tjd ddd¡ d S )Nr2   r3   r-   r8   u   ç ¸ è‡ªå·± çš„ è„š )	r   r   r   r   r   r   r6   r   r$   r   r   r   r   Útest_ibm_chineseP   s    6z TestRecognition.test_ibm_chineseN)Ú__name__Ú
__module__Ú__qualname__r   r   ÚunittestZskipIfÚsysÚplatformÚ
startswithr    Z
skipUnlessr   r$   r%   r(   r,   r.   r1   r7   r9   r:   r   r   r   r   r      s(   







r   Ú__main__)	r   r?   r>   Zspeech_recognitionr   ZTestCaser   r;   Úmainr   r   r   r   Ú<module>   s   L