Makes `TestScheduler` subclass of `VirtualTimeScheduler`.
This commit is contained in:
parent
a263a3ceb6
commit
cadd4c02d7
|
|
@ -12,10 +12,7 @@ import RxSwift
|
|||
/**
|
||||
Virtual time scheduler used for testing applications and libraries built using RxSwift.
|
||||
*/
|
||||
public class TestScheduler : VirtualTimeSchedulerBase<TestSchedulerVirtualTimeConverter> {
|
||||
public typealias TimeInterval = Int
|
||||
public typealias Time = Int
|
||||
|
||||
public class TestScheduler : VirtualTimeScheduler<TestSchedulerVirtualTimeConverter> {
|
||||
/**
|
||||
Default values of scheduler times.
|
||||
*/
|
||||
|
|
@ -85,6 +82,13 @@ public class TestScheduler : VirtualTimeSchedulerBase<TestSchedulerVirtualTimeCo
|
|||
})
|
||||
}
|
||||
|
||||
/**
|
||||
Adjusts time of scheduling before adding item to schedule queue. If scheduled time is `<= clock`, then it is scheduled at `clock + 1`
|
||||
*/
|
||||
override public func adjustScheduledTime(time: VirtualTime) -> VirtualTime {
|
||||
return time <= clock ? clock + 1 : time
|
||||
}
|
||||
|
||||
/**
|
||||
Starts the test scheduler and uses the specified virtual times to invoke the factory function, subscribe to the resulting sequence, and dispose the subscription.
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
import Foundation
|
||||
import RxSwift
|
||||
|
||||
public class TestSchedulerVirtualTimeConverter : VirtualTimeConverterType {
|
||||
public struct TestSchedulerVirtualTimeConverter : VirtualTimeConverterType {
|
||||
public typealias VirtualTimeUnit = Int
|
||||
public typealias VirtualTimeIntervalUnit = Int
|
||||
|
||||
|
|
@ -21,19 +21,27 @@ public class TestSchedulerVirtualTimeConverter : VirtualTimeConverterType {
|
|||
return VirtualTimeIntervalUnit(time.timeIntervalSince1970)
|
||||
}
|
||||
|
||||
public func convertFromTimeInterval(virtualTimeInterval: VirtualTimeIntervalUnit) -> RxTimeInterval {
|
||||
public func convertFromVirtualTimeInterval(virtualTimeInterval: VirtualTimeIntervalUnit) -> RxTimeInterval {
|
||||
return RxTimeInterval(virtualTimeInterval)
|
||||
}
|
||||
|
||||
public func convertToTimeInterval(virtualTimeInterval: VirtualTimeIntervalUnit) -> RxTimeInterval {
|
||||
return RxTimeInterval(virtualTimeInterval)
|
||||
public func convertToVirtualTimeInterval(timeInterval: RxTimeInterval) -> VirtualTimeIntervalUnit {
|
||||
return VirtualTimeIntervalUnit(timeInterval)
|
||||
}
|
||||
|
||||
public func addVirtualTimeAndTimeInterval(time time: VirtualTimeUnit, timeInterval: VirtualTimeIntervalUnit) -> VirtualTimeUnit {
|
||||
return time + timeInterval
|
||||
}
|
||||
|
||||
public func nearFuture(time: VirtualTimeUnit) -> VirtualTimeUnit {
|
||||
return time + 1
|
||||
public func compareVirtualTime(lhs: VirtualTimeUnit, _ rhs: VirtualTimeUnit) -> VirtualTimeComparison {
|
||||
if lhs < rhs {
|
||||
return .LessThan
|
||||
}
|
||||
else if lhs > rhs {
|
||||
return .GreaterThan
|
||||
}
|
||||
else {
|
||||
return .Equal
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue