/ GUNRPG.Tests / CombatProgressBarHelperTests.cs
CombatProgressBarHelperTests.cs
1 using GUNRPG.WebClient.Helpers; 2 3 namespace GUNRPG.Tests; 4 5 public sealed class CombatProgressBarHelperTests 6 { 7 [Theory] 8 [InlineData(100, 100, 100)] 9 [InlineData(50, 100, 50)] 10 [InlineData(12, 0, 0)] 11 [InlineData(-5, 100, 0)] 12 [InlineData(250, 100, 100)] 13 [InlineData(double.NaN, 100, 0)] 14 [InlineData(50, double.NaN, 0)] 15 [InlineData(24.6, 50, 49)] 16 public void GetPercent_ClampsAndRoundsExpectedValues(double current, double maximum, int expected) 17 { 18 var percent = CombatProgressBarHelper.GetPercent(current, maximum); 19 20 Assert.Equal(expected, percent); 21 } 22 23 [Theory] 24 [InlineData(25.2, 100, 25)] 25 [InlineData(25.5, 100, 26)] 26 [InlineData(-10, 100, 0)] 27 [InlineData(120, 100, 100)] 28 [InlineData(double.NaN, 100, null)] 29 [InlineData(10, double.NaN, null)] 30 [InlineData(10, 0, null)] 31 public void GetAriaValue_ReturnsClampedRoundedValueOrNull(double current, double maximum, int? expected) 32 { 33 var value = CombatProgressBarHelper.GetAriaValue(current, maximum); 34 35 Assert.Equal(expected, value); 36 } 37 38 [Theory] 39 [InlineData(100, 100)] 40 [InlineData(100.5, 101)] 41 [InlineData(0, null)] 42 [InlineData(-10, null)] 43 [InlineData(double.NaN, null)] 44 public void GetAriaMax_ReturnsRoundedPositiveMaximumOrNull(double maximum, int? expected) 45 { 46 var value = CombatProgressBarHelper.GetAriaMax(maximum); 47 48 Assert.Equal(expected, value); 49 } 50 }