631617ee53
Idle chips show entities with category icons; a fresh copy surfaces Reply/Summarize/Translate; abort/cancel/empty-tap no longer leave the mic stuck.
32 lines
968 B
Swift
32 lines
968 B
Swift
// FlowUtterancePCMStoreTests.swift
|
|
// OSGKeyboardTests
|
|
|
|
import XCTest
|
|
@testable import OSGKeyboardShared
|
|
|
|
final class FlowUtterancePCMStoreTests: XCTestCase {
|
|
|
|
func testAppendAndConsume() {
|
|
let store = FlowUtterancePCMStore(maxSampleCount: 100)
|
|
store.append([1, 2, 3])
|
|
store.append([4, 5])
|
|
XCTAssertEqual(store.sampleCount, 5)
|
|
XCTAssertEqual(store.consume(), [1, 2, 3, 4, 5])
|
|
XCTAssertEqual(store.sampleCount, 0)
|
|
}
|
|
|
|
func testTrimsOldestWhenOverCap() {
|
|
let store = FlowUtterancePCMStore(maxSampleCount: 4)
|
|
store.append([1, 2, 3, 4, 5])
|
|
XCTAssertEqual(store.consume(), [2, 3, 4, 5])
|
|
}
|
|
|
|
func testSnapshotDoesNotClear() {
|
|
let store = FlowUtterancePCMStore(maxSampleCount: 100)
|
|
store.append([0.1, -0.2])
|
|
XCTAssertEqual(store.snapshot(), [0.1, -0.2])
|
|
XCTAssertEqual(store.sampleCount, 2)
|
|
XCTAssertEqual(store.consume(), [0.1, -0.2])
|
|
}
|
|
}
|