Exemple #1
0
        public void Test_SausagePizza_Fact()
        {
            // arrange
            Crust pcrust = new Crust("Thin", 0.25);
            Size  psize  = new Size("Large", 10.50);
            var   sut    = new SausagePizza(pcrust, psize);

            var nameExpected      = "Sausage Pizza";
            var sizeExpected      = "Large";
            var sizePriceExpected = 10.50;
            var crustExpected     = "Thin";
            var crustPriceExpeced = 0.25;

            // act
            var nameActual       = sut.Name;
            var sizeActual       = sut.Size.Name;
            var sizePriceActual  = sut.Size.Price;
            var crustActual      = sut.Crust.Name;
            var crustPriceActual = sut.Crust.Price;

            // assert
            Assert.Equal(nameExpected, nameActual);
            Assert.Equal(sizeExpected, sizeActual);
            Assert.Equal(sizePriceExpected, sizePriceActual);
            Assert.Equal(crustExpected, crustActual);
            Assert.Equal(crustPriceExpeced, crustPriceActual);
        }
        protected override Pizza Create(PizzaType T)
        {
            Pizza             pizza   = null;
            IngredientFactory factory = new NYIngredientFactory();

            switch (T)
            {
            case PizzaType.CHEESE:
                pizza = new CheesePizza(factory, T)
                {
                    Name = "New York Style Cheese Pizza"
                };
                break;

            case PizzaType.PEPPERONI:
                pizza = new PepperoniPizza(factory, T)
                {
                    Name = "New York Style Pepperoni Pizza"
                };
                break;

            case PizzaType.CLAM:
                pizza = new NYClamPizza(factory, T)
                {
                    Name = "New York Style Clam Pizza"
                };
                break;

            case PizzaType.VEGGIE:
                pizza = new VeggiePizza(factory, T)
                {
                    Name = "New York Style Veggie Pizza"
                };
                break;

            case PizzaType.SAUSAGE:
                pizza = new SausagePizza(factory, T)
                {
                    Name = "New York Style Sausage Pizza"
                };
                break;

            case PizzaType.DELUXE:
                pizza = new DeluxePizza(factory, T)
                {
                    Name = "New York Style Deluxe Pizza"
                };
                break;

            default:
                break;
            }

            return(pizza);
        }
        /// <summary>
        /// Displays Pizza Menu for user
        /// </summary>
        /// <param name="c"></param>

        public static void PizzaMenu(List <APizza> c)
        {
            var ps = PizzaSingleton.Instance;

            ps.Seeding();

            System.Console.WriteLine("\n--------------------------");
            System.Console.WriteLine("Select a Pizza");
            System.Console.WriteLine("--------------------------");

            var pizzaSelCount = 1;

            foreach (var item in ps.Pizzas)
            {
                System.Console.WriteLine("{0}.) {1}", pizzaSelCount, item);
                pizzaSelCount += 1;
            }

            var userInput = System.Console.ReadLine();
            // First input check --> is it a number?
            var userChoice = inputValidInt(userInput);

            // Second input check --> is the input in range of the menu options?
            userChoice = inputValidRange(userChoice, ps.Pizzas.Count);

            var userPizzaChoice = ps.Pizzas[userChoice - 1].Name;

            //System.Console.WriteLine("\nPizza chosen: {0}", userPizzaChoice);

            switch (userPizzaChoice.ToLower())
            {
            case "custom pizza":
                var         crustChoice    = CrustMenu();
                var         sizeChoice     = SizeMenu();
                var         toppingsChoice = ToppingsMenu();
                CustomPizza cp             = new CustomPizza(crustChoice, sizeChoice, toppingsChoice);
                c.Add(cp);
                Console.WriteLine("\nA {0} {1} with {2} crust has been added to your cart!", cp.Size.Name, cp.Name, cp.Crust.Name);
                break;

            case "cheese pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                CheesePizza userPizza = new CheesePizza(crustChoice, sizeChoice);
                c.Add(userPizza);
                Console.WriteLine("\nA {0} {1} with {2} crust has been added to your cart!", userPizza.Size.Name, userPizza.Name, userPizza.Crust.Name);
                break;

            case "hawaiian pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                HawaiianPizza hp = new HawaiianPizza(crustChoice, sizeChoice);
                c.Add(hp);
                Console.WriteLine("\nA {0} {1} with {2} crust has been added to your cart!", hp.Size.Name, hp.Name, hp.Crust.Name);
                break;

            case "pepperoni pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                PepperoniPizza pp = new PepperoniPizza(crustChoice, sizeChoice);
                c.Add(pp);
                Console.WriteLine("\nA {0} {1} with {2} crust has been added to your cart!", pp.Size.Name, pp.Name, pp.Crust.Name);
                break;

            case "sausage pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                SausagePizza sp = new SausagePizza(crustChoice, sizeChoice);
                c.Add(sp);
                Console.WriteLine("\nA {0} {1} with {2} crust has been added to your cart!", sp.Size.Name, sp.Name, sp.Crust.Name);
                break;

            case "veggie pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                VeggiePizza vp = new VeggiePizza(crustChoice, sizeChoice);
                c.Add(vp);
                Console.WriteLine("\nA {0} {1} with {2} crust has been added to your cart!", vp.Size.Name, vp.Name, vp.Crust.Name);
                break;
            }
        }
Exemple #4
0
        /// <summary>
        /// Displays Pizza Menu for user
        /// </summary>
        /// <param name="c"></param>

        public static void PizzaMenu(List <APizza> c)
        {
            var ps = PizzaSingleton.Instance;

            ps.Seeding();

            System.Console.WriteLine("\nSelect a Pizza");
            System.Console.WriteLine("--------------------------");

            var pizzaSelCount = 1;

            foreach (var item in ps.Pizzas)
            {
                System.Console.WriteLine(pizzaSelCount + ".) " + item);
                pizzaSelCount += 1;
            }

            var userChoice      = int.Parse(System.Console.ReadLine());
            var userPizzaChoice = ps.Pizzas[userChoice - 1].Name;

            System.Console.WriteLine("Pizza chosen: {0}", userPizzaChoice);



            switch (userPizzaChoice.ToLower())
            {
            case "custom pizza":
                var crustChoice = CrustMenu();
                var sizeChoice  = SizeMenu();
                ToppingsMenu();
                CustomPizza cp = new CustomPizza();
                c.Add(cp);
                break;

            case "cheese pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                CheesePizza userPizza = new CheesePizza(crustChoice, sizeChoice);
                c.Add(userPizza);
                break;

            case "hawaiian pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                HawaiianPizza hp = new HawaiianPizza(crustChoice, sizeChoice);
                c.Add(hp);
                break;

            case "pepperoni pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                PepperoniPizza pp = new PepperoniPizza(crustChoice, sizeChoice);
                c.Add(pp);
                break;

            case "sausage pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                SausagePizza sp = new SausagePizza(crustChoice, sizeChoice);
                c.Add(sp);
                break;

            case "veggie pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                VeggiePizza vp = new VeggiePizza(crustChoice, sizeChoice);
                c.Add(vp);
                break;
            }
        }