public void CallingForeignKeyAddsNewForeignKeyExpressionToContext() { 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 <AlterColumnExpression>(); expressionMock.SetupGet(x => x.TableName).Returns("Bacon"); expressionMock.SetupGet(x => x.Column).Returns(columnMock.Object); var builder = new AlterColumnExpressionBuilder(expressionMock.Object, contextMock.Object); builder.ForeignKey("fk_foo", "FooTable", "BarColumn"); collectionMock.Verify(x => x.Add(It.Is <CreateForeignKeyExpression>( fk => fk.ForeignKey.Name == "fk_foo" && fk.ForeignKey.PrimaryTable == "FooTable" && fk.ForeignKey.PrimaryColumns.Contains("BarColumn") && fk.ForeignKey.PrimaryColumns.Count == 1 && fk.ForeignKey.ForeignTable == "Bacon" && fk.ForeignKey.ForeignColumns.Contains("BaconId") && fk.ForeignKey.ForeignColumns.Count == 1 ))); contextMock.VerifyGet(x => x.Expressions); }
public void CallingForeignKeyAddsNewForeignKeyExpressionToContext() { var collectionMock = new Mock<ICollection<IMigrationExpression>>(); collectionMock.Verify(x => x.Add(It.Is<CreateForeignKeyExpression>( fk => fk.ForeignKey.Name == "fk_foo" && fk.ForeignKey.PrimaryTable == "FooTable" && fk.ForeignKey.PrimaryColumns.Contains("BarColumn") && fk.ForeignKey.PrimaryColumns.Count == 1 && fk.ForeignKey.ForeignTable == "Bacon" && fk.ForeignKey.ForeignColumns.Contains("BaconId") && fk.ForeignKey.ForeignColumns.Count == 1 )), Times.AtMostOnce()); var contextMock = new Mock<IMigrationContext>(); contextMock.Setup(x => x.Expressions).Returns(collectionMock.Object); contextMock.VerifyGet(x => x.Expressions, Times.AtMostOnce()); var columnMock = new Mock<ColumnDefinition>(); columnMock.SetupGet(x => x.Name).Returns("BaconId"); var expressionMock = new Mock<AlterColumnExpression>(); expressionMock.SetupGet(x => x.TableName).Returns("Bacon"); expressionMock.SetupGet(x => x.Column).Returns(columnMock.Object); var builder = new AlterColumnExpressionBuilder(expressionMock.Object, contextMock.Object); builder.ForeignKey("fk_foo", "FooTable", "BarColumn"); collectionMock.VerifyAll(); contextMock.VerifyAll(); columnMock.VerifyAll(); expressionMock.VerifyAll(); }