31 lines
628 B
Swift
31 lines
628 B
Swift
import Testing
|
|||
|
|
|
||
|
|
@testable import Commanding
|
||
|
|
|
||
|
|
@Suite("Recording commander")
|
||
|
|
struct RecordingCommanderTests {
|
||
|
|
|
||
|
|
@MainActor
|
||
|
|
@Test
|
||
|
|
func `delivers the sent commands in order`() async throws {
|
||
|
|
let commander = RecordingCommander()
|
||
|
|
|
||
|
|
commander.send(.toggle)
|
||
|
|
commander.send(.discard)
|
||
|
|
commander.send(.toggle)
|
||
|
|
|
||
|
|
var received: [RecordingCommand] = []
|
||
|
|
|
||
|
|
for await command in commander.commands {
|
||
|
|
received.append(command)
|
||
|
|
|
||
|
|
if received.count == 3 {
|
||
|
|
break
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#expect(received == [.toggle, .discard, .toggle])
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|