예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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());
        }
예제 #4
0
        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);
        }
예제 #6
0
        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);
        }