44 lines
1006 B
Swift
44 lines
1006 B
Swift
import Foundation
|
|
@testable import SstCore
|
|
|
|
struct TestError: Error {}
|
|
|
|
final class FakeRecorder: AudioRecording {
|
|
var samples: [Float] = []
|
|
var startError: Error?
|
|
private(set) var startCount = 0
|
|
|
|
func start() throws {
|
|
startCount += 1
|
|
if let startError { throw startError }
|
|
}
|
|
|
|
func stop() -> [Float] { samples }
|
|
}
|
|
|
|
final class FakeTranscriber: Transcriber {
|
|
var result: Result<String, Error> = .success("hallo wereld")
|
|
private(set) var callCount = 0
|
|
|
|
func transcribe(_ samples: [Float]) async throws -> String {
|
|
callCount += 1
|
|
return try result.get()
|
|
}
|
|
}
|
|
|
|
final class FakeCleaner: Cleaner {
|
|
func clean(_ text: String, context: CleaningContext) async throws -> String {
|
|
"[\(text)]"
|
|
}
|
|
}
|
|
|
|
final class FakeInserter: TextInserting {
|
|
var error: Error?
|
|
private(set) var inserted: [String] = []
|
|
|
|
func insert(_ text: String) async throws {
|
|
if let error { throw error }
|
|
inserted.append(text)
|
|
}
|
|
}
|