public void MoneyExchanger_GetDenominations_AmountZero_ReturnsNoDenominations()
        {
            var moneyExchanger = new MoneyExchanger();
            var denominations = moneyExchanger.GetDenominations(0);

            Assert.IsTrue(denominations.Count == 0);
        }
        public void MoneyExchanger_GetDenominations_Amount1Euro_1EuroDenomination()
        {
            var moneyExchanger = new MoneyExchanger();
            var denominations = moneyExchanger.GetDenominations(1);

            var denomination = new Denomination(Currency.Euro, 1000);
            Assert.IsTrue(denominations.Count == 1 && denominations.ContainsKey(denomination) && denominations[denomination] == 1);
        }
예제 #3
0
        public void TestCase()
        {
            var exch = new MoneyExchanger();

            Assert.AreEqual(-1, exch.GetExchange(new int[] { 2 }, 3));
            var coins = new int[] { 1, 2, 5 };

            Assert.AreEqual(3, exch.GetExchange(coins, 11));
            Assert.AreEqual(4, exch.GetExchange(coins, 13));

            coins = new int[] { 2, 4, 5 };

            Assert.AreEqual(5, exch.GetExchange(coins, 21));

            Assert.AreEqual(-1, exch.GetExchange(new int[] { 2, 6 }, 15));
        }