public void CreateNewYorkPizza()
        {
            // Assign
            PizzaStore pizzaStore = new NewYorkPizzaStore();
            // Act
            IPizza pizza = pizzaStore.CreatePizza(new List <string>());

            this.output.WriteLine($"Pizza Store: {pizzaStore.GetType()}");
            this.output.WriteLine($"Pizza Type: {pizza.GetType()}");
            // Assert
            Assert.NotNull(pizza as NewYorkPizza);
        }
        public void ShouldCreateSpecificPizza(PizzaType pizzaType)
        {
            // Assign
            PizzaStore pizzaStore = null;

            switch (pizzaType)
            {
            case PizzaType.California:
                pizzaStore = new CaliforniaPizzaStore();
                break;

            case PizzaType.Chicago:
                pizzaStore = new ChicagoPizzaStore();
                break;

            case PizzaType.NewYork:
                pizzaStore = new NewYorkPizzaStore();
                break;
            }

            // Act
            IPizza pizza = pizzaStore.CreatePizza(new List <string>());

            this.output.WriteLine($"Pizza Store: {pizzaStore.GetType()}");
            this.output.WriteLine($"Pizza Type: {pizza.GetType()}");

            // Assert
            switch (pizzaType)
            {
            case PizzaType.California:
                Assert.NotNull(pizza as CaliforniaPizza);
                break;

            case PizzaType.Chicago:
                Assert.NotNull(pizza as ChicagoPizza);
                break;

            case PizzaType.NewYork:
                Assert.NotNull(pizza as NewYorkPizza);
                break;
            }
        }