             XCTAssertNil(transcription.confidence)
         }
 
-        if settings.timestamps == true {
+        if settings.timestamps == true && (!final || best) {
             XCTAssertNotNil(transcription.timestamps)
             XCTAssertGreaterThan(transcription.timestamps!.count, 0)
             for timestamp in transcription.timestamps! {

        let final = result.final!

        XCTAssertNotNil(result.alternatives)
        for alternative in result.alternatives {
            validateSTTTranscription(alternative, final: final, settings: settings)
        }

        if settings.keywords?.count > 0 && final {


    func validateSTTTranscription(
        transcription: SpeechToTextTranscription,
        best: Bool,
        final: Bool,
        settings: SpeechToTextSettings)
    {
        XCTAssertNotNil(transcription.transcript)
        XCTAssertGreaterThan(transcription.transcript!.characters.count, 0)

        if best && final {
            XCTAssertNotNil(transcription.confidence)
            XCTAssertGreaterThanOrEqual(transcription.confidence!, 0.0)
            XCTAssertLessThanOrEqual(transcription.confidence!, 1.0)
