public void ReduceSixPennies()
        {
            //Arrange
            ICurrencyRepo sixPennies, sixPenniesReduced;


            //Act
            sixPennies = new USCurrencyRepo();
            for (int i = 0; i < 6; i++)
            {
                sixPennies.AddCoin(new Penny());
            }
            sixPenniesReduced = sixPennies.Reduce();

            //Assert
            Assert.AreEqual(2, sixPenniesReduced.GetCoinCount());
        }
        public void ReduceTwentySixPennies()
        {
            //Arrange
            ICurrencyRepo Coins, CoinsReduced;
            double        initialValue, reducedValue;

            //Act
            Coins = new USCurrencyRepo();
            for (int i = 0; i < 26; i++)
            {
                Coins.AddCoin(new Penny());
            }
            initialValue = Coins.TotalValue();
            CoinsReduced = Coins.Reduce();
            reducedValue = Coins.TotalValue();


            //Assert
            Assert.AreEqual(2, CoinsReduced.GetCoinCount());
            Assert.AreEqual((decimal)initialValue, (decimal)reducedValue);
        }
        public void ReduceNinePennies()
        {
            //Arrange
            ICurrencyRepo Pennies, PenniesReduced;
            double        initialValue, reducedValue;

            //Act
            Pennies = new USCurrencyRepo();
            for (int i = 0; i < 9; i++)
            {
                Pennies.AddCoin(new Penny());
            }

            initialValue   = Pennies.TotalValue();
            PenniesReduced = Pennies.Reduce();
            reducedValue   = Pennies.TotalValue();

            //Assert
            Assert.AreEqual(5, PenniesReduced.GetCoinCount());
            Assert.AreEqual(initialValue, reducedValue);
        }