Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        public void TestWrongCoin()
        {
            PaymentToken euro = new PaymentToken(101, 99);

            ITokenConverter convertor = new SterlingTokenConverter(euro);
            ICoin           c         = convertor.Coin;

            Assert.AreEqual(c, null);
        }
Ejemplo n.º 3
0
        public void ConvertMoneyForBuying()
        {
            PaymentToken pound = new PaymentToken(100, 100);

            ITokenConverter convertor = new SterlingTokenConverter(pound);
            ICoin           c         = convertor.Coin;

            Assert.AreEqual(c.Worth, 1);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
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);
        }