Skip to content

Instantly share code, notes, and snippets.

@oozoofrog
Last active May 4, 2018 03:02
Show Gist options
  • Save oozoofrog/3a86cb9fd7d4dbefc7417e6b7a4c6b45 to your computer and use it in GitHub Desktop.
Save oozoofrog/3a86cb9fd7d4dbefc7417e6b7a4c6b45 to your computer and use it in GitHub Desktop.
XCTRxHandle 테스트 케이스
let scheduler = ConcurrentDispatchQueueScheduler.init(qos: DispatchQoS.userInteractive)
let a = Observable<Int>.just(3).delay(3, scheduler: scheduler).debug("A")
let b = Observable<Int>.just(2).delay(2, scheduler: scheduler).debug("B")
// observable의 stream은 3을 전달. error 없음, XCTWaiter.Result는 completed
XCTRxHandle(testcase: self, timeout: 5, observable: a, value: {
XCTAssertEqual($0, 3)
}, error: {
XCTAssertNil($0)
}, result: {
XCTAssertEqual($0, .completed)
})
// observable의 stream은 3을 전달. error 없음, XCTWaiter.Result는 timedOut
XCTRxHandle(testcase: self, timeout: 1, observable: a, value: {
XCTAssertEqual($0, 3)
}, error: {
XCTAssertNil($0)
}, result: {
XCTAssertEqual($0, .timedOut)
})
// observable의 stream은 2를 전달. error 없음, XCTWaiter.Result는 completed
XCTRxHandle(testcase: self, timeout: 5, observable: b, value: {
XCTAssertEqual($0, 2)
}, error: {
XCTAssertNil($0)
}, result: {
XCTAssertEqual($0, .completed)
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment