CalibrationsTests.swift 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. @testable import FreeAPS
  2. import Swinject
  3. import XCTest
  4. class CalibrationsTests: XCTestCase, Injectable {
  5. let fileStorage = BaseFileStorage()
  6. @Injected() var calibrationService: CalibrationService!
  7. let resolver = FreeAPSApp().resolver
  8. override func setUp() {
  9. injectServices(resolver)
  10. }
  11. func testCreateSimpleCalibration() {
  12. let calibration = Calibration(x: 100.0, y: 102.0)
  13. calibrationService.addCalibration(calibration)
  14. XCTAssertTrue(calibrationService.calibrations.isNotEmpty)
  15. XCTAssertTrue(calibrationService.slope == 1)
  16. XCTAssertTrue(calibrationService.intercept == 2)
  17. XCTAssertTrue(calibrationService.calibrate(value: 104) == 106)
  18. }
  19. func testCreateMultipleCalibration() {
  20. let calibration = Calibration(x: 100.0, y: 120)
  21. calibrationService.addCalibration(calibration)
  22. let calibration2 = Calibration(x: 120.0, y: 130.0)
  23. calibrationService.addCalibration(calibration2)
  24. XCTAssertTrue(calibrationService.slope == 0.8)
  25. XCTAssertTrue(calibrationService.intercept == 37)
  26. XCTAssertTrue(calibrationService.calibrate(value: 80) == 101)
  27. calibrationService.removeLast()
  28. XCTAssertTrue(calibrationService.calibrations.count == 1)
  29. calibrationService.removeAllCalibrations()
  30. XCTAssertTrue(calibrationService.calibrations.isEmpty)
  31. }
  32. override func setUpWithError() throws {
  33. // Put setup code here. This method is called before the invocation of each test method in the class.
  34. }
  35. override func tearDownWithError() throws {
  36. // Put teardown code here. This method is called after the invocation of each test method in the class.
  37. }
  38. }