diff --git a/DoseMathTests/DoseMathTests.swift b/DoseMathTests/DoseMathTests.swift index 7f77e7179c..538e4416bf 100644 --- a/DoseMathTests/DoseMathTests.swift +++ b/DoseMathTests/DoseMathTests.swift @@ -27,14 +27,15 @@ extension XCTestCase { public typealias JSONDictionary = [String: Any] -extension DateFormatter { - static func ISO8601LocalTimeDateFormatter() -> Self { - let dateFormatter = self.init() +extension ISO8601DateFormatter { + static func localTimeDateFormatter() -> Self { + let formatter = self.init() - dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss" - dateFormatter.locale = Locale(identifier: "en_US_POSIX") + formatter.formatOptions = .withInternetDateTime + formatter.formatOptions.subtract(.withTimeZone) + formatter.timeZone = .current - return dateFormatter + return formatter } } @@ -56,7 +57,7 @@ class RecommendTempBasalTests: XCTestCase { func loadGlucoseValueFixture(_ resourceName: String) -> [GlucoseValue] { let fixture: [JSONDictionary] = loadFixture(resourceName) - let dateFormatter = DateFormatter.ISO8601LocalTimeDateFormatter() + let dateFormatter = ISO8601DateFormatter.localTimeDateFormatter() return fixture.map { return GlucoseFixtureValue( @@ -460,7 +461,7 @@ class RecommendBolusTests: XCTestCase { func loadGlucoseValueFixture(_ resourceName: String) -> [GlucoseValue] { let fixture: [JSONDictionary] = loadFixture(resourceName) - let dateFormatter = DateFormatter.ISO8601LocalTimeDateFormatter() + let dateFormatter = ISO8601DateFormatter.localTimeDateFormatter() return fixture.map { return GlucoseFixtureValue( diff --git a/Loop/Managers/StatusChartsManager+LoopKit.swift b/Loop/Managers/StatusChartsManager+LoopKit.swift index ecdc49b387..9430fa1863 100644 --- a/Loop/Managers/StatusChartsManager+LoopKit.swift +++ b/Loop/Managers/StatusChartsManager+LoopKit.swift @@ -192,7 +192,7 @@ extension StatusChartsManager { let dateFormatter = self.dateFormatter let decimalFormatter = self.doseFormatter let unit = glucoseUnit.unitDivided(by: .minute()) - let unitString = unit.unitString + let unitString = String(format: NSLocalizedString("%1$@/min", comment: "Format string describing glucose units per minute (1: glucose unit string)"), glucoseUnit.glucoseUnitDisplayString) var insulinCounteractionEffectPoints: [ChartPoint] = [] var allCarbEffectPoints: [ChartPoint] = [] diff --git a/LoopUI/Managers/StatusChartsManager.swift b/LoopUI/Managers/StatusChartsManager.swift index 67fe3b78c4..613e679e93 100644 --- a/LoopUI/Managers/StatusChartsManager.swift +++ b/LoopUI/Managers/StatusChartsManager.swift @@ -645,14 +645,6 @@ public final class StatusChartsManager { } } - /// The minimum range to display for COB values. - private var carbEffectDisplayRangePoints: [ChartPoint] = [0, 1].map { - return ChartPoint( - x: ChartAxisValue(scalar: 0), - y: ChartAxisValueInt($0) - ) - } - private var carbEffectChart: Chart? private var carbEffectChartCache: ChartPointsTouchHighlightLayerViewCache? @@ -674,6 +666,14 @@ public final class StatusChartsManager { return nil } + /// The minimum range to display for carb effect values. + let carbEffectDisplayRangePoints: [ChartPoint] = [0, glucoseUnit.glucoseUnitYAxisSegmentSize / 25.0].map { + return ChartPoint( + x: ChartAxisValue(scalar: 0), + y: ChartAxisValueDouble($0) + ) + } + let yAxisValues = ChartAxisValuesStaticGenerator.generateYAxisValuesWithChartPoints(carbEffectPoints + allCarbEffectPoints + carbEffectDisplayRangePoints, minSegmentCount: 2, maxSegmentCount: 4,