public void ConvertorEqualToCoin() { PaymentToken ten = new PaymentToken(10, 10); ITokenConverter convertor = new SterlingTokenConverter(ten); ICoin c = convertor.Coin; ICoin coin = new TenPence(); Assert.AreEqual(coin.Worth, c.Worth); }
public void TestWrongCoin() { PaymentToken euro = new PaymentToken(101, 99); ITokenConverter convertor = new SterlingTokenConverter(euro); ICoin c = convertor.Coin; Assert.AreEqual(c, null); }
public void ConvertMoneyForBuying() { PaymentToken pound = new PaymentToken(100, 100); ITokenConverter convertor = new SterlingTokenConverter(pound); ICoin c = convertor.Coin; Assert.AreEqual(c.Worth, 1); }
public void IsCoinGoodForMachine() { PaymentToken two = new PaymentToken(2, 2); ITokenConverter convertor = new SterlingTokenConverter(two); var a = vm.CurrentPayment; vm.MakePayment(convertor.Coin); var b = vm.CurrentPayment; Assert.AreEqual(b, 0); Assert.AreEqual(a, 0); }
public void RollingChangeCalculator() { PaymentToken fifty = new PaymentToken(50, 50); ITokenConverter convertor1 = new SterlingTokenConverter(fifty); vm.MakePayment(convertor1.Coin); vm.MakePurchase("A1"); var coinChange = vm.GetChange.Sum(c => c.Worth); var a = vm.AvailableChange; Assert.AreEqual(0, a); Assert.AreEqual(0.1, coinChange); }
public void ResetCoins() { PaymentToken pound = new PaymentToken(100, 100); PaymentToken five = new PaymentToken(5, 5); ITokenConverter convertor1 = new SterlingTokenConverter(pound); ICoin c1 = convertor1.Coin; ITokenConverter convertor2 = new SterlingTokenConverter(five); ICoin c2 = convertor2.Coin; vm.MakePayment(c1); vm.MakePayment(c1); vm.ReturnCoins(); Assert.AreEqual(vm.CurrentPayment, 0); }
public static void Main(string[] args) { VendingMachine vendingMachine = null; int choice = 0; switch (StockOptions()) { case 1: vendingMachine = VendingMachineStocker.FullyStockedAndWithChange(); break; case 2: vendingMachine = VendingMachineStocker.FullyStockedAndNoChange(); break; case 3: vendingMachine = VendingMachineStocker.StockedAndWithChange(); break; default: break; } do { ITokenConverter tokenConverter; choice = VendorDisplay(vendingMachine); switch (choice) { case 1: tokenConverter = new SterlingTokenConverter(new PaymentToken(100, 100)); vendingMachine.MakePayment(tokenConverter.Coin); break; case 2: tokenConverter = new SterlingTokenConverter(new PaymentToken(50, 50)); vendingMachine.MakePayment(tokenConverter.Coin); break; case 3: tokenConverter = new SterlingTokenConverter(new PaymentToken(20, 20)); vendingMachine.MakePayment(tokenConverter.Coin); break; case 4: tokenConverter = new SterlingTokenConverter(new PaymentToken(10, 10)); vendingMachine.MakePayment(tokenConverter.Coin); break; case 5: tokenConverter = new SterlingTokenConverter(new PaymentToken(5, 5)); vendingMachine.MakePayment(tokenConverter.Coin); break; case 6: tokenConverter = new SterlingTokenConverter(new PaymentToken(2, 2)); vendingMachine.MakePayment(tokenConverter.Coin); break; case 7: tokenConverter = new SterlingTokenConverter(new PaymentToken(1, 1)); vendingMachine.MakePayment(tokenConverter.Coin); break; case 8: tokenConverter = new SterlingTokenConverter(new PaymentToken(102, 98)); vendingMachine.MakePayment(tokenConverter.Coin); break; case 9: vendingMachine.ReturnCoins(); break; case 10: PurchaseDisplay(vendingMachine); break; default: //choice = Start(); break; } } while (choice != 99); }