static void Main(string[] args) { Console.WriteLine("Hello World!"); Pizza orderPizza; List <Pizza> orderList = new List <Pizza>(); orderPizza = new MediumPizza(); orderPizza = new DoubleCheese(orderPizza); // Console.WriteLine(orderPizza); orderList.Add(orderPizza); orderPizza = new SmallPizza(); orderPizza = new Olive(orderPizza); orderPizza = new Ham(orderPizza); // Console.WriteLine(orderPizza); orderList.Add(orderPizza); orderPizza = new BigPizza(); orderPizza = new Ham(orderPizza); orderPizza = new DoubleCheese(orderPizza); orderPizza = new Olive(orderPizza); orderList.Add(orderPizza); foreach (var pizza in orderList) { Console.WriteLine(pizza); } Console.ReadLine(); }
public void Each_property_gets_its_own_generator() { var olives = new Olive[4]; var toasts = new Toast[4]; using (var context = new PetsContext("Dance")) { olives[0] = context.Add(new Olive()).Entity; toasts[0] = context.Add(new Toast()).Entity; Assert.Equal(1, olives[0].Id); Assert.Equal(1, toasts[0].Id); olives[1] = context.Add(new Olive()).Entity; toasts[1] = context.Add(new Toast()).Entity; Assert.Equal(2, olives[1].Id); Assert.Equal(2, toasts[1].Id); context.SaveChanges(); Assert.Equal(1, olives[0].Id); Assert.Equal(1, toasts[0].Id); Assert.Equal(2, olives[1].Id); Assert.Equal(2, toasts[1].Id); olives[2] = context.Add(new Olive()).Entity; toasts[2] = context.Add(new Toast()).Entity; Assert.Equal(3, olives[2].Id); Assert.Equal(3, toasts[2].Id); context.SaveChanges(); } using (var context = new PetsContext("Dance")) { olives[3] = context.Add(new Olive()).Entity; toasts[3] = context.Add(new Toast()).Entity; Assert.Equal(4, olives[3].Id); Assert.Equal(4, toasts[3].Id); context.SaveChanges(); } Assert.Equal(1, olives[0].Id); Assert.Equal(1, toasts[0].Id); Assert.Equal(2, olives[1].Id); Assert.Equal(2, toasts[1].Id); Assert.Equal(3, olives[2].Id); Assert.Equal(3, toasts[2].Id); Assert.Equal(4, olives[3].Id); Assert.Equal(4, toasts[3].Id); }
public void Mixing_explicit_values_with_generated_values_with_care_works() { var olives = new Olive[4]; var toasts = new Toast[4]; using (var context = new PetsContext("Wercs")) { olives[0] = context.Add(new Olive { Id = 10 }).Entity; toasts[0] = context.Add(new Toast { Id = 100 }).Entity; context.SaveChanges(); olives[1] = context.Add(new Olive()).Entity; toasts[1] = context.Add(new Toast()).Entity; context.SaveChanges(); Assert.Equal(10, olives[0].Id); Assert.Equal(100, toasts[0].Id); Assert.Equal(11, olives[1].Id); Assert.Equal(101, toasts[1].Id); olives[2] = context.Add(new Olive { Id = 20 }).Entity; toasts[2] = context.Add(new Toast { Id = 200 }).Entity; context.SaveChanges(); olives[3] = context.Add(new Olive()).Entity; toasts[3] = context.Add(new Toast()).Entity; context.SaveChanges(); Assert.Equal(20, olives[2].Id); Assert.Equal(200, toasts[2].Id); Assert.Equal(21, olives[3].Id); Assert.Equal(201, toasts[3].Id); } }
public void Generators_are_associated_with_database_root() { var serviceProvider1 = new ServiceCollection() .AddEntityFrameworkInMemoryDatabase() .BuildServiceProvider(); var serviceProvider2 = new ServiceCollection() .AddEntityFrameworkInMemoryDatabase() .BuildServiceProvider(); var root = new InMemoryDatabaseRoot(); var olives = new Olive[2]; var toasts = new Toast[2]; using (var context = new PetsContext("Drink", root, serviceProvider1)) { olives[0] = context.Add(new Olive()).Entity; toasts[0] = context.Add(new Toast()).Entity; Assert.Equal(1, olives[0].Id); Assert.Equal(1, toasts[0].Id); context.SaveChanges(); } using (var context = new PetsContext("Drink", root, serviceProvider2)) { olives[1] = context.Add(new Olive()).Entity; toasts[1] = context.Add(new Toast()).Entity; Assert.Equal(2, olives[1].Id); Assert.Equal(2, toasts[1].Id); context.SaveChanges(); } Assert.Equal(1, olives[0].Id); Assert.Equal(1, toasts[0].Id); Assert.Equal(2, olives[1].Id); Assert.Equal(2, toasts[1].Id); }
static void Main(string[] args) { Pizza largePizza = new LargePizza(); largePizza = new Cheese(largePizza); largePizza = new Olive(largePizza); largePizza = new Ham(largePizza); Console.WriteLine($"{largePizza.GetDescription()} costs £{largePizza.CalculateCost()}"); Pizza smallPizza = new SmallPizza(); smallPizza = new Cheese(smallPizza); smallPizza = new Olive(smallPizza); smallPizza = new Ham(smallPizza); Console.WriteLine($"{smallPizza.GetDescription()} costs £{smallPizza.CalculateCost()}"); Pizza mediumPizza = new MediumPizza(); mediumPizza = new Cheese(mediumPizza); mediumPizza = new Olive(mediumPizza); Console.WriteLine($"{mediumPizza.GetDescription()} costs £{mediumPizza.CalculateCost()}"); Pizza mediumPizza2 = new MediumPizza(); mediumPizza2 = new DoubleCheese(mediumPizza2); mediumPizza2 = new Olive(mediumPizza2); Console.WriteLine($"{mediumPizza2.GetDescription()} costs £{mediumPizza2.CalculateCost()}"); Console.ReadLine(); }