@@ -28,7 +28,7 @@ def _make_result(alternatives=()):
2828 )
2929
3030
31- def _make_streaming_result (alternatives = (), is_final = True ):
31+ def _make_streaming_result (alternatives = (), is_final = True , stability = 1.0 ):
3232 from google .cloud .grpc .speech .v1beta1 import cloud_speech_pb2
3333
3434 return cloud_speech_pb2 .StreamingRecognitionResult (
@@ -39,6 +39,7 @@ def _make_streaming_result(alternatives=(), is_final=True):
3939 ) for alternative in alternatives
4040 ],
4141 is_final = is_final ,
42+ stability = stability ,
4243 )
4344
4445
@@ -476,6 +477,7 @@ def test_stream_recognize_interim_results(self):
476477
477478 from google .cloud .speech import _gax
478479 from google .cloud .speech .encoding import Encoding
480+ from google .cloud .speech .client import StreamingSpeechResult
479481
480482 stream = BytesIO (b'Some audio data...' )
481483 credentials = _Credentials ()
@@ -491,11 +493,13 @@ def test_stream_recognize_interim_results(self):
491493 'confidence' : 0.0123456 ,
492494 }]
493495 first_response = _make_streaming_response (
494- _make_streaming_result ([], is_final = False ))
496+ _make_streaming_result ([], is_final = False , stability = 0.122435 ))
495497 second_response = _make_streaming_response (
496- _make_streaming_result (alternatives , is_final = False ))
498+ _make_streaming_result (alternatives , is_final = False ,
499+ stability = 0.1432343 ))
497500 last_response = _make_streaming_response (
498- _make_streaming_result (alternatives , is_final = True ))
501+ _make_streaming_result (alternatives , is_final = True ,
502+ stability = 0.9834534 ))
499503 responses = [first_response , second_response , last_response ]
500504
501505 channel_args = []
@@ -521,15 +525,28 @@ def speech_api(channel=None):
521525
522526 results = list (client .streaming_recognize (sample ,
523527 interim_results = True ))
524- self .assertEqual (results [0 ], [])
525- self .assertEqual (results [1 ][0 ].transcript ,
528+
529+ self .assertEqual (len (results ), 3 )
530+ self .assertIsInstance (results [0 ], StreamingSpeechResult )
531+ self .assertEqual (results [0 ].alternatives , [])
532+ self .assertFalse (results [0 ].is_final )
533+ self .assertEqual (results [0 ].stability , 0.122435 )
534+ self .assertEqual (results [1 ].stability , 0.1432343 )
535+ self .assertFalse (results [1 ].is_final )
536+ self .assertEqual (results [1 ].alternatives [0 ].transcript ,
526537 alternatives [0 ]['transcript' ])
527- self .assertEqual (results [1 ][0 ].confidence ,
538+ self .assertEqual (results [1 ]. alternatives [0 ].confidence ,
528539 alternatives [0 ]['confidence' ])
529- self .assertEqual (results [1 ][1 ].transcript ,
540+ self .assertEqual (results [1 ]. alternatives [1 ].transcript ,
530541 alternatives [1 ]['transcript' ])
531- self .assertEqual (results [1 ][1 ].confidence ,
542+ self .assertEqual (results [1 ]. alternatives [1 ].confidence ,
532543 alternatives [1 ]['confidence' ])
544+ self .assertTrue (results [2 ].is_final )
545+ self .assertEqual (results [2 ].stability , 0.9834534 )
546+ self .assertEqual (results [2 ].alternatives [0 ].transcript ,
547+ alternatives [0 ]['transcript' ])
548+ self .assertEqual (results [2 ].alternatives [0 ].confidence ,
549+ alternatives [0 ]['confidence' ])
533550
534551 def test_stream_recognize (self ):
535552 from io import BytesIO
@@ -582,9 +599,9 @@ def speech_api(channel=None):
582599
583600 results = list (client .streaming_recognize (sample ))
584601 self .assertEqual (len (results ), 1 )
585- self .assertEqual (results [0 ][0 ].transcript ,
602+ self .assertEqual (results [0 ]. alternatives [0 ].transcript ,
586603 alternatives [0 ]['transcript' ])
587- self .assertEqual (results [0 ][0 ].confidence ,
604+ self .assertEqual (results [0 ]. alternatives [0 ].confidence ,
588605 alternatives [0 ]['confidence' ])
589606
590607 def test_stream_recognize_no_results (self ):
0 commit comments