public void CreateChicagoPizza()
        {
            // Assign
            PizzaStore pizzaStore = new ChicagoPizzaStore();
            // 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 ChicagoPizza);
        }
        public void FactoryTest()
        {
            PizzaStore store  = new ChicagoPizzaStore();
            var        target = store.CreatePizza(PizzaType.Cheese);

            Assert.IsTrue(target is CheesePizza);
            Assert.AreEqual(target.Name, "Chicago Style Cheese Pizza");

            store  = new NYPizzaStyleStore();
            target = store.CreatePizza(PizzaType.Cheese);
            Assert.IsTrue(target is CheesePizza);
            Assert.AreEqual(target.Name, "New York Style Cheese Pizza");
        }