public void CC_Returns_2_Combos_Totalling_5_Coins_Where_Value_Is_3() { /* * .5d,.5d,.5d * 1d,.5d */ Assert.IsTrue(CoinCalculator.TotalCoinsForEachCombination(Gen(3).First()).Count() == 2); Assert.IsTrue(CoinCalculator.TotalCoinsForEachCombination(Gen(3).First()).Sum() == 5); }
public void CalculateCoinBreakdown_WithNegativeCents() { // arrange // act var results = CoinCalculator.CalculateCoinBreakdown(-16); // assert Assert.Empty(results); }
public void CC_Returns_3_Combos_Totalling_12_Coins_Where_Value_Is_5() { /* * .5d,.5d,.5d,.5d,.5d, * 1d,.5d,.5d,5d * 1d,1d,.5d * */ Assert.IsTrue(CoinCalculator.TotalCoinsForEachCombination(Gen(5).First()).Count() == 3); Assert.IsTrue(CoinCalculator.TotalCoinsForEachCombination(Gen(5).First()).Sum() == 12); }
public void CC_Returns_4_Combos_Totalling_X_Coins_Where_Value_Is_6() { /* * .5d,.5d,.5d,.5d,.5d,.5d * 1d,.5d,.5d,5d,.5d * 1d,1d,.5d,.5d * 1d,1d,1d * 3p * */ Assert.IsTrue(CoinCalculator.TotalCoinsForEachCombination(Gen(6).First()).Count() == 5); Assert.IsTrue(CoinCalculator.TotalCoinsForEachCombination(Gen(6).First()).Sum() == 19); }
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(); } }
public void CC_Returns_2377_Where_Value_Is_24d() { Assert.IsTrue(CoinCalculator.CalculateTotalWaysToShare(48, CoinFactory.GenerateCoinStatic()) == 2377); }
public void CC_Returns_141_Where_Value_Is_12d() { Assert.IsTrue(CoinCalculator.CalculateTotalWaysToShare(24, CoinFactory.GenerateCoinStatic()) == 141); }
public void CC_Returns_2_Combos_Totalling_3_Coins_Where_Value_Is_2() { Assert.IsTrue(CoinCalculator.TotalCoinsForEachCombination(Gen(2).First()).Count() == 2); Assert.IsTrue(CoinCalculator.TotalCoinsForEachCombination(Gen(2).First()).Sum() == 3); }
public void CC_Returns_0_Where_Value_Is_0() { Assert.IsTrue(CoinCalculator.TotalCoinsForEachCombination(Gen(0).First()).Sum() == 0); }
IEnumerable <RuntimeCoin> Gen(int val) { return(CoinCalculator.GenerateAllCombinationsForValue(val, CoinFactory.GenerateCoinStatic())); }