コード例 #1
0
        public void CallingUniqueNamedAddsIndexExpressionToContext()
        {
            var collectionMock = new Mock <ICollection <IMigrationExpression> >();

            var contextMock = new Mock <IMigrationContext>();

            contextMock.Setup(x => x.Expressions).Returns(collectionMock.Object);

            var columnMock = new Mock <ColumnDefinition>();

            columnMock.SetupGet(x => x.Name).Returns("BaconId");

            var expressionMock = new Mock <CreateTableExpression>();

            expressionMock.SetupGet(x => x.SchemaName).Returns("Eggs");
            expressionMock.SetupGet(x => x.TableName).Returns("Bacon");

            var builder = new CreateTableExpressionBuilder(expressionMock.Object, contextMock.Object)
            {
                CurrentColumn = columnMock.Object
            };

            builder.Unique("IX_Bacon_BaconId");

            collectionMock.Verify(x => x.Add(It.Is <CreateIndexExpression>(
                                                 ix => ix.Index.Name == "IX_Bacon_BaconId" &&
                                                 ix.Index.TableName == "Bacon" &&
                                                 ix.Index.SchemaName == "Eggs" &&
                                                 ix.Index.IsUnique &&
                                                 !ix.Index.IsClustered &&
                                                 ix.Index.Columns.All(c => c.Name == "BaconId")
                                                 )));

            contextMock.VerifyGet(x => x.Expressions);
        }
コード例 #2
0
        public void CallingUniqueNamedAddsIndexExpressionToContext()
        {
            var collectionMock = new Mock<ICollection<IMigrationExpression>>();

            var contextMock = new Mock<IMigrationContext>();
            contextMock.Setup(x => x.Expressions).Returns(collectionMock.Object);

            var columnMock = new Mock<ColumnDefinition>();
            columnMock.SetupGet(x => x.Name).Returns("BaconId");

            var expressionMock = new Mock<CreateTableExpression>();
            expressionMock.SetupGet(x => x.SchemaName).Returns("Eggs");
            expressionMock.SetupGet(x => x.TableName).Returns("Bacon");

            var builder = new CreateTableExpressionBuilder(expressionMock.Object, contextMock.Object) { CurrentColumn = columnMock.Object };

            builder.Unique("IX_Bacon_BaconId");

            collectionMock.Verify(x => x.Add(It.Is<CreateIndexExpression>(
                ix => ix.Index.Name == "IX_Bacon_BaconId"
                      && ix.Index.TableName == "Bacon"
                      && ix.Index.SchemaName == "Eggs"
                      && ix.Index.IsUnique
                      && !ix.Index.IsClustered
                      && ix.Index.Columns.All(c => c.Name == "BaconId")
                                                 )));

            contextMock.VerifyGet(x => x.Expressions);
        }