Skip to content
Snippets Groups Projects
Commit eccadfed authored by Dariusz Rybicki's avatar Dariusz Rybicki
Browse files

Add CmixWaitForNetwork functor

parent bdfb583f
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!18Update Bindings
......@@ -9,6 +9,7 @@ public struct Cmix {
public var networkFollowerStatus: CmixNetworkFollowerStatus
public var startNetworkFollower: CmixStartNetworkFollower
public var stopNetworkFollower: CmixStopNetworkFollower
public var waitForNetwork: CmixWaitForNetwork
}
extension Cmix {
......@@ -21,7 +22,8 @@ extension Cmix {
hasRunningProcesses: .live(bindingsCmix),
networkFollowerStatus: .live(bindingsCmix),
startNetworkFollower: .live(bindingsCmix),
stopNetworkFollower: .live(bindingsCmix)
stopNetworkFollower: .live(bindingsCmix),
waitForNetwork: .live(bindingsCmix)
)
}
}
......@@ -35,6 +37,7 @@ extension Cmix {
hasRunningProcesses: .unimplemented,
networkFollowerStatus: .unimplemented,
startNetworkFollower: .unimplemented,
stopNetworkFollower: .unimplemented
stopNetworkFollower: .unimplemented,
waitForNetwork: .unimplemented
)
}
import Bindings
import XCTestDynamicOverlay
public struct CmixWaitForNetwork {
public var run: (Int) -> Bool
public func callAsFunction(timeoutMS: Int) -> Bool {
run(timeoutMS)
}
}
extension CmixWaitForNetwork {
public static func live(_ bindingsCmix: BindingsCmix) -> CmixWaitForNetwork {
CmixWaitForNetwork(run: bindingsCmix.wait(forNetwork:))
}
}
extension CmixWaitForNetwork {
public static let unimplemented = CmixWaitForNetwork(
run: XCTUnimplemented("\(Self.self)")
)
}
import Bindings
public struct NetworkWaiter {
public var wait: (_ timeoutMS: Int) -> Bool
public func callAsFunction(timeoutMS: Int) -> Bool {
wait(timeoutMS)
}
}
extension NetworkWaiter {
public static func live(bindingsClient: BindingsCmix) -> NetworkWaiter {
NetworkWaiter { timeoutMS in
bindingsClient.wait(forNetwork: timeoutMS)
}
}
}
#if DEBUG
extension NetworkWaiter {
public static let failing = NetworkWaiter { _ in
fatalError("Not implemented")
}
}
#endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment