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); }
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); }