public void Dispatches_visitor() { var operation = new DropUniqueConstraintOperation("dbo.MyTable", "MyUC"); var sqlGeneratorMock = new Mock <MigrationOperationSqlGenerator>(new RelationalTypeMapper()); var builder = new IndentedStringBuilder(); operation.GenerateSql(sqlGeneratorMock.Object, builder); sqlGeneratorMock.Verify(g => g.Generate(operation, builder), Times.Once()); var codeGeneratorMock = new Mock <MigrationCodeGenerator>(new Mock <ModelCodeGenerator>().Object); builder = new IndentedStringBuilder(); operation.GenerateCode(codeGeneratorMock.Object, builder); codeGeneratorMock.Verify(g => g.Generate(operation, builder), Times.Once()); var visitorMock = new Mock <MigrationOperationVisitor <object> >(); var context = new object(); operation.Accept(visitorMock.Object, context); visitorMock.Verify(v => v.Visit(operation, context), Times.Once()); }
public void Visit_with_drop_unique_constraint_operation() { var model = new DatabaseModel(); var column = new Column("Foo", typeof(int)); var table = new Table("dbo.MyTable", new[] { column }); table.AddUniqueConstraint(new UniqueConstraint("UC", new[] { column })); var operation = new DropUniqueConstraintOperation("dbo.MyTable", "UC"); model.AddTable(table); Assert.Equal(1, table.UniqueConstraints.Count); operation.Accept(new DatabaseModelModifier(), model); Assert.Equal(0, table.UniqueConstraints.Count); }