public void OrderCostTet()
        {
            //Arrange
            ICollection <PizzaTopping> top1 = new HashSet <PizzaTopping>();

            top1.Add(new PizzaTopping());
            top1.Add(new PizzaTopping());
            Pizza p1 = new Pizza()
            {
                Crust = (int)PizzaCrust.Standard, Size = (int)PizzaSize.Medium, PizzaTopping = top1
            };
            Pizza p2 = new Pizza()
            {
                Crust = (int)PizzaCrust.Handtossed, Size = (int)PizzaSize.Personal, PizzaTopping = top1
            };
            Pizza p3 = new Pizza()
            {
                Crust = (int)PizzaCrust.Cauliflower, Size = (int)PizzaSize.Personal, PizzaTopping = top1
            };

            Order testOrder = new Order();

            testOrder.Pizza.Add(p1);
            testOrder.Pizza.Add(p2);
            testOrder.Pizza.Add(p3);

            //Act
            decimal testVal = PizzaLogic.CalcOrderCost(testOrder);

            //Assert
            Assert.AreEqual(23.5m, testVal);
        }
Esempio n. 2
0
        /// <summary>
        /// Method called when clicking the app or update pizza button.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAddUpdatePizza_Click(object sender, EventArgs e)
        {
            // create a temp list of current selected toppings to ensure only selected toppings are passed
            // to either the add or update pizza methods.
            List <string> tempToppings = new List <string>();

            for (int i = 0; i < allToppings.Length; i++)
            {
                if (clbToppings.GetItemChecked(i))
                {
                    tempToppings.Add(allToppings[i]);
                }
            }

            if (btnAddUpdatePizza.Text == "Add Pizza")
            {
                if (!string.IsNullOrWhiteSpace(cbSizes.Text))
                {
                    pizzas.Add(PizzaLogic.CreatePizza(cbSizes.Text, tempToppings));
                }
                else
                {
                    MessageBox.Show("A size must be selected!");
                }
            }

            else if (btnAddUpdatePizza.Text == "Update Pizza")
            {
                int n = lsbPizzaItems.SelectedIndex;

                if (!string.IsNullOrEmpty(cbSizes.Text) && n > -1)
                {
                    pizzas[n] = PizzaLogic.UpdatePizza(pizzas[n], cbSizes.Text, tempToppings);
                }
                else
                {
                    MessageBox.Show("A size must be selected!");
                }
            }

            // Repopulate listbox, uncheck toppings, ensure button says to add a new pizza, and remove size text.
            PopulatePizzaListBox();
            UncheckToppings();
            btnAddUpdatePizza.Text = "Add Pizza";
            cbSizes.Text           = "";
        }
        public void PizzaCostTest()
        {
            //Arrange
            ICollection <PizzaTopping> top1 = new HashSet <PizzaTopping>();

            top1.Add(new PizzaTopping());
            top1.Add(new PizzaTopping());
            ICollection <PizzaTopping> top2 = new HashSet <PizzaTopping>();

            top2.Add(new PizzaTopping());
            top2.Add(new PizzaTopping());
            top2.Add(new PizzaTopping());
            ICollection <PizzaTopping> top3 = new HashSet <PizzaTopping>();

            top3.Add(new PizzaTopping());
            top3.Add(new PizzaTopping());
            top3.Add(new PizzaTopping());
            top3.Add(new PizzaTopping());
            top3.Add(new PizzaTopping());
            //string[] top1 = { "peperroni", "olives" };
            //string[] top2 = { "sausage", "jalepenos", "mushrooms" };
            //string[] top3 = { "sausage", "olives", "jalepenos", "mushrooms", "peperroni", "pineapples" };
            Pizza p1 = new Pizza()
            {
                Crust = (int)PizzaCrust.Standard, Size = (int)PizzaSize.Medium, PizzaTopping = top1
            };
            Pizza p2 = new Pizza()
            {
                Crust = (int)PizzaCrust.Handtossed, Size = (int)PizzaSize.Personal, PizzaTopping = top1
            };
            Pizza p3 = new Pizza()
            {
                Crust = (int)PizzaCrust.Cauliflower, Size = (int)PizzaSize.Personal, PizzaTopping = top1
            };
            Pizza p4 = new Pizza()
            {
                Crust = (int)PizzaCrust.Standard, Size = (int)PizzaSize.Large, PizzaTopping = top1
            };
            Pizza p5 = new Pizza()
            {
                Crust = (int)PizzaCrust.Standard, Size = (int)PizzaSize.Medium, PizzaTopping = top2
            };
            Pizza p6 = new Pizza()
            {
                Crust = (int)PizzaCrust.Standard, Size = (int)PizzaSize.Medium, PizzaTopping = top3
            };
            decimal result1;
            decimal result2;
            decimal result3;
            decimal result4;
            decimal result5;
            decimal result6;

            //Act
            result1 = PizzaLogic.CalcPizzaCost(p1);
            result2 = PizzaLogic.CalcPizzaCost(p2);
            result3 = PizzaLogic.CalcPizzaCost(p3);
            result4 = PizzaLogic.CalcPizzaCost(p4);
            result5 = PizzaLogic.CalcPizzaCost(p5);
            result6 = PizzaLogic.CalcPizzaCost(p6);

            //Assert
            Assert.AreEqual(10m, result1);
            Assert.AreEqual(6.5m, result2);
            Assert.AreEqual(7m, result3);
            Assert.AreEqual(15m, result4);
            Assert.AreEqual(10.25m, result5);
            Assert.AreEqual(10.75m, result6);
        }