diff --git a/RxTests/Schedulers/TestScheduler.swift b/RxTests/Schedulers/TestScheduler.swift index a82b69bc..93361bab 100644 --- a/RxTests/Schedulers/TestScheduler.swift +++ b/RxTests/Schedulers/TestScheduler.swift @@ -12,10 +12,7 @@ import RxSwift /** Virtual time scheduler used for testing applications and libraries built using RxSwift. */ -public class TestScheduler : VirtualTimeSchedulerBase { - public typealias TimeInterval = Int - public typealias Time = Int - +public class TestScheduler : VirtualTimeScheduler { /** Default values of scheduler times. */ @@ -85,6 +82,13 @@ public class TestScheduler : VirtualTimeSchedulerBase 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. diff --git a/RxTests/Schedulers/TestSchedulerVirtualTimeConverter.swift b/RxTests/Schedulers/TestSchedulerVirtualTimeConverter.swift index 1ff46d4b..77f4bd67 100644 --- a/RxTests/Schedulers/TestSchedulerVirtualTimeConverter.swift +++ b/RxTests/Schedulers/TestSchedulerVirtualTimeConverter.swift @@ -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 + } } } \ No newline at end of file