public void Test_Buy1Candy_ExpectedChange15Pence()
        {
            //Arrange
            VendingMachine  vmInstance = new VendingMachine();
            IVendingMachine vm         = vmInstance;

            //Act
            ICoin c = new Coin(5.670m);

            string msg = vm.InsertCoin(c);

            Assert.AreEqual("0.25", msg);

            msg = vm.InsertCoin(c);
            Assert.AreEqual("0.50", msg);


            msg = vm.InsertCoin(c);
            Assert.AreEqual("0.75", msg);

            msg = vm.Dispense(CommonUtility.productType.Candy);
            //Assert
            Assert.AreEqual("THANK YOU", msg);

            msg = vm.ReturnCoins();
            //Assert
            Assert.AreEqual("Quarter Change: 0\r\nDime Change: 1\r\nNickel Change: 0\r\nCurrent Amount: 0.00\r\nINSERT COINS", msg);
        }
        public void Test_InsertCoins_ReturnAllChange()
        {
            //Arrange
            VendingMachine  vmInstance = new VendingMachine();
            IVendingMachine vm         = vmInstance;

            //Act
            ICoin c = new Coin(5.670m);

            string msg = vm.InsertCoin(c);

            Assert.AreEqual("0.25", msg);

            msg = vm.InsertCoin(c);
            Assert.AreEqual("0.50", msg);


            msg = vm.InsertCoin(c);
            Assert.AreEqual("0.75", msg);


            msg = vm.InsertCoin(c);
            Assert.AreEqual("1.00", msg);

            msg = vm.ReturnCoins();
            //Assert
            Assert.AreEqual("Quarter Change: 4\r\nDime Change: 0\r\nNickel Change: 0\r\nCurrent Amount: 0.00\r\nINSERT COINS", msg);
        }