Skip to content

Instantly share code, notes, and snippets.

@HassanSE
Created December 6, 2020 07:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save HassanSE/32043a79898c93573dd177205943a311 to your computer and use it in GitHub Desktop.
Save HassanSE/32043a79898c93573dd177205943a311 to your computer and use it in GitHub Desktop.
//
// RxXCTestCase.swift
//
// Created by Muhammad Hassan on 02/12/2020.
// Copyright © 2020 Muhammad Hassan. All rights reserved.
//
import XCTest
import RxSwift
import RxTest
class RxXCTestCase: XCTestCase {
// MARK: - Reused Properties
var disposeBag: DisposeBag!
var schedular: TestScheduler!
override func setUp() {
disposeBag = DisposeBag()
schedular = TestScheduler(initialClock: 0)
}
override func tearDown() {
disposeBag = nil
schedular = nil
}
func performRxTest<T: Equatable>(expectedValue: [Recorded<Event<T>>],
observable: Observable<T>,
line: UInt = #line,
file: StaticString = #file) {
let observer = schedular.createObserver(T.self)
observable.bind(to: observer).disposed(by: disposeBag)
XCTAssertEqual(expectedValue, observer.events, file: file, line: line)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment