public void ForeignKey_should_create_and_add_fk_model() { var createTableOperation = new CreateTableOperation("T"); createTableOperation.Columns.Add( new ColumnModel(PrimitiveTypeKind.Guid) { Name = "Foo" }); createTableOperation.Columns.Add( new ColumnModel(PrimitiveTypeKind.Guid) { Name = "Bar" }); var migration = new TestMigration(); var tableBuilder = new TableBuilder<Columns>(createTableOperation, migration); tableBuilder.ForeignKey( "P", c => new { c.Foo, c.Bar }, true, "my_fk"); Assert.Equal(1, migration.Operations.Count()); var addForeignKeyOperation = migration.Operations.Cast<AddForeignKeyOperation>().Single(); Assert.Equal("P", addForeignKeyOperation.PrincipalTable); Assert.Equal("Foo", addForeignKeyOperation.DependentColumns.First()); Assert.Equal("Bar", addForeignKeyOperation.DependentColumns.Last()); Assert.True(addForeignKeyOperation.CascadeDelete); Assert.Equal("my_fk", addForeignKeyOperation.Name); }
public void ToStringTest() { var migration = new TestMigration("C:\\test\\this_is_the_file_name.txt"); string result = migration.ToString(); Assert.AreEqual("this_is_the_file_name.txt", result, "The result should just be the filename"); }
public void test_date_parser_with_working_date() { //test file path string filePath = "C:\\2008-04-20_11h22m-test.sql"; var testMigration = new TestMigration(filePath); //make sure it is right var date = new DateTime(2008, 4, 20, 11, 22, 0); Assert.AreEqual(date, testMigration.MigrationDate, "The dates should match up"); }
public void Index_should_add_create_index_operation_to_model() { var createTableOperation = new CreateTableOperation("T"); createTableOperation.Columns.Add( new ColumnModel(PrimitiveTypeKind.Guid) { Name = "Foo", ApiPropertyInfo = typeof(Columns).GetDeclaredProperty("Foo") }); createTableOperation.Columns.Add( new ColumnModel(PrimitiveTypeKind.Guid) { Name = "Bar", ApiPropertyInfo = typeof(Columns).GetDeclaredProperty("Bar") }); var migration = new TestMigration(); var tableBuilder = new TableBuilder <Columns>(createTableOperation, migration); tableBuilder.Index( c => new { c.Foo, c.Bar }, unique: true); Assert.Equal(1, migration.Operations.Count()); var createIndexOperation = migration.Operations.Cast <CreateIndexOperation>().Single(); Assert.Equal("T", createIndexOperation.Table); Assert.True(createIndexOperation.IsUnique); Assert.Equal("Foo", createIndexOperation.Columns.First()); Assert.Equal("Bar", createIndexOperation.Columns.Last()); Assert.False(createIndexOperation.IsClustered); }
public void ForeignKey_should_create_and_add_fk_model() { var createTableOperation = new CreateTableOperation("T"); createTableOperation.Columns.Add( new ColumnModel(PrimitiveTypeKind.Guid) { Name = "Foo", ApiPropertyInfo = typeof(Columns).GetDeclaredProperty("Foo") }); createTableOperation.Columns.Add( new ColumnModel(PrimitiveTypeKind.Guid) { Name = "Bar", ApiPropertyInfo = typeof(Columns).GetDeclaredProperty("Bar") }); var migration = new TestMigration(); var tableBuilder = new TableBuilder <Columns>(createTableOperation, migration); tableBuilder.ForeignKey( "P", c => new { c.Foo, c.Bar }, true, "my_fk"); Assert.Equal(1, migration.Operations.Count()); var addForeignKeyOperation = migration.Operations.Cast <AddForeignKeyOperation>().Single(); Assert.Equal("P", addForeignKeyOperation.PrincipalTable); Assert.Equal("Foo", addForeignKeyOperation.DependentColumns.First()); Assert.Equal("Bar", addForeignKeyOperation.DependentColumns.Last()); Assert.True(addForeignKeyOperation.CascadeDelete); Assert.Equal("my_fk", addForeignKeyOperation.Name); }
public void Index_should_add_create_index_operation_to_model() { var createTableOperation = new CreateTableOperation("T"); createTableOperation.Columns.Add( new ColumnModel(PrimitiveTypeKind.Guid) { Name = "Foo", ApiPropertyInfo = typeof(Columns).GetProperty("Foo") }); createTableOperation.Columns.Add( new ColumnModel(PrimitiveTypeKind.Guid) { Name = "Bar", ApiPropertyInfo = typeof(Columns).GetProperty("Bar") }); var migration = new TestMigration(); var tableBuilder = new TableBuilder<Columns>(createTableOperation, migration); tableBuilder.Index( c => new { c.Foo, c.Bar }, unique: true); Assert.Equal(1, migration.Operations.Count()); var createIndexOperation = migration.Operations.Cast<CreateIndexOperation>().Single(); Assert.Equal("T", createIndexOperation.Table); Assert.True(createIndexOperation.IsUnique); Assert.Equal("Foo", createIndexOperation.Columns.First()); Assert.Equal("Bar", createIndexOperation.Columns.Last()); Assert.False(createIndexOperation.IsClustered); }
public void Should_Throw_Core_Exception_Migrating_Down() { var migration = new TestMigration("Test"); migration.Down(); }
public static void Equality(TestMigration x, TestMigration?y, bool expected) { x.Equals(y !).Should().Be(expected); }