 }
 
 class OperationQueueSchedulerTests: RxTest {
-    let operationQueue = OperationQueue()
-
-    func createHighPriorityScheduler() -> ImmediateSchedulerType {
-        return OperationQueueScheduler.init(operationQueue: operationQueue, queuePriority: .high)
-    }
-
-    func createLowPriorityScheduler() -> ImmediateSchedulerType {
-        return OperationQueueScheduler.init(operationQueue: operationQueue, queuePriority: .low)
-    }
 }
 
 extension ConcurrentDispatchQueueSchedulerTests {


            return Disposables.create()
            }
            .disposed(by: disposeBag)

        highPriority.schedule(Int.self) { (value) -> Disposable in
            Thread.sleep(forTimeInterval: 0.2)
            times.append("HIGH")

            return Disposables.create()
            }
            .disposed(by: disposeBag)

        waitForExpectations(timeout: 4.0) { error in
            XCTAssertNil(error)
        }

        disposeBag = DisposeBag()

        XCTAssertEqual(3, times.count)
        XCTAssertEqual(["HIGH", "HIGH", "LOW"], times)
    }
}

    func test_scheduleWithPriority() {
        let expectScheduling = expectation(description: "wait")

        let operationQueue = OperationQueue()
        operationQueue.maxConcurrentOperationCount = 1

        let highPriority = OperationQueueScheduler.init(operationQueue: operationQueue, queuePriority: .high)
        let lowPriority = OperationQueueScheduler.init(operationQueue: operationQueue, queuePriority: .low)

        var times = [String]()

        _ = highPriority.schedule(Int.self) { (value) -> Disposable in
            Thread.sleep(forTimeInterval: 0.4)
            times.append("HIGH")

            return Disposables.create()
            }

        _ = lowPriority.schedule(Int.self) { (value) -> Disposable in
            Thread.sleep(forTimeInterval: 1)
            times.append("LOW")

