예제 #1
0
        public override void CanAlterSchema()
        {
            var expression = GeneratorTestHelper.GetAlterSchemaExpression();

            var result = Generator.Generate(expression);

            result.ShouldBe(string.Empty);
        }
예제 #2
0
        public void CanAlterColumnInStrictMode()
        {
            var expression = GeneratorTestHelper.GetRenameColumnExpression();

            Generator.compatabilityMode = CompatabilityMode.STRICT;

            Assert.Throws <DatabaseOperationNotSupportedException>(() => Generator.Generate(expression));
        }
예제 #3
0
        public override void CanCreateIndexWithCustomSchema()
        {
            var expression = GeneratorTestHelper.GetCreateIndexExpression();

            expression.Index.SchemaName = "TestSchema";

            var result = Generator.Generate(expression);

            result.ShouldBe("CREATE INDEX \"TestIndex\" ON \"TestTable1\" (\"TestColumn1\" ASC)");
        }
예제 #4
0
        public override void CanInsertData()
        {
            var    expression = GeneratorTestHelper.GetInsertDataExpression();
            string sql        = generator.Generate(expression);

            string expected = "INSERT INTO 'TestTable1' ('Id', 'Name', 'Website') VALUES (1, 'Just''in', 'codethinked.com');";

            expected += @" INSERT INTO 'TestTable1' ('Id', 'Name', 'Website') VALUES (2, 'Na\te', 'kohari.org')";

            sql.ShouldBe(expected);
        }
예제 #5
0
        public override void CanDropColumn()
        {
            var    expression = GeneratorTestHelper.GetDeleteColumnExpression();
            string sql        = _generator.Generate(expression);

            sql.ShouldBe(String.Empty); //because sqlite doesnt support removing columns
        }
예제 #6
0
        public void CanDumpCreateTableExpression()
        {
            var expression = new CreateTableExpression {
                TableName = _tableName, Columns = new List <ColumnDefinition> {
                    new ColumnDefinition {
                        Name = "TestColumn"
                    }
                }
            };
            string expectedSql = _generator.Generate(expression);

            _fileDumpProcessor.Process(expression);

            Lines.ShouldContain(expectedSql);
        }
        public override void CanDropColumn()
        {
            var    expression = GeneratorTestHelper.GetDeleteColumnExpression();
            string sql        = generator.Generate(expression);

            sql.ShouldBe("ALTER TABLE 'TestTable1' DROP COLUMN 'TestColumn1'");
        }
        public override void CanCreateTable()
        {
            var    expression = GeneratorTestHelper.GetCreateTableExpression();
            string sql        = generator.Generate(expression);

            sql.ShouldBe("CREATE TABLE 'TestTable1' ('TestColumn1' TEXT NOT NULL, 'TestColumn2' INTEGER NOT NULL)");
        }
예제 #9
0
        public override void CanCreateForeignKeyWithCustomSchema()
        {
            var expression = GeneratorTestHelper.GetCreateForeignKeyExpression();

            expression.ForeignKey.ForeignTableSchema = "TestSchema";

            var result = Generator.Generate(expression);

            result.ShouldBe(string.Empty);
        }
예제 #10
0
        public override void CanCreateTableWithCustomColumnTypeWithCustomSchema()
        {
            var expression = GeneratorTestHelper.GetCreateTableExpression();

            expression.Columns[0].IsPrimaryKey = true;
            expression.Columns[1].Type         = null;
            expression.Columns[1].CustomType   = "timestamp";
            expression.SchemaName = "TestSchema";

            var result = Generator.Generate(expression);

            result.ShouldBe("CREATE TABLE \"TestTable1\" (\"TestColumn1\" TEXT NOT NULL, \"TestColumn2\" timestamp NOT NULL, PRIMARY KEY (\"TestColumn1\"))");
        }
예제 #11
0
        public override void CanDeleteDataForAllRowsWithCustomSchema()
        {
            var expression = GeneratorTestHelper.GetDeleteDataAllRowsExpression();

            expression.SchemaName = "TestSchema";

            var result = Generator.Generate(expression);

            result.ShouldBe("DELETE FROM \"TestTable1\" WHERE 1 = 1");
        }
        public override void CanAddColumn()
        {
            var    expression = GeneratorTestHelper.GetCreateColumnExpression();
            string sql        = _generator.Generate(expression);

            sql.ShouldBe("ALTER TABLE 'TestTable1' ADD COLUMN 'TestColumn1' TEXT NOT NULL");
        }
예제 #13
0
        public override void CanAlterColumnWithCustomSchema()
        {
            var expression = GeneratorTestHelper.GetAlterColumnExpression();

            expression.SchemaName = "TestSchema";

            var result = Generator.Generate(expression);

            result.ShouldBe(string.Empty);
        }