GlucoseRxMessageTests.swift 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. //
  2. // GlucoseRxMessageTests.swift
  3. // xDripG5
  4. //
  5. // Created by Nathan Racklyeft on 3/5/16.
  6. // Copyright © 2016 Nathan Racklyeft. All rights reserved.
  7. //
  8. import XCTest
  9. @testable import CGMBLEKit
  10. class GlucoseRxMessageTests: XCTestCase {
  11. func testMessageData() {
  12. let data = Data(hexadecimalString: "3100680a00008a715700cc0006ffc42a")!
  13. let message = GlucoseRxMessage(data: data)!
  14. XCTAssertEqual(0, message.status)
  15. XCTAssertEqual(2664, message.sequence)
  16. XCTAssertEqual(5730698, message.glucose.timestamp)
  17. XCTAssertFalse(message.glucose.glucoseIsDisplayOnly)
  18. XCTAssertEqual(204, message.glucose.glucose)
  19. XCTAssertEqual(6, message.glucose.state)
  20. XCTAssertEqual(-1, message.glucose.trend)
  21. }
  22. func testNegativeTrend() {
  23. let data = Data(hexadecimalString: "31006f0a0000be7957007a0006e4818d")!
  24. let message = GlucoseRxMessage(data: data)!
  25. XCTAssertEqual(0, message.status)
  26. XCTAssertEqual(2671, message.sequence)
  27. XCTAssertEqual(5732798, message.glucose.timestamp)
  28. XCTAssertFalse(message.glucose.glucoseIsDisplayOnly)
  29. XCTAssertEqual(122, message.glucose.glucose)
  30. XCTAssertEqual(6, message.glucose.state)
  31. XCTAssertEqual(-28, message.glucose.trend)
  32. }
  33. func testDisplayOnly() {
  34. let data = Data(hexadecimalString: "3100700a0000f17a5700584006e3cee9")!
  35. let message = GlucoseRxMessage(data: data)!
  36. XCTAssertEqual(0, message.status)
  37. XCTAssertEqual(2672, message.sequence)
  38. XCTAssertEqual(5733105, message.glucose.timestamp)
  39. XCTAssertTrue(message.glucose.glucoseIsDisplayOnly)
  40. XCTAssertEqual(88, message.glucose.glucose)
  41. XCTAssertEqual(6, message.glucose.state)
  42. XCTAssertEqual(-29, message.glucose.trend)
  43. }
  44. func testOldTransmitter() {
  45. let data = Data(hexadecimalString: "3100aa00000095a078008b00060a8b34")!
  46. let message = GlucoseRxMessage(data: data)!
  47. XCTAssertEqual(0, message.status)
  48. XCTAssertEqual(170, message.sequence)
  49. XCTAssertEqual(7905429, message.glucose.timestamp) // 90 days, status is still OK
  50. XCTAssertFalse(message.glucose.glucoseIsDisplayOnly)
  51. XCTAssertEqual(139, message.glucose.glucose)
  52. XCTAssertEqual(6, message.glucose.state)
  53. XCTAssertEqual(10, message.glucose.trend)
  54. }
  55. func testZeroSequence() {
  56. let data = Data(hexadecimalString: "3100000000008eb14d00820006f6a038")!
  57. let message = GlucoseRxMessage(data: data)!
  58. XCTAssertEqual(0, message.status)
  59. XCTAssertEqual(0, message.sequence)
  60. XCTAssertEqual(5091726, message.glucose.timestamp)
  61. XCTAssertFalse(message.glucose.glucoseIsDisplayOnly)
  62. XCTAssertEqual(130, message.glucose.glucose)
  63. XCTAssertEqual(6, message.glucose.state)
  64. XCTAssertEqual(-10, message.glucose.trend)
  65. }
  66. }