46 lines
2.0 KiB
Swift
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"))
|
|
}
|
|
}
|