in RIBsTests/Workflow/WorkflowTests.swift [158:188]
func test_fork_verifySingleInvocationAtRoot() {
let workflow = TestWorkflow()
var rootCallCount = 0
let emptyObservable = Observable.just(((), ()))
let rootStep = workflow
.onStep { _ -> Observable<((), ())> in
rootCallCount += 1
return emptyObservable
}
let firstFork: Step<(), (), ()>? = rootStep.asObservable().fork(workflow)
_ = firstFork?
.onStep { (_, _) -> Observable<((), ())> in
return Observable.just(((), ()))
}
.commit()
let secondFork: Step<(), (), ()>? = rootStep.asObservable().fork(workflow)
_ = secondFork?
.onStep { (_, _) -> Observable<((), ())> in
return Observable.just(((), ()))
}
.commit()
XCTAssertEqual(0, rootCallCount)
_ = workflow.subscribe(())
XCTAssertEqual(1, rootCallCount)
}