示例#1
0
        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);
        }
示例#2
0
        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");
        }
示例#3
0
        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);
        }
示例#6
0
        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);
 }