示例#1
0
        public void FieldWithSpaces_IsScriptedWithBrackets()
        {
            string fieldName = "What We Should Be Sending";
            var    fieldInfo = SchemaScriptingTests.FakeColumn(fieldName, "test", 32, "int", false, 0, 0);

            Assert.AreEqual("[What We Should Be Sending]", FieldScripting.FieldNameOrDefault(fieldInfo, 0));
        }
示例#2
0
        public void FieldWithCloseSquareBracket_IsScriptedWithBracketsAndAlsoFurtherEscaped()
        {
            string fieldName = "test]ing";
            var    fieldInfo = SchemaScriptingTests.FakeColumn(fieldName, "test", 32, "int", false, 0, 0);

            Assert.AreEqual("[test]]ing]", FieldScripting.FieldNameOrDefault(fieldInfo, 0));
        }
示例#3
0
        public void FieldWithLineFeed_IsScriptedWithBrackets()
        {
            string fieldName = "This\nis";
            var    fieldInfo = SchemaScriptingTests.FakeColumn(fieldName, "test", 32, "int", false, 0, 0);

            Assert.AreEqual("[This\nis]", FieldScripting.FieldNameOrDefault(fieldInfo, 0));
        }
示例#4
0
        public void FieldWithCarriageReturn_IsScriptedWithBrackets()
        {
            string fieldName = "Crazy\rtown";
            var    fieldInfo = SchemaScriptingTests.FakeColumn(fieldName, "test", 32, "int", false, 0, 0);

            Assert.AreEqual("[Crazy\rtown]", FieldScripting.FieldNameOrDefault(fieldInfo, 0));
        }
示例#5
0
        public void ReservedWord_IsScriptedWithBrackets()
        {
            string fieldName = "Drop";
            var    fieldInfo = SchemaScriptingTests.FakeColumn(fieldName, "test", 32, "int", false, 0, 0);

            Assert.AreEqual("[Drop]", FieldScripting.FieldNameOrDefault(fieldInfo, 0));
        }
示例#6
0
        public void EmptyColumnList_NotRenderableAsCreateTable()
        {
            var sut = new FlexResult();

            sut.schema = new List <SQLColumn>();
            Assert.AreEqual(false, FieldScripting.ResultIsRenderableAsCreateTable(sut));
        }
示例#7
0
        public void NonReservedWord_IsScriptedWithoutBrackets()
        {
            string fieldName = "TestColumnName";
            var    fieldInfo = SchemaScriptingTests.FakeColumn(fieldName, "test", 32, "int", false, 0, 0);

            Assert.AreEqual(false, TSqlRules.IsReservedWord(fieldName));
            Assert.AreEqual("TestColumnName", FieldScripting.FieldNameOrDefault(fieldInfo, 0));
        }
示例#8
0
        public void EmptyColumnName_IsScriptedAnonymously()
        {
            string fieldName = "";
            var    fieldInfo = SchemaScriptingTests.FakeColumn(fieldName, "test", 32, "int", false, 0, 0);

            Assert.AreEqual(false, TSqlRules.IsReservedWord(fieldName));
            Assert.AreEqual("anonymousColumn1", FieldScripting.FieldNameOrDefault(fieldInfo, 0));
        }
示例#9
0
        public void TIME_HighResolution_Data_ScriptsCorrectly()
        {
            TimeSpan baseData  = new TimeSpan(TimeSpan.TicksPerHour * 2 + TimeSpan.TicksPerMinute * 33 + TimeSpan.TicksPerSecond * 44 + 1234567);
            object   data      = baseData;
            var      fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 32, "time", false, 0, 0);

            Assert.AreEqual("'02:33:44.1234567'", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "time fractional seconds");
            Assert.AreEqual("02:33:44.1234567", FieldScripting.formatTime(data, false), "time fractional seconds");
        }
示例#10
0
        public void DATE_Data_ScriptsCorrectly()
        {
            DateTime baseData  = new DateTime(2000, 10, 31);
            object   data      = baseData;
            var      fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 32, "date", false, 0, 0);

            Assert.AreEqual("'2000-10-31'", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "date");
            Assert.AreEqual("2000-10-31", FieldScripting.formatDate(data, false), "date");
        }
示例#11
0
        public void SQLVARIANT_DateTimeOffset_Data_ScriptsCorrectly()
        {
            DateTimeOffset baseData = new DateTimeOffset(new DateTime(2014, 5, 30), new TimeSpan(1, 0, 0));
            object         data     = baseData;

            var fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "sql_variant", false, 0, 0);

            Assert.AreEqual("'2014-05-30T00:00:00+01:00'", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "sql_variant");
        }
示例#12
0
        public void SQLVARIANT_Guid_Data_ScriptsCorrectly()
        {
            Guid   baseData = new Guid("9631B0CA-D86F-4CA2-BFA5-93A9980D050A");
            object data     = baseData;

            var fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "sql_variant", false, 0, 0);

            Assert.AreEqual("'9631B0CA-D86F-4CA2-BFA5-93A9980D050A'", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "sql_variant");
        }
示例#13
0
        public void DATETIME2_WhenTimeSeparatorIsDot_ScriptsCorrectly()
        {
            setToItalianUsingDotTimeSeparator();

            DateTime baseData = new DateTime(2000, 10, 31, 2, 33, 44);
            object   data     = baseData;

            Assert.AreEqual("'2000-10-31T02:33:44'", FieldScripting.formatDateTime(data, true), "we expect to have : as the time separator despite the set culture.");
        }
示例#14
0
        public void SQLVARIANT_Bit_Data_ScriptsCorrectly()
        {
            bool   baseData = false;
            object data     = baseData;

            var fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "sql_variant", false, 0, 0);

            Assert.AreEqual("0", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "sql_variant");
        }
示例#15
0
        public void SINGLE_WhenDecimalSeparatorIsPeriod_ScriptsCorrectly()
        {
            setToItalianUsingCommaDecimalSeparator();

            float  baseData = 1.5F;
            object data     = baseData;

            Assert.AreEqual("1.5", FieldScripting.formatSingle(data), "we expect to have . as the decimal separator despite the set culture.");
        }
示例#16
0
        public void UNIQUEIDENTIFIER_Data_ScriptsCorrectly()
        {
            Guid   baseData = new Guid("9631B0CA-D86F-4CA2-BFA5-93A9980D050A");
            object data     = baseData;

            var fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "uniqueidentifier", false, 0, 0);

            Assert.AreEqual("'9631B0CA-D86F-4CA2-BFA5-93A9980D050A'", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "uniqueidentifier");
            Assert.AreEqual("9631B0CA-D86F-4CA2-BFA5-93A9980D050A", FieldScripting.formatGuid(data, false), "uniqueidentifier");
        }
示例#17
0
        public void GEOMETRY_Data_ScriptsCorrectly()
        {
            SqlGeometry baseData = SqlGeometry.STGeomFromText(new SqlChars("LINESTRING (100 100, 20 180, 180 180)"), 0);
            object      data     = baseData;

            var fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "sys.junk.geometry", false, 0, 0);

            Assert.AreEqual("geometry::STGeomFromText('LINESTRING (100 100, 20 180, 180 180)',0)", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "geometry");
            Assert.AreEqual("LINESTRING (100 100, 20 180, 180 180) 0", FieldScripting.formatGeometry(data, false), "geometry");
        }
示例#18
0
        public void GEOGRAPHY_Data_ScriptsCorrectly()
        {
            SqlGeography baseData = SqlGeography.STGeomFromText(new SqlChars("LINESTRING(-122.360 47.656, -122.343 47.656 )"), 4326);
            object       data     = baseData;

            var fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "sys.junk.geography", false, 0, 0);

            Assert.AreEqual("geography::STGeomFromText('LINESTRING (-122.36 47.656, -122.343 47.656)',4326)", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "geography");
            Assert.AreEqual("LINESTRING (-122.36 47.656, -122.343 47.656) 4326", FieldScripting.formatGeography(data, false), "geography");
        }
示例#19
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());
        }
示例#20
0
        public void SQLVARIANT_Binary_Data_ScriptsCorrectly()
        {
            Int32 baseData = 123456;

            byte[] data = BitConverter.GetBytes(baseData);
            EnsureByteArrayIsBigEndianLikeSQLServer(data);

            var fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 20, "sql_variant", false, 0, 0);

            Assert.AreEqual("0x0001E240", FieldScripting.valueAsTSQLLiteral((object)data, fieldInfo), "sql_variant");
        }
示例#21
0
        public void String_IncludingHighChar_ScriptsCorrectly()
        {
            var highChar = new char[] { '\0', '†', 'B', 'C' };

            string baseData = new string(highChar);
            object data     = baseData;

            var fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 15, "nvarchar", false, 0, 0);

            Assert.AreEqual("0x00864243", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "nvarchar");
        }
示例#22
0
        public void TIMESTAMP_Data_ScriptsCorrectly()
        {
            Int32 baseData = 123456;

            byte[] data = BitConverter.GetBytes(baseData);
            EnsureByteArrayIsBigEndianLikeSQLServer(data);

            var fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 8, "timestamp", false, 0, 0);

            Assert.AreEqual("0x000000000001E240", FieldScripting.valueAsTSQLLiteral((object)data, fieldInfo), "timestamp");
            Assert.AreEqual("0x000000000001E240", FieldScripting.formatTimestamp((object)data), "timestamp");
        }
示例#23
0
        public void PopulatedColumnList_IsRenderableAsCreateTable()
        {
            var sut = new FlexResult();

            sut.schema = new List <SQLColumn>()
            {
                new SQLColumn()
                {
                    ColumnName = "test", DataType = "int"
                }
            };
            Assert.AreEqual(true, FieldScripting.ResultIsRenderableAsCreateTable(sut));
        }
示例#24
0
        public void SMALLINT_Data_ScriptsCorrectly()
        {
            Int16  baseData  = 31000;
            object data      = baseData;
            var    fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 16, "smallint", false, 0, 0);

            Assert.AreEqual("31000", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "positive smallint");

            baseData  = -31000;
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 16, "smallint", false, 0, 0);
            Assert.AreEqual("-31000", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "negative smallint");
        }
示例#25
0
        public void BIGINT_Data_ScriptsCorrectly()
        {
            Int64  baseData  = 999999999999;
            object data      = baseData;
            var    fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "bigint", false, 0, 0);

            Assert.AreEqual("999999999999", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "positive bigint");

            baseData  = -999999999999;
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "bigint", false, 0, 0);
            Assert.AreEqual("-999999999999", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "negative bigint");
        }
示例#26
0
        public void INT_Data_ScriptsCorrectly()
        {
            Int32  baseData  = 2000123456;
            object data      = baseData;
            var    fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 32, "int", false, 0, 0);

            Assert.AreEqual("2000123456", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "positive int");

            baseData  = -2000123456;
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 32, "int", false, 0, 0);
            Assert.AreEqual("-2000123456", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "negative int");
        }
示例#27
0
        public void TINYINT_Data_ScriptsCorrectly()
        {
            sbyte  baseData  = 125;
            object data      = baseData;
            var    fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 8, "tinyint", false, 0, 0);

            Assert.AreEqual("125", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "positive tinyint");

            baseData  = -125;
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 8, "tinyint", false, 0, 0);
            Assert.AreEqual("-125", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "negative tinyint");
        }
示例#28
0
        public void BIT_Data_ScriptsCorrectly()
        {
            bool   baseData  = true;
            object data      = baseData;
            var    fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 1, "bit", false, 0, 0);

            Assert.AreEqual("1", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "true should script as 1");

            baseData  = false;
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 1, "bit", false, 0, 0);
            Assert.AreEqual("0", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "false should script as 0");
        }
示例#29
0
        public void SQLVARIANT_String_Data_ScriptsCorrectly()
        {
            string baseData = "sql variant test";
            object data     = baseData;

            var fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "sql_variant", false, 0, 0);

            Assert.AreEqual("N'sql variant test'", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "sql_variant");

            baseData  = "That's fun!    ";
            data      = baseData;
            fieldInfo = SchemaScriptingTests.FakeColumn("test", "test", 64, "sql_variant", false, 0, 0);
            Assert.AreEqual("N'That''s fun!    '", FieldScripting.valueAsTSQLLiteral(data, fieldInfo), "sql_variant escapes string fields");
        }
示例#30
0
 private void txtSqlInput_DragDrop(object sender, DragEventArgs e)
 {
     try
     {
         string theObjectName  = e.Data.GetData(DataFormats.Text).ToString();
         Point  pointOnTextbox = txtSqlInput.PointToClient(new Point(e.X, e.Y));
         int    charIndex      = txtSqlInput.GetCharIndexFromPosition(pointOnTextbox);
         txtSqlInput.Text = txtSqlInput.Text.Insert(charIndex, FieldScripting.EscapeObjectNames(theObjectName));
     }
     catch (Exception ex)
     {
         MessageBox.Show("Could not drag and drop.\r\n\r\n" + ex.Message, "T-SQL Flex");
     }
 }