
    iD                     |    d dl Z d dlZd dlZd dlZ G d dej
                        Zedk(  r ej                          yy)    Nc                   L   e Zd Zd Zd Z ej                  ej                  j                  d      d      d        Z
 ej                  dej                  v d      d        Z ej                  d	ej                  v d
      d        Z ej                  d	ej                  v d
      d        Z ej                  d	ej                  v d
      d        Z ej                  dej                  v xr dej                  v d      d        Z ej                  dej                  v xr dej                  v d      d        Z ej                  dej                  v xr dej                  v d      d        Z ej                  dej                  v xr dej                  v d      d        Zy)TestRecognitionc                 V   t         j                  j                  t         j                  j                  t         j                  j	                  t
                    d      | _        t         j                  j                  t         j                  j                  t         j                  j	                  t
                    d      | _        t         j                  j                  t         j                  j                  t         j                  j	                  t
                    d      | _        y )Nzenglish.wavzfrench.aiffzchinese.flac)	ospathjoindirnamerealpath__file__AUDIO_FILE_ENAUDIO_FILE_FRAUDIO_FILE_ZH)selfs    T/var/www/auto_recruiter/arenv/lib/python3.12/site-packages/tests/test_recognition.pysetUpzTestRecognition.setUp   s    WW\\"''//"'':J:J8:T*UWdeWW\\"''//"'':J:J8:T*UWdeWW\\"''//"'':J:J8:T*UWef    c                 6   t        j                         }t        t        |            }| j	                  |j
                  d       | j                  |j                         | j	                  |j                  d       | j	                  |j                  d       | j	                  |j                  d       | j                  |j                         | j	                  |j                  d       | j	                  |j                  d       | j                  d|v        y )Ni,  g333333?g      ?g?g333333?g      ?recognize_google)sr
RecognizersetdirassertEqualenergy_threshold
assertTruedynamic_energy_threshold!dynamic_energy_adjustment_dampingdynamic_energy_ratiopause_thresholdassertIsNoneoperation_timeoutphrase_thresholdnon_speaking_duration)r   r
attributess      r   test_recognizer_attributesz*TestRecognition.test_recognizer_attributes   s    MMOQ[
++S1223<<dC//5**C0!--.++S100#6*j89r   winzskip on Windowsc                     t         j                  j                  | j                        }t        j                         }| j                  |j                  |      d       y )None two three)r   	AudioData	from_filer   r   r   recognize_sphinxr   audior$   s      r   test_sphinx_englishz#TestRecognition.test_sphinx_english    sB    &&t'9'9:MMO++E2ODr   
WIT_AI_KEYzFrequires Wit.ai key to be specified in WIT_AI_KEY environment variablec                     t         j                  j                  | j                        }t        j                         }| j                  |j                  |t        j                  d         d       y )Nr0   keyr)   )	r   r*   r+   r   r   r   recognize_witr   environr-   s      r   test_wit_englishz TestRecognition.test_wit_english&   sM    &&t'9'9:MMOBJJ|4LM_r   BING_KEYz^requires Microsoft Bing Voice Recognition key to be specified in BING_KEY environment variablec                     t         j                  j                  | j                        }t        j                         }| j                  |j                  |t        j                  d         d       y )Nr7   r2   z123.)	r   r*   r+   r   r   r   recognize_bingr   r5   r-   s      r   test_bing_englishz!TestRecognition.test_bing_english,   sP    &&t'9'9:MMO))%RZZ
5K)LfUr   c                     t         j                  j                  | j                        }t        j                         }| j                  |j                  |t        j                  d   d      d       y )Nr7   fr-FRr3   languageu   Essaye la dictée numéro un.)	r   r*   r+   r   r   r   r9   r   r5   r-   s      r   test_bing_frenchz TestRecognition.test_bing_french2   s[    &&t'9'9:MMO))%RZZ
5KV])^  aA  	Br   c                     t         j                  j                  | j                        }t        j                         }| j                  |j                  |t        j                  d   d      d       y )Nr7   zh-CNr=   u   砸自己的脚。)	r   r*   r+   r   r   r   r9   r   r5   r-   s      r   test_bing_chinesez!TestRecognition.test_bing_chinese8   sT    &&t'9'9:MMO))%RZZ
5KV])^`uvr   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                 
   t         j                  j                  | j                        }t        j                         }| j                  |j                  |t        j                  d   t        j                  d         d       y )NrC   rD   )	client_id
client_keyr)   )	r   r*   r+   r   r   r   recognize_houndifyr   r5   r-   s      r   test_houndify_englishz%TestRecognition.test_houndify_english>   ss    &&t'9'9:MMO--erzzJ^?_lnlvlv  xM  mN-  O  Q`  	ar   IBM_USERNAMEIBM_PASSWORDzxrequires IBM Speech to Text username and password to be specified in IBM_USERNAME and IBM_PASSWORD environment variablesc                 
   t         j                  j                  | j                        }t        j                         }| j                  |j                  |t        j                  d   t        j                  d         d       y )NrJ   rK   )usernamepasswordzone two three )	r   r*   r+   r   r   r   recognize_ibmr   r5   r-   s      r   test_ibm_englishz TestRecognition.test_ibm_englishD   sd    &&t'9'9:MMON9S^`^h^hiw^xy  |L  	Mr   c                    t         j                  j                  | j                        }t        j                         }| j                  |j                  |t        j                  d   t        j                  d   d      d       y )NrJ   rK   r<   rM   rN   r>   u   si la dictée numéro un )	r   r*   r+   r   r   r   rO   r   r5   r-   s      r   test_ibm_frenchzTestRecognition.test_ibm_frenchJ   sn    &&t'9'9:MMON9S^`^h^hiw^x  DK  L  Nj  	kr   c                    t         j                  j                  | j                        }t        j                         }| j                  |j                  |t        j                  d   t        j                  d   d      d       y )NrJ   rK   rA   rR   u   砸 自己 的 脚 )	r   r*   r+   r   r   r   rO   r   r5   r-   s      r   test_ibm_chinesez TestRecognition.test_ibm_chineseP   sn    &&t'9'9:MMON9S^`^h^hiw^x  DK  L  Nd  	er   N)__name__
__module____qualname__r   r&   unittestskipIfsysplatform
startswithr/   
skipUnlessr   r5   r6   r:   r?   rB   rI   rP   rS   rU    r   r   r   r      s,   g
: X__S\\,,U35FGE HE
 X35}~` `
 Xrzz1  4T  UV UV
 Xrzz1  4T  UB UB
 Xrzz1  4T  Uw Uw
 X-;c@UY[YcYc@c  ff  ga ga
 X2::5V.BJJ:V  YS  TM TM
 X2::5V.BJJ:V  YS  Tk Tk
 X2::5V.BJJ:V  YS  Te Ter   r   __main__)	r   r[   rY   speech_recognitionr   TestCaser   rV   mainr_   r   r   <module>rd      sD    
 
  Ieh'' IeX zHMMO r   