@@ -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
@@ -477,6 +478,7 @@ def test_stream_recognize_interim_results(self):
477478
478479 from google .cloud .speech import _gax
479480 from google .cloud .speech .encoding import Encoding
481+ from google .cloud .speech .client import StreamingSpeechResult
480482
481483 stream = BytesIO (b'Some audio data...' )
482484 credentials = _Credentials ()
@@ -492,11 +494,13 @@ def test_stream_recognize_interim_results(self):
492494 'confidence' : 0.0123456 ,
493495 }]
494496 first_response = _make_streaming_response (
495- _make_streaming_result ([], is_final = False ))
497+ _make_streaming_result ([], is_final = False , stability = 0.122435 ))
496498 second_response = _make_streaming_response (
497- _make_streaming_result (alternatives , is_final = False ))
499+ _make_streaming_result (alternatives , is_final = False ,
500+ stability = 0.1432343 ))
498501 last_response = _make_streaming_response (
499- _make_streaming_result (alternatives , is_final = True ))
502+ _make_streaming_result (alternatives , is_final = True ,
503+ stability = 0.9834534 ))
500504 responses = [first_response , second_response , last_response ]
501505
502506 channel_args = []
@@ -522,15 +526,28 @@ def speech_api(channel=None):
522526
523527 results = list (client .streaming_recognize (sample ,
524528 interim_results = True ))
525- self .assertEqual (results [0 ], [])
526- self .assertEqual (results [1 ][0 ].transcript ,
529+
530+ self .assertEqual (len (results ), 3 )
531+ self .assertIsInstance (results [0 ], StreamingSpeechResult )
532+ self .assertEqual (results [0 ].alternatives , [])
533+ self .assertFalse (results [0 ].is_final )
534+ self .assertEqual (results [0 ].stability , 0.122435 )
535+ self .assertEqual (results [1 ].stability , 0.1432343 )
536+ self .assertFalse (results [1 ].is_final )
537+ self .assertEqual (results [1 ].alternatives [0 ].transcript ,
527538 alternatives [0 ]['transcript' ])
528- self .assertEqual (results [1 ][0 ].confidence ,
539+ self .assertEqual (results [1 ]. alternatives [0 ].confidence ,
529540 alternatives [0 ]['confidence' ])
530- self .assertEqual (results [1 ][1 ].transcript ,
541+ self .assertEqual (results [1 ]. alternatives [1 ].transcript ,
531542 alternatives [1 ]['transcript' ])
532- self .assertEqual (results [1 ][1 ].confidence ,
543+ self .assertEqual (results [1 ]. alternatives [1 ].confidence ,
533544 alternatives [1 ]['confidence' ])
545+ self .assertTrue (results [2 ].is_final )
546+ self .assertEqual (results [2 ].stability , 0.9834534 )
547+ self .assertEqual (results [2 ].alternatives [0 ].transcript ,
548+ alternatives [0 ]['transcript' ])
549+ self .assertEqual (results [2 ].alternatives [0 ].confidence ,
550+ alternatives [0 ]['confidence' ])
534551
535552 def test_stream_recognize (self ):
536553 from io import BytesIO
@@ -583,9 +600,9 @@ def speech_api(channel=None):
583600
584601 results = list (client .streaming_recognize (sample ))
585602 self .assertEqual (len (results ), 1 )
586- self .assertEqual (results [0 ][0 ].transcript ,
603+ self .assertEqual (results [0 ]. alternatives [0 ].transcript ,
587604 alternatives [0 ]['transcript' ])
588- self .assertEqual (results [0 ][0 ].confidence ,
605+ self .assertEqual (results [0 ]. alternatives [0 ].confidence ,
589606 alternatives [0 ]['confidence' ])
590607
591608 def test_stream_recognize_no_results (self ):
0 commit comments