MockPumpOps.swift 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. //
  2. // MockPumpOps.swift
  3. // MinimedKitTests
  4. //
  5. // Created by Pete Schwamb on 9/5/22.
  6. // Copyright © 2022 LoopKit Authors. All rights reserved.
  7. //
  8. import Foundation
  9. import MinimedKit
  10. import RileyLinkBLEKit
  11. class MockPumpOps: PumpOps, PumpOpsSessionDelegate {
  12. let queue = DispatchQueue(label: "MockPumpOps")
  13. var pumpState: PumpState
  14. var pumpSettings: PumpSettings
  15. var messageSender: MockPumpMessageSender
  16. func pumpOpsSession(_ session: MinimedKit.PumpOpsSession, didChange state: MinimedKit.PumpState) {
  17. pumpState = state
  18. }
  19. func pumpOpsSessionDidChangeRadioConfig(_ session: MinimedKit.PumpOpsSession) { }
  20. public func runSession(withName name: String, using device: RileyLinkDevice, _ block: @escaping (_ session: PumpOpsSession) -> Void) {
  21. let session = PumpOpsSession(settings: self.pumpSettings, pumpState: self.pumpState, messageSender: messageSender, delegate: self)
  22. queue.async {
  23. block(session)
  24. }
  25. }
  26. init(pumpState: PumpState, pumpSettings: PumpSettings, messageSender: MockPumpMessageSender = MockPumpMessageSender()) {
  27. self.pumpState = pumpState
  28. self.pumpSettings = pumpSettings
  29. self.messageSender = messageSender
  30. }
  31. }