Пример #1
0
        public void CreatingEmptyFlexResultSet_ResultsInEmptyCollections()
        {
            FlexResultSet fsr = new FlexResultSet();
            Assert.IsNotNull(fsr);

            Assert.IsNotNull(fsr.results);
            Assert.AreEqual(0, fsr.results.Count);
        }
Пример #2
0
        public void ResultSet_WithNoReturnedSchema_ResultsInNoReturnedSchemaComment()
        {
            FlexResultSet fsr = new FlexResultSet();

            var result = new FlexResult();

            fsr.results.Add(result);

            Assert.AreEqual("--No schema for result from query.", FieldScripting.ScriptResultDataAsInsert(result, "#result0", FlexResultSet.SQL2008MaxRowsInValuesClause).ToString());
        }
Пример #3
0
        public void ResultSet_WithNoReturnedData_ResultsInNoReturnedDataComment()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = SchemaScriptingTests.FakeSchemaDataTable();

            dt.LoadDataRow(SchemaScriptingTests.FakeColumn("IntNotNull", "MyStuff", 32, "int", false, 255, 255), false);
            dt.LoadDataRow(SchemaScriptingTests.FakeColumn("IntNull", "MyStuff", 32, "int", true, 255, 255), false);

            FlexResult result = new FlexResult();

            fsr.results.Add(result);
            fsr.results[0].schema = dt;
            fsr.results[0].data = new List<object[]>();

            Assert.AreEqual("--No rows were returned from the query.", FieldScripting.ScriptResultDataAsInsert(result, "#result0", FlexResultSet.SQL2008MaxRowsInValuesClause).ToString());
        }
Пример #4
0
        public void BIGINT_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = FakeSchemaDataTable();

            dt.LoadDataRow(FakeColumn("BIGINTNotNull", "MyStuff", 8, "bigint", false,0,0), false);
            dt.LoadDataRow(FakeColumn("BIGINTNull", "MyStuff", 8, "bigint", true, 0, 0), false);

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    BIGINTNotNull bigint NOT NULL,
    BIGINTNull bigint NULL
);
";
            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #5
0
        public void BINARY_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = new List<SQLColumn>() {
                FakeColumn("Binary100NotNull", "MyStuff", 100, "binary", false, 0, 0),
                FakeColumn("Binary100Null", "MyStuff", 100, "binary", true, 0, 0)
            };

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
            Binary100NotNull binary(100) NOT NULL,
            Binary100Null binary(100) NULL
            );
            ";
            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #6
0
        public void TINYINT_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = FakeSchemaDataTable();

            dt.LoadDataRow(FakeColumn("TinyIntNotNull", "MyStuff", 8, "tinyint", false, 255, 255), false);
            dt.LoadDataRow(FakeColumn("TinyIntNull", "MyStuff", 8, "tinyint", true, 255, 255), false);

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    TinyIntNotNull tinyint NOT NULL,
    TinyIntNull tinyint NULL
);
";

            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #7
0
        public void NUMERIC_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = FakeSchemaDataTable();

            dt.LoadDataRow(FakeColumn("Numeric2_1NotNull", "MyStuff", 17, "numeric", false, 2, 1), false);
            dt.LoadDataRow(FakeColumn("Numeric2_1Null", "MyStuff", 17, "numeric", true, 4, 3), false);

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;


            var expected = @"CREATE TABLE MyTable(
    Numeric2_1NotNull numeric(2,1) NOT NULL,
    Numeric2_1Null numeric(4,3) NULL
);
";
            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #8
0
        public void MONEY_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = FakeSchemaDataTable();

            dt.LoadDataRow(FakeColumn("MoneyNotNull", "MyStuff", 8, "money", false, 0, 0), false);
            dt.LoadDataRow(FakeColumn("MoneyNull", "MyStuff", 8, "money", true, 0, 0), false);

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    MoneyNotNull money NOT NULL,
    MoneyNull money NULL
);
";

            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #9
0
        public void BIT_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = new List <SQLColumn>()
            {
                FakeColumn("BitNotNull", "MyStuff", 1, "bit", false, 255, 255),
                FakeColumn("BitNull", "MyStuff", 1, "bit", true, 255, 255)
            };

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    BitNotNull bit NOT NULL,
    BitNull bit NULL
);
";

            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #10
0
        public void AnonymousColumnsAreHandledCorrectly()
        {
            var resultSet = new FlexResultSet();
            var result = new FlexResult();
            result.schema = new List<SQLColumn>() {
                new SQLColumn() { ColumnName = "", DataType = "varchar" },
                new SQLColumn() { ColumnName = "", DataType = "int" }
            };
            result.data = new List<object[]>();
            resultSet.results.Add(result);

            var srp = new SqlRunParameters(new SqlConnectionStringBuilder(), SqlRunParameters.TO_CSHARP, "");
            CSharpRenderer.renderAsCSharp(resultSet, srp);
            var expected = @"public class Result0
            {
            public string anonymousProperty { get; set; }
            public int anonymousProperty_2 { get; set; }
            }
            ";
            Assert.AreEqual(srp.resultsText.ToString(), expected);
        }
Пример #11
0
        public void GEOMETRY_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = new List <SQLColumn>()
            {
                FakeColumn("GeometryNotNull", "MyStuff", 0, "dbname.sys.geometry", false, 0, 0),
                FakeColumn("GeometryNull", "MyStuff", 0, "dbname.sys.geometry", true, 0, 0)
            };

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    GeometryNotNull geometry NOT NULL,
    GeometryNull geometry NULL
);
";

            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #12
0
        public void SQL_VARIANT_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = new List <SQLColumn>()
            {
                FakeColumn("Sql_VariantNotNull", "MyStuff", 128, "sql_variant", false, 0, 0),
                FakeColumn("Sql_VariantNull", "MyStuff", 128, "sql_variant", true, 0, 0)
            };

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    Sql_VariantNotNull sql_variant NOT NULL,
    Sql_VariantNull sql_variant NULL
);
";

            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #13
0
        public void HIERARCHYID_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = new List <SQLColumn>()
            {
                FakeColumn("HierarchyIdNotNull", "MyStuff", 8, "dbname.sys.hierarchyid", false, 0, 0),
                FakeColumn("HierarchyIdNull", "MyStuff", 8, "dbname.sys.hierarchyid", true, 0, 0)
            };

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    HierarchyIdNotNull hierarchyid NOT NULL,
    HierarchyIdNull hierarchyid NULL
);
";

            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #14
0
        public void UNIQUEIDENTIFIER_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = new List <SQLColumn>()
            {
                FakeColumn("UniqueIdentifierNotNull", "MyStuff", 128, "uniqueidentifier", false, 0, 0),
                FakeColumn("UniqueIdentifierNull", "MyStuff", 128, "uniqueidentifier", true, 0, 0)
            };

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    UniqueIdentifierNotNull uniqueidentifier NOT NULL,
    UniqueIdentifierNull uniqueidentifier NULL
);
";

            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #15
0
        public void NUMERIC_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = new List <SQLColumn>()
            {
                FakeColumn("Numeric2_1NotNull", "MyStuff", 17, "numeric", false, 2, 1),
                FakeColumn("Numeric2_1Null", "MyStuff", 17, "numeric", true, 4, 3)
            };

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    Numeric2_1NotNull numeric(2,1) NOT NULL,
    Numeric2_1Null numeric(4,3) NULL
);
";

            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #16
0
        public void TIMESTAMP_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = new List <SQLColumn>()
            {
                FakeColumn("TimeStampNotNull", "MyStuff", 8, "timestamp", false, 0, 0),
                FakeColumn("TimeStampNull", "MyStuff", 8, "timestamp", true, 0, 0)
            };

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    TimeStampNotNull timestamp NOT NULL,
    TimeStampNull timestamp NULL
);
";

            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #17
0
        public void NCHAR_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = new List <SQLColumn>()
            {
                FakeColumn("NChar100NotNull", "MyStuff", 100, "nchar", false, 0, 0),
                FakeColumn("NChar100Null", "MyStuff", 100, "nchar", true, 0, 0)
            };

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    NChar100NotNull nchar(100) NOT NULL,
    NChar100Null nchar(100) NULL
);
";

            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #18
0
        public void DATETIME_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = new List <SQLColumn>()
            {
                FakeColumn("DateTimeNotNull", "MyStuff", 8, "datetime", false, 0, 0),
                FakeColumn("DateTimeNull", "MyStuff", 8, "datetime", true, 0, 0)
            };

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    DateTimeNotNull datetime NOT NULL,
    DateTimeNull datetime NULL
);
";

            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #19
0
        public void XML_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = new List <SQLColumn>()
            {
                FakeColumn("XMLNotNull", "MyStuff", 0, "xml", false, 0, 0),
                FakeColumn("XMLNull", "MyStuff", 0, "xml", true, 0, 0)
            };

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    XMLNotNull xml NOT NULL,
    XMLNull xml NULL
);
";

            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #20
0
        public void EscapedNamesLeadingToACollisionAreHandledCorrectly()
        {
            var resultSet = new FlexResultSet();
            var result = new FlexResult();
            result.schema = new List<SQLColumn>() {
                new SQLColumn() { ColumnName = "test_1", DataType = "varchar" },
                new SQLColumn() { ColumnName = "test?1", DataType = "varchar" }
            };
            result.data = new List<object[]>();
            resultSet.results.Add(result);

            var srp = new SqlRunParameters(new SqlConnectionStringBuilder(), SqlRunParameters.TO_CSHARP, "");
            CSharpRenderer.renderAsCSharp(resultSet, srp);
            var expected = @"public class Result0
            {
            public string test_1 { get; set; }
            public string test_1_2 { get; set; }
            }
            ";
            Assert.AreEqual(srp.resultsText.ToString(), expected);
        }
Пример #21
0
        public void SMALLMONEY_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = new List <SQLColumn>()
            {
                FakeColumn("SmallMoneyNotNull", "MyStuff", 4, "smallmoney", false, 0, 0),
                FakeColumn("SmallMoneyNull", "MyStuff", 4, "smallmoney", true, 0, 0)
            };

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;


            var expected = @"CREATE TABLE MyTable(
    SmallMoneyNotNull smallmoney NOT NULL,
    SmallMoneyNull smallmoney NULL
);
";

            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #22
0
        public void VARBINARY_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = FakeSchemaDataTable();

            dt.LoadDataRow(FakeColumn("VarBin100NotNull", "MyStuff", 100, "varbinary", false, 0, 0), false);
            dt.LoadDataRow(FakeColumn("VarBinMaxNotNull", "MyStuff", Int32.MaxValue, "varbinary", false, 0, 0), false);
            dt.LoadDataRow(FakeColumn("VarBin100Null", "MyStuff", 100, "varbinary", true, 0, 0), false);
            dt.LoadDataRow(FakeColumn("VarBinMaxNull", "MyStuff", Int32.MaxValue, "varbinary", true, 0, 0), false);

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    VarBin100NotNull varbinary(100) NOT NULL,
    VarBinMaxNotNull varbinary(MAX) NOT NULL,
    VarBin100Null varbinary(100) NULL,
    VarBinMaxNull varbinary(MAX) NULL
);
";

            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #23
0
        public void NullabilityWorksCorrectly()
        {
            var resultSet = new FlexResultSet();
            var result    = new FlexResult();

            result.schema = new List <SQLColumn>()
            {
                new SQLColumn()
                {
                    ColumnName = "a", DataType = "varchar", AllowNulls = true
                },
                new SQLColumn()
                {
                    ColumnName = "b", DataType = "int", AllowNulls = true
                },
                new SQLColumn()
                {
                    ColumnName = "c", DataType = "smalldatetime", AllowNulls = true
                }
            };
            result.data = new List <object[]>();
            resultSet.results.Add(result);

            var srp = new SqlRunParameters(new SqlConnectionStringBuilder(), SqlRunParameters.TO_CSHARP, "");

            CSharpRenderer.renderAsCSharp(resultSet, srp);
            var expected = @"public class Result0
{
    public string a { get; set; }
    public int? b { get; set; }
    public DateTime? c { get; set; }
}
";

            Assert.AreEqual(expected, srp.resultsText.ToString());
        }
Пример #24
0
        public void NVARCHAR_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = FakeSchemaDataTable();

            dt.LoadDataRow(FakeColumn("Name100NotNull", "MyStuff", 100, "nvarchar", false, 0, 0), false);
            dt.LoadDataRow(FakeColumn("NameMaxNotNull", "MyStuff", Int32.MaxValue, "nvarchar", false, 0, 0), false);
            dt.LoadDataRow(FakeColumn("Name100Null", "MyStuff", 100, "nvarchar", true, 0, 0), false);
            dt.LoadDataRow(FakeColumn("NameMaxNull", "MyStuff", Int32.MaxValue, "nvarchar", true, 0, 0), false);

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    Name100NotNull nvarchar(100) NOT NULL,
    NameMaxNotNull nvarchar(MAX) NOT NULL,
    Name100Null nvarchar(100) NULL,
    NameMaxNull nvarchar(MAX) NULL
);
";

            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #25
0
        public void SMALLINT_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = FakeSchemaDataTable();

            dt.LoadDataRow(FakeColumn("SmallIntNotNull", "MyStuff", 16, "smallint", false, 255, 255), false);
            dt.LoadDataRow(FakeColumn("SmallIntNull", "MyStuff", 16, "smallint", true, 255, 255), false);

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;


            var expected = @"CREATE TABLE MyTable(
    SmallIntNotNull smallint NOT NULL,
    SmallIntNull smallint NULL
);
";
            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #26
0
        public void GEOMETRY_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = FakeSchemaDataTable();

            dt.LoadDataRow(FakeColumn("GeometryNotNull", "MyStuff", 0, "dbname.sys.geometry", false, 0, 0), false);
            dt.LoadDataRow(FakeColumn("GeometryNull", "MyStuff", 0, "dbname.sys.geometry", true, 0, 0), false);

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    GeometryNotNull geometry NOT NULL,
    GeometryNull geometry NULL
);
";
            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #27
0
        public void SQL_VARIANT_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = FakeSchemaDataTable();

            dt.LoadDataRow(FakeColumn("Sql_VariantNotNull", "MyStuff", 128, "sql_variant", false, 0, 0), false);
            dt.LoadDataRow(FakeColumn("Sql_VariantNull", "MyStuff", 128, "sql_variant", true, 0, 0), false);

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    Sql_VariantNotNull sql_variant NOT NULL,
    Sql_VariantNull sql_variant NULL
);
";
            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #28
0
        public void UNIQUEIDENTIFIER_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = FakeSchemaDataTable();

            dt.LoadDataRow(FakeColumn("UniqueIdentifierNotNull", "MyStuff", 128, "uniqueidentifier", false, 0, 0), false);
            dt.LoadDataRow(FakeColumn("UniqueIdentifierNull", "MyStuff", 128, "uniqueidentifier", true, 0, 0), false);

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    UniqueIdentifierNotNull uniqueidentifier NOT NULL,
    UniqueIdentifierNull uniqueidentifier NULL
);
";
            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #29
0
        public void HIERARCHYID_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = FakeSchemaDataTable();

            dt.LoadDataRow(FakeColumn("HierarchyIdNotNull", "MyStuff", 8, "dbname.sys.hierarchyid", false, 0, 0), false);
            dt.LoadDataRow(FakeColumn("HierarchyIdNull", "MyStuff", 8, "dbname.sys.hierarchyid", true, 0, 0), false);

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    HierarchyIdNotNull hierarchyid NOT NULL,
    HierarchyIdNull hierarchyid NULL
);
";
            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #30
0
        public void TIMESTAMP_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = FakeSchemaDataTable();

            dt.LoadDataRow(FakeColumn("TimeStampNotNull", "MyStuff", 8, "timestamp", false, 0, 0), false);
            dt.LoadDataRow(FakeColumn("TimeStampNull", "MyStuff", 8, "timestamp", true, 0, 0), false);

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    TimeStampNotNull timestamp NOT NULL,
    TimeStampNull timestamp NULL
);
";
            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #31
0
        public void IMAGE_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = FakeSchemaDataTable();

            dt.LoadDataRow(FakeColumn("ImageNotNull", "MyStuff", 0, "image", false, 0, 0), false);
            dt.LoadDataRow(FakeColumn("ImageNull", "MyStuff", 0, "image", true, 0, 0), false);

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    ImageNotNull image NOT NULL,
    ImageNull image NULL
);
";
            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #32
0
        public void VARBINARY_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = FakeSchemaDataTable();

            dt.LoadDataRow(FakeColumn("VarBin100NotNull", "MyStuff", 100, "varbinary", false, 0, 0), false);
            dt.LoadDataRow(FakeColumn("VarBinMaxNotNull", "MyStuff", Int32.MaxValue, "varbinary", false, 0, 0), false);
            dt.LoadDataRow(FakeColumn("VarBin100Null", "MyStuff", 100, "varbinary", true, 0, 0), false);
            dt.LoadDataRow(FakeColumn("VarBinMaxNull", "MyStuff", Int32.MaxValue, "varbinary", true, 0, 0), false);

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    VarBin100NotNull varbinary(100) NOT NULL,
    VarBinMaxNotNull varbinary(MAX) NOT NULL,
    VarBin100Null varbinary(100) NULL,
    VarBinMaxNull varbinary(MAX) NULL
);
";
            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #33
0
        public void NVARCHAR_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = FakeSchemaDataTable();

            dt.LoadDataRow(FakeColumn("Name100NotNull", "MyStuff", 100, "nvarchar", false, 0, 0), false);
            dt.LoadDataRow(FakeColumn("NameMaxNotNull", "MyStuff", Int32.MaxValue, "nvarchar", false, 0, 0), false);
            dt.LoadDataRow(FakeColumn("Name100Null", "MyStuff", 100, "nvarchar", true, 0, 0), false);
            dt.LoadDataRow(FakeColumn("NameMaxNull", "MyStuff", Int32.MaxValue, "nvarchar", true, 0, 0), false);

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    Name100NotNull nvarchar(100) NOT NULL,
    NameMaxNotNull nvarchar(MAX) NOT NULL,
    Name100Null nvarchar(100) NULL,
    NameMaxNull nvarchar(MAX) NULL
);
";
            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #34
0
        public void DATETIMEOFFSET_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

             var dt = new List<SQLColumn>() {
                 FakeColumn("DateTimeOffset_7NotNull", "MyStuff", 80, "datetimeoffset", false, 0, 7),
                 FakeColumn("DateTimeOffset_7Null", "MyStuff", 80, "datetimeoffset", true, 0, 7),
                 FakeColumn("DateTimeOffset_2NotNull", "MyStuff", 80, "datetimeoffset", false, 0, 2),
                 FakeColumn("DateTimeOffset_2Null", "MyStuff", 80, "datetimeoffset", true, 0, 2),
                 FakeColumn("DateTimeOffset_4NotNull", "MyStuff", 80, "datetimeoffset", false, 0, 4),
                 FakeColumn("DateTimeOffset_4Null", "MyStuff", 80, "datetimeoffset", true, 0, 4)
             };

             fsr.results.Add(new FlexResult());
             fsr.results[0].schema = dt;

             var expected = @"CREATE TABLE MyTable(
            DateTimeOffset_7NotNull datetimeoffset NOT NULL,
            DateTimeOffset_7Null datetimeoffset NULL,
            DateTimeOffset_2NotNull datetimeoffset(2) NOT NULL,
            DateTimeOffset_2Null datetimeoffset(2) NULL,
            DateTimeOffset_4NotNull datetimeoffset(4) NOT NULL,
            DateTimeOffset_4Null datetimeoffset(4) NULL
            );
            ";
             Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #35
0
         public void DATETIME2_ScriptsCorrectly()
         {
             FlexResultSet fsr = new FlexResultSet();

             var dt = FakeSchemaDataTable();

             dt.LoadDataRow(FakeColumn("DateTime2NotNull", "MyStuff", 8, "datetime2", false, 0, 0), false);
             dt.LoadDataRow(FakeColumn("DateTime2Null", "MyStuff", 8, "datetime2", true, 0, 0), false);

             fsr.results.Add(new FlexResult());
             fsr.results[0].schema = dt;

             var expected = @"CREATE TABLE MyTable(
    DateTime2NotNull datetime2 NOT NULL,
    DateTime2Null datetime2 NULL
);
";
             Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
         }
Пример #36
0
        public void TINYINT_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = new List<SQLColumn>() {
                FakeColumn("TinyIntNotNull", "MyStuff", 8, "tinyint", false, 255, 255),
                FakeColumn("TinyIntNull", "MyStuff", 8, "tinyint", true, 255, 255)
            };

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
            TinyIntNotNull tinyint NOT NULL,
            TinyIntNull tinyint NULL
            );
            ";
            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #37
0
        public void XML_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = new List<SQLColumn>() {
                FakeColumn("XMLNotNull", "MyStuff", 0, "xml", false, 0, 0),
                FakeColumn("XMLNull", "MyStuff", 0, "xml", true, 0, 0)
            };

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
            XMLNotNull xml NOT NULL,
            XMLNull xml NULL
            );
            ";
            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #38
0
        public void GEOGRAPHY_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = new List<SQLColumn>() {
                FakeColumn("GeographyNotNull", "MyStuff", 0, "dbname.sys.geography", false, 0, 0),
                FakeColumn("GeographyNull", "MyStuff", 0, "dbname.sys.geography", true, 0, 0)
            };

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
            GeographyNotNull geography NOT NULL,
            GeographyNull geography NULL
            );
            ";
            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #39
0
        public void DECIMAL_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = FakeSchemaDataTable();

            dt.LoadDataRow(FakeColumn("decimal2_1NotNull", "MyStuff", 17, "decimal", false, 2, 1), false);
            dt.LoadDataRow(FakeColumn("decimal2_1Null", "MyStuff", 17, "decimal", true, 2, 1), false);
            dt.LoadDataRow(FakeColumn("decimal4_3NotNull", "MyStuff", 17, "decimal", false, 4, 3), false);
            dt.LoadDataRow(FakeColumn("decimal4_3Null", "MyStuff", 17, "decimal", true, 4, 3), false);

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;


            var expected = @"CREATE TABLE MyTable(
    decimal2_1NotNull decimal(2,1) NOT NULL,
    decimal2_1Null decimal(2,1) NULL,
    decimal4_3NotNull decimal(4,3) NOT NULL,
    decimal4_3Null decimal(4,3) NULL
);
";
            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #40
0
        public void SMALLMONEY_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = new List<SQLColumn>() {
                FakeColumn("SmallMoneyNotNull", "MyStuff", 4, "smallmoney", false, 0, 0),
                FakeColumn("SmallMoneyNull", "MyStuff", 4, "smallmoney", true, 0, 0)
            };

            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
            SmallMoneyNotNull smallmoney NOT NULL,
            SmallMoneyNull smallmoney NULL
            );
            ";
            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #41
0
        public void handle_duplicate_column_names()
        {
            var resultSet = new FlexResultSet();
            var result = new FlexResult();
            result.schema = new List<SQLColumn>() {
                new SQLColumn() { ColumnName = "testa", DataType = "int" },
                new SQLColumn() { ColumnName = "testa", DataType = "varchar" }
            };
            result.data = new List<object[]>();
            resultSet.results.Add(result);

            var srp = new SqlRunParameters(new SqlConnectionStringBuilder(), SqlRunParameters.TO_CSHARP, "");
            CSharpRenderer.renderAsCSharp(resultSet, srp);
            var expected = @"public class Result0
            {
            public int testa { get; set; }
            public string testa_2 { get; set; }
            }
            ";
            Assert.AreEqual(srp.resultsText.ToString(), expected);
        }
Пример #42
0
        public void FLOAT_AND_REAL_ScriptCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

            var dt = FakeSchemaDataTable();

            dt.LoadDataRow(FakeColumn("Float53NotNull", "MyStuff", 64, "float", false, 2, 1), false);
            dt.LoadDataRow(FakeColumn("Float53Null", "MyStuff", 64, "float", true, 2, 1), false);
            dt.LoadDataRow(FakeColumn("Float40NotNull", "MyStuff", 64, "float", false, 2, 1), false);
            dt.LoadDataRow(FakeColumn("Float40Null", "MyStuff", 64, "float", true, 2, 1), false);
            dt.LoadDataRow(FakeColumn("Float24NotNull", "MyStuff", 32, "real", false, 4, 3), false);
            dt.LoadDataRow(FakeColumn("Float24Null", "MyStuff", 32, "real", true, 4, 3), false);
            dt.LoadDataRow(FakeColumn("Float17NotNull", "MyStuff", 32, "real", false, 4, 3), false);
            dt.LoadDataRow(FakeColumn("Float17Null", "MyStuff", 32, "real", true, 4, 3), false);
            
            fsr.results.Add(new FlexResult());
            fsr.results[0].schema = dt;

            var expected = @"CREATE TABLE MyTable(
    Float53NotNull float(53) NOT NULL,
    Float53Null float(53) NULL,
    Float40NotNull float(53) NOT NULL,
    Float40Null float(53) NULL,
    Float24NotNull float(24) NOT NULL,
    Float24Null float(24) NULL,
    Float17NotNull float(24) NOT NULL,
    Float17Null float(24) NULL
);
";

            Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #43
0
        public void DATETIME_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

             var dt = new List<SQLColumn>() {
                 FakeColumn("DateTimeNotNull", "MyStuff", 8, "datetime", false, 0, 0),
                 FakeColumn("DateTimeNull", "MyStuff", 8, "datetime", true, 0, 0)
             };

             fsr.results.Add(new FlexResult());
             fsr.results[0].schema = dt;

             var expected = @"CREATE TABLE MyTable(
            DateTimeNotNull datetime NOT NULL,
            DateTimeNull datetime NULL
            );
            ";
             Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }
Пример #44
0
        public void TIME_ScriptsCorrectly()
        {
            FlexResultSet fsr = new FlexResultSet();

             var dt = new List<SQLColumn>() {
                 FakeColumn("TimeNotNull", "MyStuff", 8, "time", false, 0, 7),
                 FakeColumn("TimeNull", "MyStuff", 8, "time", true, 0, 7),
                 FakeColumn("Time2NotNull", "MyStuff", 8, "time", false, 0, 2),
                 FakeColumn("Time2Null", "MyStuff", 8, "time", true, 0, 2),
                 FakeColumn("Time4NotNull", "MyStuff", 8, "time", false, 0, 4),
                 FakeColumn("Time4Null", "MyStuff", 8, "time", true, 0, 4),
             };

             fsr.results.Add(new FlexResult());
             fsr.results[0].schema = dt;

             var expected = @"CREATE TABLE MyTable(
            TimeNotNull time NOT NULL,
            TimeNull time NULL,
            Time2NotNull time(2) NOT NULL,
            Time2Null time(2) NULL,
            Time4NotNull time(4) NOT NULL,
            Time4Null time(4) NULL
            );
            ";
             Assert.AreEqual(expected, fsr.ScriptResultAsCreateTable(0, "MyTable"));
        }