public void AddingASingleColumnShouldAddItToToColumnList()
        {
            CreateConstraintExpression expression = new CreateConstraintExpression(ConstraintType.Unique);

            CreateConstraintExpressionBuilder builder = new CreateConstraintExpressionBuilder(expression);
            builder.OnTable("FOO").Column("BAR");

            expression.Constraint.Columns.First().ShouldBe("BAR");
        }
        public void SettingTheTableNameSetsTheTableName()
        {
            CreateConstraintExpression expression = new CreateConstraintExpression(ConstraintType.Unique);

            CreateConstraintExpressionBuilder builder = new CreateConstraintExpressionBuilder(expression);
            builder.OnTable("FOO");

            expression.Constraint.TableName.ShouldBe("FOO");
        }
        public void AddingMultipleColumnShouldAddThenToToColumnList()
        {
            CreateConstraintExpression expression = new CreateConstraintExpression(ConstraintType.Unique);

            CreateConstraintExpressionBuilder builder = new CreateConstraintExpressionBuilder(expression);
            builder.OnTable("FOO").Columns(new string[]{"BAR","BAZ" });

            expression.Constraint.Columns.First().ShouldBe("BAR");
            expression.Constraint.Columns.ElementAt(1).ShouldBe("BAZ");
        }
        public void CallingColumnsWithDuplicateNamesAddsSetOfColumnNamesForUnique()
        {
            var expression = new CreateConstraintExpression(ConstraintType.Unique);

            var builder = new CreateConstraintExpressionBuilder(expression);

            builder.Columns(new[] { Column1, Column2, Column1 });

            Assert.That(expression.Constraint.Columns.Count, Is.EqualTo(2));
        }
        public void ATableShouldBeAllowedToSpecifyASchema()
        {
            CreateConstraintExpression expression = new CreateConstraintExpression(ConstraintType.PrimaryKey);

            CreateConstraintExpressionBuilder builder = new CreateConstraintExpressionBuilder(expression);
            builder.OnTable("FOO").WithSchema("BAR").Column("BAZ");

            expression.Constraint.SchemaName.ShouldBe("BAR");
            expression.Constraint.TableName.ShouldBe("FOO");
            expression.Constraint.Columns.First().ShouldBe("BAZ");
        }
Exemplo n.º 6
0
        private static void SetConstraintType(ICreateConstraintOptionsSyntax expression, SqlServerConstraintType type)
        {
            CreateConstraintExpressionBuilder castPrimaryKey = expression as CreateConstraintExpressionBuilder;

            if (castPrimaryKey == null)
            {
                throw new InvalidOperationException(type + " must be called on an object that implements ISupportAdditionalFeatures.");
            }

            ISupportAdditionalFeatures castExpression = castPrimaryKey.Expression.Constraint;

            castExpression.AddAdditionalFeature(ConstraintType, type);
        }
        public void CallingColumnsWithDuplicateNamesAddsSetOfColumnNamesForUnique()
        {
            var expression = new CreateConstraintExpression(ConstraintType.Unique);

            var builder = new CreateConstraintExpressionBuilder(expression);
            builder.Columns(new[] { Column1, Column2, Column1 });

            Assert.That(expression.Constraint.Columns.Count, Is.EqualTo(2));
        }