From 0e5705662d5005b2b02ae9f81e8aa9a31e214077 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Thu, 1 Dec 2016 16:54:03 -0800 Subject: [PATCH 1/2] Copy InsulinKit framework for DoseMathTests (otherwise it won't run) --- Loop.xcodeproj/project.pbxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Loop.xcodeproj/project.pbxproj b/Loop.xcodeproj/project.pbxproj index 90f4bfb7f1..65d9be1590 100644 --- a/Loop.xcodeproj/project.pbxproj +++ b/Loop.xcodeproj/project.pbxproj @@ -151,6 +151,7 @@ 43FBEDD81D73843700B21F22 /* LevelMaskView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43FBEDD71D73843700B21F22 /* LevelMaskView.swift */; }; 4D3B40041D4A9E1A00BC6334 /* G4ShareSpy.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D3B40021D4A9DFE00BC6334 /* G4ShareSpy.framework */; }; 4D5B7A4B1D457CCA00796CA9 /* GlucoseG4.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D5B7A4A1D457CCA00796CA9 /* GlucoseG4.swift */; }; + 4F526D5D1DF0FD6500A04910 /* InsulinKit.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 43C6407B1DA051850093E25D /* InsulinKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; C10428971D17BAD400DD539A /* NightscoutUploadKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C10428961D17BAD400DD539A /* NightscoutUploadKit.framework */; }; C15713821DAC6983005BC4D2 /* MealBolusNightscoutTreatment.swift in Sources */ = {isa = PBXBuildFile; fileRef = C15713811DAC6983005BC4D2 /* MealBolusNightscoutTreatment.swift */; }; C17884631D51A7A400405663 /* BatteryIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = C17884621D51A7A400405663 /* BatteryIndicator.swift */; }; @@ -234,6 +235,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( + 4F526D5D1DF0FD6500A04910 /* InsulinKit.framework in CopyFiles */, 43E2D9171D2226BD004DA55F /* LoopKit.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; From e6d90f522f6a27bcd8ccb01d6816f70b24150f18 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Thu, 1 Dec 2016 16:54:46 -0800 Subject: [PATCH 2/2] Remove default value for allowPredictiveTempBelowRange Make this explicit to remove confusion since the only place where we rely on the default value is in our unit tests. --- DoseMathTests/DoseMathTests.swift | 48 ++++++++++++++++++++----------- Loop/Managers/DoseMath.swift | 2 +- 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/DoseMathTests/DoseMathTests.swift b/DoseMathTests/DoseMathTests.swift index 9b9a43cdb8..210fe45bba 100644 --- a/DoseMathTests/DoseMathTests.swift +++ b/DoseMathTests/DoseMathTests.swift @@ -97,7 +97,8 @@ class RecommendTempBasalTests: XCTestCase { maxBasalRate: maxBasalRate, glucoseTargetRange: glucoseTargetRange, insulinSensitivity: insulinSensitivitySchedule, - basalRateSchedule: basalRateSchedule + basalRateSchedule: basalRateSchedule, + allowPredictiveTempBelowRange: false ) XCTAssertNil(dose) @@ -112,7 +113,8 @@ class RecommendTempBasalTests: XCTestCase { maxBasalRate: maxBasalRate, glucoseTargetRange: glucoseTargetRange, insulinSensitivity: insulinSensitivitySchedule, - basalRateSchedule: basalRateSchedule + basalRateSchedule: basalRateSchedule, + allowPredictiveTempBelowRange: false ) XCTAssertNil(dose) @@ -132,7 +134,8 @@ class RecommendTempBasalTests: XCTestCase { maxBasalRate: maxBasalRate, glucoseTargetRange: glucoseTargetRange, insulinSensitivity: insulinSensitivitySchedule, - basalRateSchedule: basalRateSchedule + basalRateSchedule: basalRateSchedule, + allowPredictiveTempBelowRange: false ) XCTAssertEqual(0, dose!.rate) @@ -148,7 +151,8 @@ class RecommendTempBasalTests: XCTestCase { maxBasalRate: maxBasalRate, glucoseTargetRange: glucoseTargetRange, insulinSensitivity: insulinSensitivitySchedule, - basalRateSchedule: basalRateSchedule + basalRateSchedule: basalRateSchedule, + allowPredictiveTempBelowRange: false ) XCTAssertEqual(0, dose!.rate) @@ -197,7 +201,8 @@ class RecommendTempBasalTests: XCTestCase { maxBasalRate: maxBasalRate, glucoseTargetRange: glucoseTargetRange, insulinSensitivity: insulinSensitivitySchedule, - basalRateSchedule: basalRateSchedule + basalRateSchedule: basalRateSchedule, + allowPredictiveTempBelowRange: false ) XCTAssertEqualWithAccuracy(0.125, dose!.rate, accuracy: 1.0 / 40.0) @@ -218,7 +223,8 @@ class RecommendTempBasalTests: XCTestCase { maxBasalRate: maxBasalRate, glucoseTargetRange: glucoseTargetRange, insulinSensitivity: insulinSensitivitySchedule, - basalRateSchedule: basalRateSchedule + basalRateSchedule: basalRateSchedule, + allowPredictiveTempBelowRange: false ) XCTAssertNil(dose) @@ -238,7 +244,8 @@ class RecommendTempBasalTests: XCTestCase { maxBasalRate: maxBasalRate, glucoseTargetRange: glucoseTargetRange, insulinSensitivity: insulinSensitivitySchedule, - basalRateSchedule: basalRateSchedule + basalRateSchedule: basalRateSchedule, + allowPredictiveTempBelowRange: false ) XCTAssertEqualWithAccuracy(0.125, dose!.rate, accuracy: 1.0 / 40.0) @@ -259,7 +266,8 @@ class RecommendTempBasalTests: XCTestCase { maxBasalRate: maxBasalRate, glucoseTargetRange: glucoseTargetRange, insulinSensitivity: insulinSensitivitySchedule, - basalRateSchedule: basalRateSchedule + basalRateSchedule: basalRateSchedule, + allowPredictiveTempBelowRange: false ) XCTAssertEqualWithAccuracy(0.125, dose!.rate, accuracy: 1.0 / 40.0) @@ -309,7 +317,8 @@ class RecommendTempBasalTests: XCTestCase { maxBasalRate: maxBasalRate, glucoseTargetRange: glucoseTargetRange, insulinSensitivity: insulinSensitivitySchedule, - basalRateSchedule: basalRateSchedule + basalRateSchedule: basalRateSchedule, + allowPredictiveTempBelowRange: false ) XCTAssertEqual(0, dose!.rate) @@ -325,7 +334,8 @@ class RecommendTempBasalTests: XCTestCase { maxBasalRate: maxBasalRate, glucoseTargetRange: glucoseTargetRange, insulinSensitivity: insulinSensitivitySchedule, - basalRateSchedule: basalRateSchedule + basalRateSchedule: basalRateSchedule, + allowPredictiveTempBelowRange: false ) XCTAssertEqual(0, dose!.rate) @@ -375,7 +385,8 @@ class RecommendTempBasalTests: XCTestCase { maxBasalRate: maxBasalRate, glucoseTargetRange: glucoseTargetRange, insulinSensitivity: insulinSensitivitySchedule, - basalRateSchedule: basalRateSchedule + basalRateSchedule: basalRateSchedule, + allowPredictiveTempBelowRange: false ) XCTAssertEqual(3.0, dose!.rate) @@ -391,7 +402,8 @@ class RecommendTempBasalTests: XCTestCase { maxBasalRate: maxBasalRate, glucoseTargetRange: glucoseTargetRange, insulinSensitivity: insulinSensitivitySchedule, - basalRateSchedule: basalRateSchedule + basalRateSchedule: basalRateSchedule, + allowPredictiveTempBelowRange: false ) XCTAssertEqualWithAccuracy(1.425, dose!.rate, accuracy: 1.0 / 40.0) @@ -407,7 +419,8 @@ class RecommendTempBasalTests: XCTestCase { maxBasalRate: maxBasalRate, glucoseTargetRange: glucoseTargetRange, insulinSensitivity: insulinSensitivitySchedule, - basalRateSchedule: basalRateSchedule + basalRateSchedule: basalRateSchedule, + allowPredictiveTempBelowRange: false ) XCTAssertEqualWithAccuracy(1.475, dose!.rate, accuracy: 1.0 / 40.0) @@ -423,7 +436,8 @@ class RecommendTempBasalTests: XCTestCase { maxBasalRate: maxBasalRate, glucoseTargetRange: glucoseTargetRange, insulinSensitivity: self.insulinSensitivitySchedule, - basalRateSchedule: basalRateSchedule + basalRateSchedule: basalRateSchedule, + allowPredictiveTempBelowRange: false ) XCTAssertEqual(3.0, dose!.rate) @@ -438,7 +452,8 @@ class RecommendTempBasalTests: XCTestCase { maxBasalRate: maxBasalRate, glucoseTargetRange: glucoseTargetRange, insulinSensitivity: insulinSensitivitySchedule, - basalRateSchedule: basalRateSchedule + basalRateSchedule: basalRateSchedule, + allowPredictiveTempBelowRange: false ) XCTAssertEqualWithAccuracy(2.975, dose!.rate, accuracy: 1.0 / 40.0) @@ -451,7 +466,8 @@ class RecommendTempBasalTests: XCTestCase { maxBasalRate: maxBasalRate, glucoseTargetRange: glucoseTargetRange, insulinSensitivity: insulinSensitivitySchedule, - basalRateSchedule: basalRateSchedule + basalRateSchedule: basalRateSchedule, + allowPredictiveTempBelowRange: false ) XCTAssertNil(dose) diff --git a/Loop/Managers/DoseMath.swift b/Loop/Managers/DoseMath.swift index 63aff3b247..284930e493 100644 --- a/Loop/Managers/DoseMath.swift +++ b/Loop/Managers/DoseMath.swift @@ -62,7 +62,7 @@ struct DoseMath { glucoseTargetRange: GlucoseRangeSchedule, insulinSensitivity: InsulinSensitivitySchedule, basalRateSchedule: BasalRateSchedule, - allowPredictiveTempBelowRange: Bool = false + allowPredictiveTempBelowRange: Bool ) -> (rate: Double, duration: TimeInterval)? { guard glucose.count > 1 else { return nil