예제 #1
0
        public void CalculateCoinBreakdown_WithNegativeCents()
        {
            // arrange

            // act
            var results = CoinCalculator.CalculateCoinBreakdown(-16);

            // assert
            Assert.Empty(results);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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();
            }
        }