Exemple #1
0
 public void GetDataTypeName_ShouldWorkUtf8(string input, string expectedName)
 {
     if (!CharsetUtility.IsCharset(ConnectionStrings.Pooled, "utf-8"))
     {
         Assert.Ignore("Not run unless the server charset is UTF8");
     }
     using (var connection = GetConnection())
     {
         connection.Open();
         using (var command = connection.CreateCommand())
         {
             command.CommandText = $"select {input}";
             Assert.AreEqual(expectedName, command.GetDataTypeName(0));
         }
     }
 }
Exemple #2
0
        public static IEnumerable <TestCaseData> GetDataTypeName_ShouldWork_Cases()
        {
            if (CharsetUtility.IsCharset(ConnectionStrings.Pooled, "utf-8"))
            {
                yield return(new TestCaseData("convert(char(1), 'a')", "char"));

                yield return(new TestCaseData("convert(char(1), null)", "char"));

                yield return(new TestCaseData("convert(nchar(2), 'À')", "char"));

                yield return(new TestCaseData("convert(nchar(2), null)", "char"));

                yield return(new TestCaseData("convert(varchar(1), 'a')", "varchar"));

                yield return(new TestCaseData("convert(varchar(1), null)", "varchar"));

                yield return(new TestCaseData("convert(nvarchar(2), 'a')", "nvarchar"));

                yield return(new TestCaseData("convert(nvarchar(2), null)", "nvarchar"));
            }

            yield return(new TestCaseData("convert(unichar(2), 'À')", "unichar"));

            yield return(new TestCaseData("convert(unichar(2), null)", "unichar"));

            yield return(new TestCaseData("convert(univarchar(2), 'a')", "univarchar"));

            yield return(new TestCaseData("convert(univarchar(2), null)", "univarchar"));

            yield return(new TestCaseData("convert(text, 'a')", "text"));

            yield return(new TestCaseData("convert(text, null)", "text"));

            yield return(new TestCaseData("convert(unitext, 'a')", "unitext"));

            yield return(new TestCaseData("convert(unitext, null)", "unitext"));

            yield return(new TestCaseData("convert(image, 0xFF)", "image"));

            yield return(new TestCaseData("convert(image, null)", "image"));

            yield return(new TestCaseData("convert(binary, 0xFF)", "binary"));

            yield return(new TestCaseData("convert(binary, null)", "binary"));

            yield return(new TestCaseData("convert(varbinary, 0xFF)", "varbinary"));

            yield return(new TestCaseData("convert(varbinary, null)", "varbinary"));

            yield return(new TestCaseData("convert(tinyint, 1)", "tinyint"));

            yield return(new TestCaseData("convert(tinyint, null)", "tinyint"));

            yield return(new TestCaseData("convert(smallint, 1)", "smallint"));

            yield return(new TestCaseData("convert(smallint, null)", "smallint"));

            yield return(new TestCaseData("convert(int, 1)", "int"));

            yield return(new TestCaseData("convert(int, null)", "int"));

            yield return(new TestCaseData("convert(bigint, 1)", "bigint"));

            yield return(new TestCaseData("convert(bigint, null)", "bigint"));

            yield return(new TestCaseData("convert(bit, 1)", "bit"));

            yield return(new TestCaseData("convert(unsigned tinyint, 1)", "tinyint"));

            yield return(new TestCaseData("convert(unsigned tinyint, null)", "tinyint"));

            yield return(new TestCaseData("convert(unsigned smallint, 1)", "unsigned smallint"));

            yield return(new TestCaseData("convert(unsigned smallint, null)", "unsigned smallint"));

            yield return(new TestCaseData("convert(unsigned int, 1)", "unsigned int"));

            yield return(new TestCaseData("convert(unsigned int, null)", "unsigned int"));

            yield return(new TestCaseData("convert(unsigned bigint, 1)", "unsigned bigint"));

            yield return(new TestCaseData("convert(unsigned bigint, null)", "unsigned bigint"));

            yield return(new TestCaseData("convert(datetime, getdate())", "datetime"));

            yield return(new TestCaseData("convert(datetime, null)", "datetime"));

            yield return(new TestCaseData("convert(smalldatetime, getdate())", "smalldatetime"));

            yield return(new TestCaseData("convert(smalldatetime, null)", "smalldatetime"));

            yield return(new TestCaseData("convert(time, getdate())", "time"));

            yield return(new TestCaseData("convert(time, null)", "time"));

            yield return(new TestCaseData("convert(date, getdate())", "date"));

            yield return(new TestCaseData("convert(date, null)", "date"));

            yield return(new TestCaseData("convert(money, 1)", "money"));

            yield return(new TestCaseData("convert(money, null)", "money"));

            yield return(new TestCaseData("convert(smallmoney, 1)", "smallmoney"));

            yield return(new TestCaseData("convert(smallmoney, null)", "smallmoney"));

            yield return(new TestCaseData("convert(decimal(10, 5), 1)", "decimal"));

            yield return(new TestCaseData("convert(decimal(10, 5), null)", "decimal"));

            yield return(new TestCaseData("convert(numeric(10, 5), 1)", "numeric"));

            yield return(new TestCaseData("convert(numeric(10, 5), null)", "numeric"));

            yield return(new TestCaseData("convert(real, 1)", "real"));

            yield return(new TestCaseData("convert(real, null)", "real"));

            yield return(new TestCaseData("convert(float, 1)", "float"));

            yield return(new TestCaseData("convert(float, null)", "float"));
        }