public void HasConstraint_sets_the_IndependentConstraint() { var configuration = new NavigationPropertyConfiguration( typeof(LightweighEntity).GetDeclaredProperty("ValidNavigationProperty")); var lightweightConfiguration = new ConventionNavigationPropertyConfiguration(configuration, new ModelConfiguration()); lightweightConfiguration.HasConstraint <IndependentConstraintConfiguration>(); Assert.Same(IndependentConstraintConfiguration.Instance, configuration.Constraint); }
public void HasConstraint_sets_the_ForeignKeyConstraint() { var configuration = new NavigationPropertyConfiguration( typeof(LightweighEntity).GetDeclaredProperty("ValidNavigationProperty")); var lightweightConfiguration = new ConventionNavigationPropertyConfiguration(configuration, new ModelConfiguration()); lightweightConfiguration.HasConstraint <ForeignKeyConstraintConfiguration>(); Assert.IsType <ForeignKeyConstraintConfiguration>(configuration.Constraint); }
public void HasConstraint_sets_and_configures_the_ForeignKeyConstraint() { var property = new MockPropertyInfo(); var configuration = new NavigationPropertyConfiguration( typeof(LightweighEntity).GetDeclaredProperty("ValidNavigationProperty")); var lightweightConfiguration = new ConventionNavigationPropertyConfiguration(configuration, new ModelConfiguration()); lightweightConfiguration.HasConstraint <ForeignKeyConstraintConfiguration>(c => c.AddColumn(property)); Assert.IsType <ForeignKeyConstraintConfiguration>(configuration.Constraint); Assert.Same(property.Object, ((ForeignKeyConstraintConfiguration)configuration.Constraint).ToProperties.Single()); }
public void Methods_dont_throw_if_configuration_is_null() { var config = new ConventionNavigationPropertyConfiguration(null, null); Assert.Null(config.ClrPropertyInfo); config.HasConstraint <IndependentConstraintConfiguration>(); config.HasDeleteAction(OperationAction.Cascade); config.HasInverseEndMultiplicity(RelationshipMultiplicity.ZeroOrOne); config.HasInverseNavigationProperty(p => new MockPropertyInfo()); config.IsDeclaringTypePrincipal(true); config.HasRelationshipMultiplicity(RelationshipMultiplicity.ZeroOrOne); }
public void HasConstraint_is_noop_when_set_to_IndependentConstraint() { var configuration = new NavigationPropertyConfiguration( typeof(LightweighEntity).GetProperty("ValidNavigationProperty")); configuration.Constraint = IndependentConstraintConfiguration.Instance; var lightweightConfiguration = new ConventionNavigationPropertyConfiguration(configuration, new ModelConfiguration()); lightweightConfiguration.HasConstraint <ForeignKeyConstraintConfiguration>(); Assert.Same(IndependentConstraintConfiguration.Instance, configuration.Constraint); }
public void HasConstraint_is_noop_when_set_on_inverse() { var modelConfiguration = new ModelConfiguration(); var inverseNavigationProperty = typeof(LightweighEntity).GetDeclaredProperty("PrivateNavigationProperty"); modelConfiguration.Entity(typeof(LightweighEntity)) .Navigation(inverseNavigationProperty) .Constraint = IndependentConstraintConfiguration.Instance; var configuration = new NavigationPropertyConfiguration( typeof(LightweighEntity).GetDeclaredProperty("ValidNavigationProperty")); configuration.InverseNavigationProperty = inverseNavigationProperty; var lightweightConfiguration = new ConventionNavigationPropertyConfiguration(configuration, modelConfiguration); lightweightConfiguration.HasConstraint <ForeignKeyConstraintConfiguration>(); Assert.Null(configuration.Constraint); }