public void IterativeOptimizedCoinChangeV3Test() { //Arrange var coins = new[] { 1, 5, 10, 21, 25 }; var target = 63; var expected = 3; var coinUsed = new Dictionary <int, int>(); //Act var result = MySolution.CoinChangeV3(target, coins, out coinUsed); //Console.WriteLine("Change to give back : " + target); //Console.WriteLine("Number of coins used : " + result); //Console.WriteLine("Coins used : "); //PrintUsedCoins(coinUsed, target); //Console.ReadKey(); //Assert Assert.AreEqual(result, expected, "Result differs from what is expected."); }