diff --git a/TIASshot.Tests/GainCalcCalcGainValueTests.cs b/TIASshot.Tests/GainCalcCalcGainValueTests.cs index 2a331ca..1aa3035 100644 --- a/TIASshot.Tests/GainCalcCalcGainValueTests.cs +++ b/TIASshot.Tests/GainCalcCalcGainValueTests.cs @@ -115,6 +115,18 @@ Assert.That(result, Is.EqualTo(133)); } + /// + /// CalcGainValue_現在値0で比率がInfinity_範囲内に収まる: + /// ホワイトバランスが下限 0 に張り付いた状態で白パッチの計測値が 0 になると + /// 0 * Infinity = NaN となり範囲判定をすり抜ける.未定義値(int.MinValue)を + /// 設定せず,必ず [rangeMin, rangeMax] に収まること + /// + [Test] + public void CalcGainValue_現在値0で比率がInfinity_範囲内に収まる() { + int result = GainCalc.CalcGainValue(0, float.PositiveInfinity, 0, 255); + Assert.That(result, Is.InRange(0, 255)); + } + // --------------------------------------------------------------- // CalcRatio との結合(実際の校正経路の再現) // ---------------------------------------------------------------