Files
clawdbot/apps/shared/ClawdisKit/Tests/ClawdisKitTests/TalkTTSValidationTests.swift
2025-12-30 12:17:40 +01:00

46 lines
2.0 KiB
Swift

import XCTest
@testable import ClawdisKit
final class TalkTTSValidationTests: XCTestCase {
func testResolveSpeedUsesRateWPMWhenProvided() {
let resolved = TalkTTSValidation.resolveSpeed(speed: nil, rateWPM: 175)
XCTAssertNotNil(resolved)
XCTAssertEqual(resolved ?? 0, 1.0, accuracy: 0.0001)
XCTAssertNil(TalkTTSValidation.resolveSpeed(speed: nil, rateWPM: 400))
}
func testValidatedUnitBounds() {
XCTAssertEqual(TalkTTSValidation.validatedUnit(0), 0)
XCTAssertEqual(TalkTTSValidation.validatedUnit(1), 1)
XCTAssertNil(TalkTTSValidation.validatedUnit(-0.01))
XCTAssertNil(TalkTTSValidation.validatedUnit(1.01))
}
func testValidatedStability() {
XCTAssertEqual(TalkTTSValidation.validatedStability(0, modelId: "eleven_v3"), 0)
XCTAssertEqual(TalkTTSValidation.validatedStability(0.5, modelId: "eleven_v3"), 0.5)
XCTAssertEqual(TalkTTSValidation.validatedStability(1, modelId: "eleven_v3"), 1)
XCTAssertNil(TalkTTSValidation.validatedStability(0.7, modelId: "eleven_v3"))
XCTAssertEqual(TalkTTSValidation.validatedStability(0.7, modelId: "eleven_multilingual_v2"), 0.7)
}
func testValidatedSeedBounds() {
XCTAssertEqual(TalkTTSValidation.validatedSeed(0), 0)
XCTAssertEqual(TalkTTSValidation.validatedSeed(1234), 1234)
XCTAssertNil(TalkTTSValidation.validatedSeed(-1))
}
func testValidatedLatencyTier() {
XCTAssertEqual(TalkTTSValidation.validatedLatencyTier(0), 0)
XCTAssertEqual(TalkTTSValidation.validatedLatencyTier(4), 4)
XCTAssertNil(TalkTTSValidation.validatedLatencyTier(-1))
XCTAssertNil(TalkTTSValidation.validatedLatencyTier(5))
}
func testPcmSampleRateParse() {
XCTAssertEqual(TalkTTSValidation.pcmSampleRate(from: "pcm_44100"), 44100)
XCTAssertNil(TalkTTSValidation.pcmSampleRate(from: "mp3_44100_128"))
XCTAssertNil(TalkTTSValidation.pcmSampleRate(from: "pcm_bad"))
}
}