InsulinSensitivityScheduleTests.swift 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. //
  2. // InsulinSensitivityScheduleTests.swift
  3. // LoopKitTests
  4. //
  5. // Created by Nathaniel Hamming on 2021-03-18.
  6. // Copyright © 2021 LoopKit Authors. All rights reserved.
  7. //
  8. import XCTest
  9. import HealthKit
  10. @testable import LoopKit
  11. class InsulinSensitivityScheduleTests: XCTestCase {
  12. func testScheduleFor() {
  13. let value1 = 15.0
  14. let value2 = 40.0
  15. let insulinSensitivityScheduleMGDL = InsulinSensitivitySchedule(
  16. unit: .milligramsPerDeciliter,
  17. dailyItems: [
  18. RepeatingScheduleValue(startTime: 0, value: value1),
  19. RepeatingScheduleValue(startTime: 1000, value: value2)
  20. ])
  21. let insulinSensitivityScheduleMMOLL = InsulinSensitivitySchedule(
  22. unit: .millimolesPerLiter,
  23. dailyItems: [
  24. RepeatingScheduleValue(startTime: 0,
  25. value: HKQuantity(unit: .milligramsPerDeciliter, doubleValue: value1).doubleValue(for: .millimolesPerLiter, withRounding: true)),
  26. RepeatingScheduleValue(startTime: 1000,
  27. value: HKQuantity(unit: .milligramsPerDeciliter, doubleValue: value2).doubleValue(for: .millimolesPerLiter, withRounding: true))
  28. ])
  29. let date = Date()
  30. XCTAssertEqual(insulinSensitivityScheduleMGDL!.schedule(for: .millimolesPerLiter), insulinSensitivityScheduleMMOLL!)
  31. XCTAssertEqual(insulinSensitivityScheduleMGDL!.value(at: date), insulinSensitivityScheduleMMOLL!.value(for: .milligramsPerDeciliter, at: date))
  32. XCTAssertEqual(insulinSensitivityScheduleMGDL!.value(at: date), insulinSensitivityScheduleMGDL!.value(for: .milligramsPerDeciliter, at: date))
  33. }
  34. }