BolusCarelinkMessageBodyTests.swift 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //
  2. // BolusCarelinkMessageBodyTests.swift
  3. // Naterade
  4. //
  5. // Created by Nathan Racklyeft on 3/5/16.
  6. // Copyright © 2016 Nathan Racklyeft. All rights reserved.
  7. //
  8. import Foundation
  9. import XCTest
  10. @testable import MinimedKit
  11. class BolusCarelinkMessageBodyTests: XCTestCase {
  12. func testBolusMessageBody() {
  13. let message = PumpMessage(packetType: .carelink, address: "123456", messageType: .bolus, messageBody: BolusCarelinkMessageBody(units: 1.1, insulinBitPackingScale: 40))
  14. XCTAssertEqual(
  15. Data(hexadecimalString: "a71234564202002C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
  16. message.txData
  17. )
  18. }
  19. func testBolusMessageBody522() {
  20. let message = PumpMessage(packetType: .carelink, address: "123456", messageType: .bolus, messageBody: BolusCarelinkMessageBody(units: 1.1, insulinBitPackingScale: 10))
  21. XCTAssertEqual(
  22. Data(hexadecimalString: "a712345642010B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
  23. message.txData
  24. )
  25. }
  26. func testBolusMessageBodyRounding() {
  27. let message = PumpMessage(packetType: .carelink, address: "123456", messageType: .bolus, messageBody: BolusCarelinkMessageBody(units: 1.475, insulinBitPackingScale: 40))
  28. XCTAssertEqual(
  29. Data(hexadecimalString: "a71234564202003A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
  30. message.txData
  31. )
  32. }
  33. func testBolusMessageBodyTwoByte() {
  34. let message = PumpMessage(packetType: .carelink, address: "123456", messageType: .bolus, messageBody: BolusCarelinkMessageBody(units: 7.9, insulinBitPackingScale: 40))
  35. XCTAssertEqual(
  36. Data(hexadecimalString: "a71234564202013C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
  37. message.txData
  38. )
  39. }
  40. func testBolusMessageBodyGreaterThanTenUnits() {
  41. let message = PumpMessage(packetType: .carelink, address: "123456", messageType: .bolus, messageBody: BolusCarelinkMessageBody(units: 10.25, insulinBitPackingScale: 40))
  42. XCTAssertEqual(
  43. Data(hexadecimalString: "a7123456420201980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
  44. message.txData
  45. )
  46. }
  47. }