import XCTest @testable import SharedCore final class BoundedFIFOQueueTests: XCTestCase { func testDisconnectReconnectFlushPreservesOrder() { var queue = BoundedFIFOQueue(maxCount: 5) _ = queue.enqueue(10) _ = queue.enqueue(20) _ = queue.enqueue(30) XCTAssertEqual(queue.dequeueAll(), [10, 20, 30]) XCTAssertTrue(queue.isEmpty) } func testOverflowDropsOldestPayloads() { var queue = BoundedFIFOQueue(maxCount: 3) XCTAssertEqual(queue.enqueue(1), 0) XCTAssertEqual(queue.enqueue(2), 0) XCTAssertEqual(queue.enqueue(3), 0) XCTAssertEqual(queue.enqueue(4), 1) XCTAssertEqual(queue.enqueue(5), 1) XCTAssertEqual(queue.dequeueAll(), [3, 4, 5]) } func testMaxCountHasLowerBoundOfOne() { var queue = BoundedFIFOQueue(maxCount: 0) _ = queue.enqueue(1) XCTAssertEqual(queue.enqueue(2), 1) XCTAssertEqual(queue.dequeueAll(), [2]) } }