public void CalculateCoinBreakdown_WithNegativeCents() { // arrange // act var results = CoinCalculator.CalculateCoinBreakdown(-16); // assert Assert.Empty(results); }
public void CalculateCoinBreakdown_WithValidCents( int initialCents, int expectedQuarters, int expectedDimes, int expectedNickels, int expectedPennies) { // arrange // act var results = CoinCalculator.CalculateCoinBreakdown(initialCents); // assert Assert.Equal(4, results.Count); Assert.Equal(expectedQuarters, results.First(p => p.Type == CoinType.Quarter).Amount); Assert.Equal(expectedDimes, results.First(p => p.Type == CoinType.Dime).Amount); Assert.Equal(expectedNickels, results.First(p => p.Type == CoinType.Nickel).Amount); Assert.Equal(expectedPennies, results.First(p => p.Type == CoinType.Penny).Amount); }
public void Convert() { try { ErrorMessage = null; if (string.IsNullOrEmpty(DollarValue)) { throw new FormatException(); } Cents = CalculateCents(DollarValue); CoinResults = CoinCalculator.CalculateCoinBreakdown(Cents); } catch { ErrorMessage = "The dollar value must be a valid number between 0.00 and 1000.00."; CoinResults.Clear(); } }