FakeColumn() публичный статический Метод

public static FakeColumn ( string ColumnName, string BaseTableName, int ColumnSize, string DataType, bool AllowNulls, short NumericPrecision, short NumericScale, bool IsHidden = false ) : SQLColumn
ColumnName string
BaseTableName string
ColumnSize int
DataType string
AllowNulls bool
NumericPrecision short
NumericScale short
IsHidden bool
Результат SQLColumn
Пример #1
0
        public void CHAR_Data_ScriptsCorrectly()
        {
            string baseData  = "hello world!   "; //extra spaces to pad to 15 characters are intentional since this is how the data comes back from SQL with the fixed-width type.
            object data      = baseData;
            var    fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 15, "char", false, 0, 0);

            Assert.AreEqual("'hello world!'", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "char");
            Assert.AreEqual("hello world!", FieldScripting.formatChar(data, false), "char");

            baseData  = "trailing space ";
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 15, "char", false, 0, 0);
            Assert.AreEqual("'trailing space'", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "char trims trailing space when scripted.");
            Assert.AreEqual("trailing space", FieldScripting.formatChar(data, false), "char trims trailing space when scripted.");

            baseData  = "That's fun!    ";
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 15, "char", false, 0, 0);
            Assert.AreEqual("'That''s fun!'", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "char escapes quotes in strings when scripted for SQL.");
            Assert.AreEqual("That's fun!", FieldScripting.formatChar(data, false), "char does not escape quotes in strings when not scripted for SQL.");
        }
Пример #2
0
        public void NTEXT_Data_ScriptsCorrectly()
        {
            string baseData  = "hello world!";
            object data      = baseData;
            var    fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 15, "ntext", false, 0, 0);

            Assert.AreEqual("N'hello world!'", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "ntext");
            Assert.AreEqual("hello world!", FieldScripting.formatNtext(data, false), "ntext");

            baseData  = "trailing space ";
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 15, "ntext", false, 0, 0);
            Assert.AreEqual("N'trailing space '", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "ntext does not trim trailing space when scripted.");
            Assert.AreEqual("trailing space ", FieldScripting.formatNtext(data, false), "ntext does not trim trailing space when scripted.");

            baseData  = "That's fun!";
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 15, "ntext", false, 0, 0);
            Assert.AreEqual("N'That''s fun!'", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "nvarchar escapes quotes in strings.");
            Assert.AreEqual("That's fun!", FieldScripting.formatNtext(data, false), "nvarchar does not escape quotes in strings when not scripted for SQL.");
        }
Пример #3
0
        public void DECIMAL_Data_ScriptsCorrectly()
        {
            Decimal baseData  = 12345.6789M;
            object  data      = baseData;
            var     fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "decimal", false, 10, 4);

            Assert.AreEqual("12345.6789", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "positive decimal");

            baseData  = -12345.6789M;
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "decimal", false, 10, 4);
            Assert.AreEqual("-12345.6789", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "negative decimal");

            baseData  = 12345.0000M;
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "decimal", false, 10, 4);
            Assert.AreEqual("12345", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "insignificant digits are trimmed");

            baseData  = 12345.1000M;
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "decimal", false, 10, 4);
            Assert.AreEqual("12345.1", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "insignificant digits are trimmed (partially significant decimal)");
        }
Пример #4
0
        public void REAL_Data_ScriptsCorrectly()
        {
            Single baseData  = 200.1234F;
            object data      = baseData;
            var    fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 32, "real", false, 0, 0);

            Assert.AreEqual("200.1234", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "positive real");

            baseData  = -200.1234F;
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 32, "real", false, 0, 0);
            Assert.AreEqual("-200.1234", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "negative real");

            baseData  = 12345.0000F;
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "real", false, 10, 4);
            Assert.AreEqual("12345", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "insignificant digits are trimmed");

            baseData  = 12345.2000F;
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "float", false, 10, 4);
            Assert.AreEqual("12345.2", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "insignificant digits are trimmed (partially significant decimal)");
        }
Пример #5
0
        public void SMALLMONEY_Data_ScriptsCorrectly()
        {
            Decimal baseData  = 200000.1234M;
            object  data      = baseData;
            var     fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 32, "smallmoney", false, 10, 4);

            Assert.AreEqual("200000.1234", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "positive smallmoney");

            baseData  = -200000.1234M;
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 32, "smallmoney", false, 10, 4);
            Assert.AreEqual("-200000.1234", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "negative smallmoney");

            baseData  = 12345.0000M;
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "smallmoney", false, 10, 4);
            Assert.AreEqual("12345", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "insignificant digits are trimmed");

            baseData  = 12345.1000M;
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "smallmoney", false, 10, 4);
            Assert.AreEqual("12345.1", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "insignificant digits are trimmed (partially significant decimal)");
        }
Пример #6
0
        public void DATETIME_Data_ScriptsCorrectly()
        {
            DateTime baseData  = new DateTime(2000, 10, 31, 2, 33, 44);
            object   data      = baseData;
            var      fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 32, "datetime", false, 0, 0);

            Assert.AreEqual("'2000-10-31T02:33:44'", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "datetime no fractional seconds");
            Assert.AreEqual("2000-10-31T02:33:44", FieldScripting.formatDateTime(data, false), "datetime no fractional seconds");

            baseData = baseData.AddTicks(1230000);
            data     = baseData;
            Assert.AreEqual("'2000-10-31T02:33:44.123'", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "datetime fractional seconds");
            Assert.AreEqual("2000-10-31T02:33:44.123", FieldScripting.formatDateTime(data, false), "datetime fractional seconds");

            baseData = baseData = new DateTime(2000, 10, 31, 2, 33, 44).AddMilliseconds(100);
            data     = baseData;
            Assert.AreEqual("'2000-10-31T02:33:44.1'", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "partial fractional seconds");
            Assert.AreEqual("2000-10-31T02:33:44.1", FieldScripting.formatDateTime(data, false), "partial fractional seconds");

            baseData = new DateTime(2000, 10, 31, 0, 0, 0);
            data     = baseData;
            Assert.AreEqual("'2000-10-31'", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "midnight omits time altogether");
            Assert.AreEqual("2000-10-31", FieldScripting.formatDateTime(data, false), "midnight omits time altogether");
        }
Пример #7
0
        public void NULL_Data_ScriptsAsNull()
        {
            var fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "int", false, 0, 0);

            Assert.AreEqual("NULL", FieldScripting.valueAsTSQLLiteral((object)System.DBNull.Value, fieldInfo), "int");
        }