ReadTempBasalCarelinkMessageBodyTests.swift 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //
  2. // ReadTempBasalCarelinkMessageBodyTests.swift
  3. // Naterade
  4. //
  5. // Created by Nathan Racklyeft on 3/7/16.
  6. // Copyright © 2016 Nathan Racklyeft. All rights reserved.
  7. //
  8. import XCTest
  9. @testable import MinimedKit
  10. class ReadTempBasalCarelinkMessageBodyTests: XCTestCase {
  11. func testReadTempBasal() {
  12. // 06 00 00 00 37 00 17 -> 1.375 U @ 23 min remaining
  13. let message = PumpMessage(rxData: Data(hexadecimalString: "a7123456980600000037001700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")!)!
  14. let body = message.messageBody as! ReadTempBasalCarelinkMessageBody
  15. XCTAssertEqual(TimeInterval(23 * 60), body.timeRemaining)
  16. XCTAssertEqual(1.375, body.rate)
  17. XCTAssertEqual(ReadTempBasalCarelinkMessageBody.RateType.absolute, body.rateType)
  18. }
  19. func testReadTempBasalZero() {
  20. // 06 00 00 00 00 00 1d -> 0 U @ 29 min remaining
  21. let message = PumpMessage(rxData: Data(hexadecimalString: "a7123456980600000000001d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")!)!
  22. let body = message.messageBody as! ReadTempBasalCarelinkMessageBody
  23. XCTAssertEqual(TimeInterval(29 * 60), body.timeRemaining)
  24. XCTAssertEqual(0, body.rate)
  25. XCTAssertEqual(ReadTempBasalCarelinkMessageBody.RateType.absolute, body.rateType)
  26. }
  27. func testReadHighTempBasalRate() {
  28. let message = PumpMessage(rxData: Data(hexadecimalString: "a7754838980600000550001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")!)!
  29. let body = message.messageBody as! ReadTempBasalCarelinkMessageBody
  30. XCTAssertEqual(TimeInterval(30 * 60), body.timeRemaining)
  31. XCTAssertEqual(34, body.rate)
  32. XCTAssertEqual(ReadTempBasalCarelinkMessageBody.RateType.absolute, body.rateType)
  33. }
  34. }