OverrideTests.swift 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. //
  2. // OverrideTests.swift
  3. // LoopKitTests
  4. //
  5. // Created by Nathaniel Hamming on 2021-03-09.
  6. // Copyright © 2021 LoopKit Authors. All rights reserved.
  7. //
  8. import XCTest
  9. @testable import LoopKit
  10. class OverrideTests: XCTestCase {
  11. func testInitizer() {
  12. let now = Date()
  13. var override = GlucoseRangeSchedule.Override(
  14. value: DoubleRange(minValue: 70, maxValue: 80),
  15. start: now,
  16. end: now.addingTimeInterval(TimeInterval.minutes(30)))
  17. XCTAssertEqual(override.value, DoubleRange(minValue: 70, maxValue: 80))
  18. XCTAssertEqual(override.start, now)
  19. XCTAssertEqual(override.end, now.addingTimeInterval(TimeInterval.minutes(30)))
  20. override = GlucoseRangeSchedule.Override(
  21. value: DoubleRange(minValue: 70, maxValue: 80),
  22. start: now)
  23. XCTAssertEqual(override.end, .distantFuture)
  24. }
  25. func testActiveDates() {
  26. let duration = TimeInterval.hours(24)
  27. let start = Date()
  28. let end = start.addingTimeInterval(duration)
  29. let override = GlucoseRangeSchedule.Override(
  30. value: DoubleRange(minValue: 70, maxValue: 80),
  31. start: start,
  32. end: end)
  33. XCTAssertEqual(override.activeDates.start, start)
  34. XCTAssertEqual(override.activeDates.end, end)
  35. XCTAssertEqual(override.activeDates.duration, duration)
  36. }
  37. func testIsActiveAtDate() {
  38. let duration = TimeInterval.hours(24)
  39. let start = Date()
  40. let end = start.addingTimeInterval(duration)
  41. let override = GlucoseRangeSchedule.Override(
  42. value: DoubleRange(minValue: 70, maxValue: 80),
  43. start: start,
  44. end: end)
  45. XCTAssertTrue(override.isActive(at: start.addingTimeInterval(duration/2)))
  46. XCTAssertFalse(override.isActive(at: start.addingTimeInterval(duration*2)))
  47. }
  48. }