public void OnBaseEntityTypeSet_calls_apply_on_conventions_in_order(bool useBuilder) { var conventions = new ConventionSet(); InternalEntityTypeBuilder entityTypeBuilder = null; var convention = new Mock <IBaseTypeConvention>(); convention.Setup(c => c.Apply(It.IsAny <InternalEntityTypeBuilder>(), It.IsAny <EntityType>())) .Returns <InternalEntityTypeBuilder, EntityType>((b, t) => { Assert.NotNull(b); Assert.Null(t); entityTypeBuilder = b; return(true); }); conventions.BaseEntityTypeSetConventions.Add(convention.Object); var nullConvention = new Mock <IBaseTypeConvention>(); nullConvention.Setup(c => c.Apply(It.IsAny <InternalEntityTypeBuilder>(), It.IsAny <EntityType>())) .Returns <InternalEntityTypeBuilder, EntityType>((b, t) => { Assert.Null(t); Assert.Same(entityTypeBuilder, b); return(false); }); conventions.BaseEntityTypeSetConventions.Add(nullConvention.Object); var extraConvention = new Mock <IBaseTypeConvention>(); extraConvention.Setup(c => c.Apply(It.IsAny <InternalEntityTypeBuilder>(), It.IsAny <EntityType>())) .Returns <InternalEntityTypeBuilder, EntityType>((b, t) => { Assert.False(true); return(false); }); conventions.BaseEntityTypeSetConventions.Add(extraConvention.Object); var builder = new InternalModelBuilder(new Model(conventions)) .Entity(typeof(SpecialOrder), ConfigurationSource.Convention); if (useBuilder) { Assert.NotNull(builder.HasBaseType(typeof(Order), ConfigurationSource.Convention)); } else { builder.Metadata.HasBaseType(builder.Metadata.Model.AddEntityType(typeof(Order)), ConfigurationSource.Convention); } Assert.NotNull(entityTypeBuilder); }
public void OnBaseEntityTypeSet_calls_apply_on_conventions_in_order(bool useBuilder) { var conventions = new ConventionSet(); InternalEntityTypeBuilder entityTypeBuilder = null; var convention = new Mock<IBaseTypeConvention>(); convention.Setup(c => c.Apply(It.IsAny<InternalEntityTypeBuilder>(), It.IsAny<EntityType>())) .Returns<InternalEntityTypeBuilder, EntityType>((b, t) => { Assert.NotNull(b); Assert.Null(t); entityTypeBuilder = b; return true; }); conventions.BaseEntityTypeSetConventions.Add(convention.Object); var nullConvention = new Mock<IBaseTypeConvention>(); nullConvention.Setup(c => c.Apply(It.IsAny<InternalEntityTypeBuilder>(), It.IsAny<EntityType>())) .Returns<InternalEntityTypeBuilder, EntityType>((b, t) => { Assert.Null(t); Assert.Same(entityTypeBuilder, b); return false; }); conventions.BaseEntityTypeSetConventions.Add(nullConvention.Object); var extraConvention = new Mock<IBaseTypeConvention>(); extraConvention.Setup(c => c.Apply(It.IsAny<InternalEntityTypeBuilder>(), It.IsAny<EntityType>())) .Returns<InternalEntityTypeBuilder, EntityType>((b, t) => { Assert.False(true); return false; }); conventions.BaseEntityTypeSetConventions.Add(extraConvention.Object); var builder = new InternalModelBuilder(new Model(conventions)) .Entity(typeof(SpecialOrder), ConfigurationSource.Convention); if (useBuilder) { Assert.NotNull(builder.HasBaseType(typeof(Order), ConfigurationSource.Convention)); } else { builder.Metadata.HasBaseType(builder.Metadata.Model.AddEntityType(typeof(Order)), ConfigurationSource.Convention); } Assert.NotNull(entityTypeBuilder); }