Emcee
26 строк · 664.0 Байт
1import EventBus
2import Foundation
3import SynchronousWaiter
4import XCTest
5
6final class EventBusTest: XCTestCase {
7func testBroadcastingTearDown() throws {
8let bus = EventBus()
9let stream = Listener()
10bus.add(stream: stream)
11bus.tearDown()
12
13try SynchronousWaiter().waitWhile(timeout: 5.0, description: "Waiting for event bus to deliver events") {
14stream.didTearDown == nil
15}
16
17XCTAssertTrue(stream.didTearDown == true)
18}
19}
20
21private final class Listener: DefaultBusListener {
22public var didTearDown: Bool?
23override func tearDown() {
24didTearDown = true
25}
26}
27