using ROLAC.API.Services.Disbursement; using Xunit; namespace ROLAC.API.Tests.Services; public class AmountToWordsTests { [Theory] [InlineData(0, "Zero and 00/100 Dollars")] [InlineData(0.05, "Zero and 05/100 Dollars")] [InlineData(1, "One and 00/100 Dollars")] [InlineData(19, "Nineteen and 00/100 Dollars")] [InlineData(20, "Twenty and 00/100 Dollars")] [InlineData(21, "Twenty-One and 00/100 Dollars")] [InlineData(100, "One Hundred and 00/100 Dollars")] [InlineData(115, "One Hundred Fifteen and 00/100 Dollars")] [InlineData(1234.56, "One Thousand Two Hundred Thirty-Four and 56/100 Dollars")] [InlineData(1000000, "One Million and 00/100 Dollars")] public void Convert_FormatsExpectedWords(double amount, string expected) { Assert.Equal(expected, AmountToWords.Convert((decimal)amount)); } [Fact] public void Convert_RoundsCentsHalfUp() { Assert.Equal("One and 00/100 Dollars", AmountToWords.Convert(0.999m)); } }