public void TestGetInventory()
        {
            //arrange
            Catering catering = new Catering(fa);

            //act
            CateringItem[] items = catering.GetInventory();

            //assert
            Assert.IsTrue(items.Length > 0);
        }
        public void TestIsSufficientQuanity()
        {
            //arrange
            Catering catering = new Catering(fa);

            CateringItem[] items = catering.GetInventory();
            string         code  = items[0].ProductCode; //first item

            // act
            catering.AddMoney("2000");

            //assert
            Assert.IsTrue(catering.IsSufficientQuanity(code, "50"));
        }
        public void TestIsProductValid()
        {
            //arrange
            Catering catering = new Catering(fa);

            CateringItem[] items = catering.GetInventory();
            string         code  = items[0].ProductCode; //first item

            //assert
            Assert.IsTrue(catering.IsProductValid(code));

            //assert - assume Z1 is not a vaild code
            Assert.IsFalse(catering.IsProductValid("Z1"));
        }
        public void TestIsSoldOut()
        {
            //arrange
            Catering catering = new Catering(fa);

            CateringItem[] items = catering.GetInventory();
            string         code  = items[0].ProductCode; //first item

            catering.AddMoney("2000");

            //act
            catering.MakePurchase(code, "50");

            //assert
            Assert.IsTrue(catering.IsSoldOut(code));
        }
        public void TestGetPurchases()
        {
            //arrange
            Catering catering = new Catering(fa);

            CateringItem[] items = catering.GetInventory();
            string         code  = items[0].ProductCode; //first item

            catering.AddMoney("20");
            catering.MakePurchase(code, "1");

            //act
            CateringItem[] purchases = catering.GetPurchases();

            //assert
            Assert.AreEqual(1, purchases.Length);
        }
        public void TestsSufficientFunds()
        {
            //arrange
            Catering catering = new Catering(fa);

            CateringItem[] items = catering.GetInventory();
            string         code  = items[0].ProductCode; //first item
            decimal        price = items[0].Price;

            //act
            //how much for 5 of them?
            decimal extendedPrice = price * 5;

            //add that amount + 1 dollar
            int moneyToAdd = (int)Math.Ceiling(extendedPrice) + 1;

            catering.AddMoney(moneyToAdd.ToString());


            Assert.IsTrue(catering.IsSufficientFunds(code, "5"));
            Assert.IsFalse(catering.IsSufficientFunds(code, "10"));
        }