Exemple #1
0
        public void RemoveFromStock()
        {
            InventoryClass inventory = new InventoryClass();
            Account        account   = new Account();

            account.Balance = 99m;
            inventory.Sale("A1", account);
            inventory.Sale("A1", account);
            inventory.Sale("A1", account);
            inventory.Sale("A1", account);
            inventory.Sale("A1", account);

            Assert.IsFalse(inventory.ItemLocation.ContainsKey("A1"));
            Assert.IsTrue(inventory.ItemLocation.ContainsKey("A2"));
        }
Exemple #2
0
        public void SellNonExistantKey()
        {
            Account account = new Account();

            account.Balance = 99m;
            InventoryClass inventory = new InventoryClass();

            inventory.Sale("g1", account);
            Assert.AreEqual(99, account.Balance);
        }
Exemple #3
0
        public void Sale()
        {
            InventoryClass inventory = new InventoryClass();
            Account        account   = new Account();

            account.Balance = 17.88m;
            inventory.Sale("B2", account);

            Assert.AreEqual(16.38m, account.Balance, "Input: B2 & account");
            Assert.AreEqual(4, inventory.ItemLocation["B2"].QuantityLeft, "Input: B2");
        }
Exemple #4
0
        public void Start(InventoryClass inventory, Account account)
        {
            string selection = "";

            while (selection != "0")
            {
                DisplayVendingMenu(inventory);
                Console.WriteLine($"Your current balance is {account.Balance}");
                Console.WriteLine($"Enter a Item Key to buy");
                Console.WriteLine($"Enter 1 to feed money");
                Console.WriteLine("Enter 0 to quit and checkout");
                Console.WriteLine(lastStatus);
                selection = Console.ReadLine().ToUpper();

                if (inventory.ItemLocation.ContainsKey(selection))
                {
                    Product product = inventory.ItemLocation[selection];

                    if (account.Balance < product.Price)
                    {
                        lastStatus = $"You are {Math.Abs((product.Price - account.Balance))} short of making this purchase select 1 to add funds";
                    }

                    inventory.Sale(selection, account);
                }

                if (selection == "1")
                {
                    Console.WriteLine("Enter how much money you would like to add or 0 to go back");
                    account.FeedMoney();
                }
                if (selection == "0")
                {
                    Console.WriteLine(account.FinishTransaction());
                    Console.WriteLine("Hit any key to quit");
                    Console.ReadKey();
                }
                Console.Clear();
            }
        }