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]) } }