Add Recorded Event factory method

This commit is contained in:
beeth0ven 2017-11-30 13:03:21 +08:00
parent 121c0f9342
commit 1abbd5a92d
2 changed files with 53 additions and 0 deletions

View File

@ -35,6 +35,10 @@
25F6ECC91F48C407008552FA /* Single.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25F6ECBF1F48C37C008552FA /* Single.swift */; };
271A97411CFC996B00D64125 /* UIViewController+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 271A97401CFC996B00D64125 /* UIViewController+Rx.swift */; };
271A97441CFC9F7B00D64125 /* UIViewController+RxTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 271A97421CFC99FE00D64125 /* UIViewController+RxTests.swift */; };
4575C7961FCFC6D300A97E7A /* Recorded+Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4575C7951FCFC6D300A97E7A /* Recorded+Event.swift */; };
4575C7971FCFC6D300A97E7A /* Recorded+Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4575C7951FCFC6D300A97E7A /* Recorded+Event.swift */; };
4575C7981FCFC6D300A97E7A /* Recorded+Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4575C7951FCFC6D300A97E7A /* Recorded+Event.swift */; };
4575C7991FCFC6D300A97E7A /* Recorded+Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4575C7951FCFC6D300A97E7A /* Recorded+Event.swift */; };
4613456F1D9A4467001ABAF2 /* UIWebView+RxTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4613456E1D9A4467001ABAF2 /* UIWebView+RxTests.swift */; };
461345711D9A4543001ABAF2 /* UIWebView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 461345701D9A4543001ABAF2 /* UIWebView+Rx.swift */; };
4613457C1D9A4AEE001ABAF2 /* RxWebViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4613457B1D9A4AEE001ABAF2 /* RxWebViewDelegateProxy.swift */; };
@ -1742,6 +1746,7 @@
25F6ECBF1F48C37C008552FA /* Single.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Single.swift; sourceTree = "<group>"; };
271A97401CFC996B00D64125 /* UIViewController+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+Rx.swift"; sourceTree = "<group>"; };
271A97421CFC99FE00D64125 /* UIViewController+RxTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+RxTests.swift"; sourceTree = "<group>"; };
4575C7951FCFC6D300A97E7A /* Recorded+Event.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Recorded+Event.swift"; sourceTree = "<group>"; };
4613456E1D9A4467001ABAF2 /* UIWebView+RxTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIWebView+RxTests.swift"; sourceTree = "<group>"; };
461345701D9A4543001ABAF2 /* UIWebView+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIWebView+Rx.swift"; sourceTree = "<group>"; };
4613457B1D9A4AEE001ABAF2 /* RxWebViewDelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxWebViewDelegateProxy.swift; sourceTree = "<group>"; };
@ -3172,6 +3177,7 @@
C89CFA121DAABBE20079D23B /* Event+Equatable.swift */,
C89CFA131DAABBE20079D23B /* HotObservable.swift */,
C89CFA151DAABBE20079D23B /* Recorded.swift */,
4575C7951FCFC6D300A97E7A /* Recorded+Event.swift */,
C89CFA161DAABBE20079D23B /* RxTests.swift */,
C89CFA1A1DAABBE20079D23B /* Subscription.swift */,
C89CFA1B1DAABBE20079D23B /* TestableObservable.swift */,
@ -4931,6 +4937,7 @@
files = (
C820A9451EB4E06800D431BC /* Deprecated.swift in Sources */,
C89CFA321DAABBE20079D23B /* Recorded.swift in Sources */,
4575C7961FCFC6D300A97E7A /* Recorded+Event.swift in Sources */,
C89CFA4A1DAABBE20079D23B /* TestableObserver.swift in Sources */,
C89CFA4E1DAABBE20079D23B /* XCTest+Rx.swift in Sources */,
C89CFA361DAABBE20079D23B /* RxTests.swift in Sources */,
@ -4952,6 +4959,7 @@
files = (
C820A9461EB4E06800D431BC /* Deprecated.swift in Sources */,
C89CFA331DAABBE20079D23B /* Recorded.swift in Sources */,
4575C7971FCFC6D300A97E7A /* Recorded+Event.swift in Sources */,
C89CFA4B1DAABBE20079D23B /* TestableObserver.swift in Sources */,
C89CFA4F1DAABBE20079D23B /* XCTest+Rx.swift in Sources */,
C89CFA371DAABBE20079D23B /* RxTests.swift in Sources */,
@ -4973,6 +4981,7 @@
files = (
C820A9471EB4E06800D431BC /* Deprecated.swift in Sources */,
C89CFA341DAABBE20079D23B /* Recorded.swift in Sources */,
4575C7981FCFC6D300A97E7A /* Recorded+Event.swift in Sources */,
C89CFA4C1DAABBE20079D23B /* TestableObserver.swift in Sources */,
C89CFA501DAABBE20079D23B /* XCTest+Rx.swift in Sources */,
C89CFA381DAABBE20079D23B /* RxTests.swift in Sources */,
@ -4994,6 +5003,7 @@
files = (
C820A9481EB4E06800D431BC /* Deprecated.swift in Sources */,
C89CFA351DAABBE20079D23B /* Recorded.swift in Sources */,
4575C7991FCFC6D300A97E7A /* Recorded+Event.swift in Sources */,
C89CFA4D1DAABBE20079D23B /* TestableObserver.swift in Sources */,
C89CFA511DAABBE20079D23B /* XCTest+Rx.swift in Sources */,
C89CFA391DAABBE20079D23B /* RxTests.swift in Sources */,

View File

@ -0,0 +1,43 @@
//
// Recorded+Event.swift
// Rx
//
// Created by luojie on 2017/11/30.
// Copyright © 2017 Krunoslav Zaher. All rights reserved.
//
import RxSwift
extension Recorded {
/**
Factory method for an `.next` event recorded at a given time with a given value.
- parameter time: Recorded virtual time the `.next` event occurs.
- parameter element: Next sequence element.
- returns: Recorded event in time.
*/
public static func next<T>(_ time: TestTime, _ element: T) -> Recorded<Event<T>> where Value == Event<T> {
return Recorded(time: time, value: .next(element))
}
/**
Factory method for an `.completed` event recorded at a given time.
- parameter time: Recorded virtual time the `.completed` event occurs.
- parameter type: Sequence elements type.
- returns: Recorded event in time.
*/
public static func completed<T>(_ time: TestTime, _ type: T.Type = T.self) -> Recorded<Event<T>> where Value == Event<T> {
return Recorded(time: time, value: .completed)
}
/**
Factory method for an `.error` event recorded at a given time with a given error.
- parameter time: Recorded virtual time the `.completed` event occurs.
*/
public static func error<T>(_ time: TestTime, _ error: Swift.Error, _ type: T.Type = T.self) -> Recorded<Event<T>> where Value == Event<T> {
return Recorded(time: time, value: .error(error))
}
}