public void Can_get_all_entries() { using (var context = new EarlyLearningCenter()) { var category = context.Add(new Category()).Entity; var product = context.Add(new Product()).Entity; Assert.Equal( new object[] { category, product }, context.ChangeTracker.Entries().Select(e => e.Entity).OrderBy(e => e.GetType().Name)); } }
[Fact] // Issue #1207 public void Can_add_identifying_one_to_many_via_dependents_with_key_generation() { using (var context = new EarlyLearningCenter()) { var product1 = new Product(); var product2 = new Product(); var order1 = new Order(); var order2 = new Order(); var orderDetails1a = new OrderDetails { Order = order1, Product = product1 }; var orderDetails1b = new OrderDetails { Order = order1, Product = product2 }; var orderDetails2a = new OrderDetails { Order = order2, Product = product1 }; var orderDetails2b = new OrderDetails { Order = order2, Product = product2 }; context.Add(orderDetails1a); context.Add(orderDetails2a); context.Add(orderDetails1b); context.Add(orderDetails2b); context.Add(order1); context.Add(product1); context.Add(order2); context.Add(product2); AssertOrderAndDetailsFixedUp(context, orderDetails1a, orderDetails1b, orderDetails2a, orderDetails2b); } }
public void Members_check_arguments() { using (var context = new EarlyLearningCenter()) { Assert.Equal( "entity", // ReSharper disable once AssignNullToNotNullAttribute Assert.Throws <ArgumentNullException>(() => context.Add <Random>(null)).ParamName); Assert.Equal( "entity", // ReSharper disable once AssignNullToNotNullAttribute Assert.ThrowsAsync <ArgumentNullException>(() => context.AddAsync <Random>(null)).Result.ParamName); Assert.Equal( "entity", // ReSharper disable once AssignNullToNotNullAttribute Assert.Throws <ArgumentNullException>( () => context.AddAsync <Random>(null, new CancellationToken()).GetAwaiter().GetResult()).ParamName); Assert.Equal( "entity", // ReSharper disable once AssignNullToNotNullAttribute Assert.Throws <ArgumentNullException>(() => context.Update <Random>(null)).ParamName); Assert.Equal( "entity", // ReSharper disable once AssignNullToNotNullAttribute Assert.ThrowsAsync <ArgumentNullException>(() => context.UpdateAsync <Random>(null)).Result.ParamName); Assert.Equal( "entity", // ReSharper disable once AssignNullToNotNullAttribute Assert.ThrowsAsync <ArgumentNullException>(() => context.UpdateAsync <Random>(null, new CancellationToken())).Result.ParamName); } }
public void Members_check_arguments() { using (var context = new EarlyLearningCenter()) { Assert.Equal( "entity", // ReSharper disable once AssignNullToNotNullAttribute Assert.Throws<ArgumentNullException>(() => context.Add<Random>(null)).ParamName); Assert.Equal( "entity", // ReSharper disable once AssignNullToNotNullAttribute Assert.ThrowsAsync<ArgumentNullException>(() => context.AddAsync<Random>(null)).Result.ParamName); Assert.Equal( "entity", // ReSharper disable once AssignNullToNotNullAttribute Assert.Throws<ArgumentNullException>( () => context.AddAsync<Random>(null, new CancellationToken()).GetAwaiter().GetResult()).ParamName); Assert.Equal( "entity", // ReSharper disable once AssignNullToNotNullAttribute Assert.Throws<ArgumentNullException>(() => context.Update<Random>(null)).ParamName); Assert.Equal( "entity", // ReSharper disable once AssignNullToNotNullAttribute Assert.ThrowsAsync<ArgumentNullException>(() => context.UpdateAsync<Random>(null)).Result.ParamName); Assert.Equal( "entity", // ReSharper disable once AssignNullToNotNullAttribute Assert.ThrowsAsync<ArgumentNullException>(() => context.UpdateAsync<Random>(null, new CancellationToken())).Result.ParamName); } }
[Fact] // Issue #743 public void Throws_when_instance_of_unmapped_derived_type_is_used() { using (var context = new EarlyLearningCenter()) { Assert.Equal(CoreStrings.EntityTypeNotFound(typeof(SpecialProduct).Name), Assert.Throws <InvalidOperationException>(() => context.Add(new SpecialProduct())).Message); } }
[Fact] // Issue #1207 public void Can_add_identifying_dependents_and_principal_starting_in_the_middle_with_key_generation() { using (var context = new EarlyLearningCenter()) { var tagDetails1 = new ProductDetailsTagDetails { Tag = new ProductDetailsTag { Details = new ProductDetails { Product = new Product() } } }; var tagDetails2 = new ProductDetailsTagDetails { Tag = new ProductDetailsTag { Details = new ProductDetails { Product = new Product() } } }; context.Add(tagDetails1.Tag); context.Add(tagDetails2.Tag); context.Add(tagDetails1); context.Add(tagDetails2); context.Add(tagDetails2.Tag.Details); context.Add(tagDetails1.Tag.Details); context.Add(tagDetails1.Tag.Details.Product); context.Add(tagDetails2.Tag.Details.Product); AssertProductAndDetailsFixedUp(context, tagDetails1, tagDetails2); } }
[Fact] // Issue #1207 public void Can_add_principal_and_identifying_dependents_starting_in_the_middle_with_key_generation() { using (var context = new EarlyLearningCenter()) { var product1 = new Product { Details = new ProductDetails { Tag = new ProductDetailsTag { TagDetails = new ProductDetailsTagDetails() } } }; var product2 = new Product { Details = new ProductDetails { Tag = new ProductDetailsTag { TagDetails = new ProductDetailsTagDetails() } } }; context.Add(product1.Details); context.Add(product2.Details); context.Add(product1.Details.Tag.TagDetails); context.Add(product1); context.Add(product1.Details.Tag); context.Add(product2.Details.Tag); context.Add(product2.Details.Tag.TagDetails); context.Add(product2); AssertProductAndDetailsFixedUp(context, product1.Details.Tag.TagDetails, product2.Details.Tag.TagDetails); } }
[Fact] // Issue #1207 public void Can_add_identifying_dependents_and_principal_with_reverse_post_nav_fixup_with_key_generation() { using (var context = new EarlyLearningCenter()) { var product1 = new Product(); var details1 = new ProductDetails(); var tag1 = new ProductDetailsTag(); var tagDetails1 = new ProductDetailsTagDetails(); var product2 = new Product(); var details2 = new ProductDetails(); var tag2 = new ProductDetailsTag(); var tagDetails2 = new ProductDetailsTagDetails(); context.Add(product1); context.Add(tagDetails2); context.Add(details1); context.Add(tag2); context.Add(details2); context.Add(tag1); context.Add(tagDetails1); context.Add(product2); tagDetails1.Tag = tag1; tag1.Details = details1; details1.Product = product1; tagDetails2.Tag = tag2; tag2.Details = details2; details2.Product = product2; context.ChangeTracker.DetectChanges(); AssertProductAndDetailsFixedUp(context, product1.Details.Tag.TagDetails, product2.Details.Tag.TagDetails); } }
[Fact] // Issue #743 public void Throws_when_instance_of_unmapped_derived_type_is_used() { using (var context = new EarlyLearningCenter()) { Assert.Equal(CoreStrings.EntityTypeNotFound(typeof(SpecialProduct).Name), Assert.Throws<InvalidOperationException>(() => context.Add(new SpecialProduct())).Message); } }