ソースを参照

Fix superbolus unit test

Deniz Cengiz 1 年間 前
コミット
0ec506e92a
1 ファイル変更5 行追加3 行削除
  1. 5 3
      TrioTests/BolusCalculatorTests/BolusCalculatorTests.swift

+ 5 - 3
TrioTests/BolusCalculatorTests/BolusCalculatorTests.swift

@@ -290,13 +290,15 @@ import Testing
             """
         )
 
-        // The difference should be exactly the basal rate * sweetMealFactor
+        // The difference should be the difference of super bolus (= standard dose + the basal rate * sweetMealFactor) limited by max bolus, and the standard dose.
         let actualDifference = (superBolusResult.insulinCalculated - standardResult.insulinCalculated)
+        let expectedDifference = min(superBolusResult.insulinCalculated, maxBolus) - standardResult.insulinCalculated
         #expect(
-            actualDifference == expectedSuperBolusInsulin,
+            actualDifference == expectedDifference,
             """
             Super bolus difference incorrect
-            Expected difference: \(expectedSuperBolusInsulin)U (basal \(basal)U × sweetMealFactor \(sweetMealFactor))
+            Expected difference: min(\(expectedSuperBolusInsulin), \(maxBolus)) U (basal \(basal)U × sweetMealFactor \(sweetMealFactor) + standard dose \(standardResult
+                .insulinCalculated)) - standard dose \(standardResult.insulinCalculated)
             Actual difference: \(actualDifference)U
             Standard result: \(standardResult)
             SuperBolus result: \(superBolusResult)