From 2944f7aa1ec455dd050784346af6f4b5527053d4 Mon Sep 17 00:00:00 2001 From: Michael Pendon Date: Wed, 15 Sep 2021 22:21:30 +0200 Subject: [PATCH] #886 Added the Unit Tests to the MySql, MySqlConnector and SqLite. --- .../Attributes/MySqlTypeMapAttributeTest.cs | 83 ++++++++++++++++++ .../MySql/MySqlDbTypeAttributeTest.cs | 83 ++++++++++++++++++ .../MySqlConnectorTypeMapAttributeTest.cs | 83 ++++++++++++++++++ .../MySqlDbTypeAttributeTest.cs | 83 ++++++++++++++++++ .../Attributes/NpgsqlTypeMapAttribute.cs | 84 +++++++++++++++++++ .../Npgsql/ConvertedValueAttributeTest.cs | 83 ++++++++++++++++++ .../Npgsql/DataTypeNameAttributeTest.cs | 83 ++++++++++++++++++ .../Npgsql/NpgsqlDbTypeAttributeTest.cs | 84 +++++++++++++++++++ .../Attributes/NpgsqlTypeMapAttribute.cs | 2 +- .../Parameter/Npgsql/CollectionAttribute.cs | 24 ------ .../Microsoft/SqliteTypeAttributeTest.cs | 83 ++++++++++++++++++ .../Parameter/System/TypeNameAttributeTest.cs | 83 ++++++++++++++++++ .../SqlServer/CompareInfoAttributeTest.cs | 4 +- .../ForceColumnEncryptionAttributeTest.cs | 4 +- .../SqlServer/LocaleIdAttributeTest.cs | 4 +- .../SqlServer/OffsetAttributeTest.cs | 4 +- .../SqlServer/SqlDbTypeAttributeTest.cs | 4 +- .../SqlServer/TypeNameAttributeTest.cs | 4 +- .../SqlServer/UdtTypeNameAttributeTest.cs | 4 +- ...mlSchemaCollectionDatabaseAttributeTest.cs | 4 +- .../XmlSchemaCollectionNameAttributeTest.cs | 4 +- ...hemaCollectionOwningSchemaAttributeTest.cs | 4 +- 22 files changed, 853 insertions(+), 45 deletions(-) create mode 100644 RepoDb.MySql/RepoDb.MySql.UnitTests/Attributes/MySqlTypeMapAttributeTest.cs create mode 100644 RepoDb.MySql/RepoDb.MySql.UnitTests/Attributes/Parameter/MySql/MySqlDbTypeAttributeTest.cs create mode 100644 RepoDb.MySqlConnector/RepoDb.MySqlConnector.UnitTests/Attributes/MySqlConnectorTypeMapAttributeTest.cs create mode 100644 RepoDb.MySqlConnector/RepoDb.MySqlConnector.UnitTests/Attributes/Parameter/MySqlConnector/MySqlDbTypeAttributeTest.cs create mode 100644 RepoDb.PostgreSql/RepoDb.PostgreSql.UnitTests/Attributes/NpgsqlTypeMapAttribute.cs create mode 100644 RepoDb.PostgreSql/RepoDb.PostgreSql.UnitTests/Attributes/Parameter/Npgsql/ConvertedValueAttributeTest.cs create mode 100644 RepoDb.PostgreSql/RepoDb.PostgreSql.UnitTests/Attributes/Parameter/Npgsql/DataTypeNameAttributeTest.cs create mode 100644 RepoDb.PostgreSql/RepoDb.PostgreSql.UnitTests/Attributes/Parameter/Npgsql/NpgsqlDbTypeAttributeTest.cs delete mode 100644 RepoDb.PostgreSql/RepoDb.PostgreSql/Attributes/Parameter/Npgsql/CollectionAttribute.cs create mode 100644 RepoDb.SqLite/RepoDb.SqLite.UnitTests/Attributes/Parameter/Microsoft/SqliteTypeAttributeTest.cs create mode 100644 RepoDb.SqLite/RepoDb.SqLite.UnitTests/Attributes/Parameter/System/TypeNameAttributeTest.cs diff --git a/RepoDb.MySql/RepoDb.MySql.UnitTests/Attributes/MySqlTypeMapAttributeTest.cs b/RepoDb.MySql/RepoDb.MySql.UnitTests/Attributes/MySqlTypeMapAttributeTest.cs new file mode 100644 index 000000000..1b08b921d --- /dev/null +++ b/RepoDb.MySql/RepoDb.MySql.UnitTests/Attributes/MySqlTypeMapAttributeTest.cs @@ -0,0 +1,83 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySql.Data.MySqlClient; +using RepoDb.Attributes; +using RepoDb.DbSettings; +using RepoDb.Extensions; + +namespace RepoDb.MySql.UnitTests.Attributes +{ + [TestClass] + public class MySqlTypeMapAttributeTest + { + [TestInitialize] + public void Initialize() + { + DbSettingMapper.Add(new MySqlDbSetting(), true); + } + + [TestCleanup] + public void Cleanup() + { + DbSettingMapper.Clear(); + } + + #region Classes + + private class MySqlDbTypeAttributeTestClass + { + [MySqlTypeMap(MySqlDbType.Geometry)] + public object ColumnName { get; set; } + } + + #endregion + + [TestMethod] + public void TestMySqlTypeMapAttributeViaEntityViaCreateParameters() + { + // Act + using (var connection = new MySqlConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new MySqlDbTypeAttributeTestClass + { + ColumnName = "Test" + }); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual(MySqlDbType.Geometry, parameter.MySqlDbType); + } + } + } + + [TestMethod] + public void TestMySqlTypeMapAttributeViaAnonymousViaCreateParameters() + { + // Act + using (var connection = new MySqlConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new + { + ColumnName = "Test" + }, + typeof(MySqlDbTypeAttributeTestClass)); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual(MySqlDbType.Geometry, parameter.MySqlDbType); + } + } + } + } +} diff --git a/RepoDb.MySql/RepoDb.MySql.UnitTests/Attributes/Parameter/MySql/MySqlDbTypeAttributeTest.cs b/RepoDb.MySql/RepoDb.MySql.UnitTests/Attributes/Parameter/MySql/MySqlDbTypeAttributeTest.cs new file mode 100644 index 000000000..9084b68c2 --- /dev/null +++ b/RepoDb.MySql/RepoDb.MySql.UnitTests/Attributes/Parameter/MySql/MySqlDbTypeAttributeTest.cs @@ -0,0 +1,83 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySql.Data.MySqlClient; +using RepoDb.Attributes.Parameter.MySql; +using RepoDb.DbSettings; +using RepoDb.Extensions; + +namespace RepoDb.MySql.UnitTests.Attributes.Parameter.MySql +{ + [TestClass] + public class MySqlDbTypeAttributeTest + { + [TestInitialize] + public void Initialize() + { + DbSettingMapper.Add(new MySqlDbSetting(), true); + } + + [TestCleanup] + public void Cleanup() + { + DbSettingMapper.Clear(); + } + + #region Classes + + private class MySqlDbTypeAttributeTestClass + { + [MySqlDbType(MySqlDbType.Geometry)] + public object ColumnName { get; set; } + } + + #endregion + + [TestMethod] + public void TestMySqlDbTypeAttributeViaEntityViaCreateParameters() + { + // Act + using (var connection = new MySqlConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new MySqlDbTypeAttributeTestClass + { + ColumnName = "Test" + }); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual(MySqlDbType.Geometry, parameter.MySqlDbType); + } + } + } + + [TestMethod] + public void TestMySqlDbTypeAttributeViaAnonymousViaCreateParameters() + { + // Act + using (var connection = new MySqlConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new + { + ColumnName = "Test" + }, + typeof(MySqlDbTypeAttributeTestClass)); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual(MySqlDbType.Geometry, parameter.MySqlDbType); + } + } + } + } +} diff --git a/RepoDb.MySqlConnector/RepoDb.MySqlConnector.UnitTests/Attributes/MySqlConnectorTypeMapAttributeTest.cs b/RepoDb.MySqlConnector/RepoDb.MySqlConnector.UnitTests/Attributes/MySqlConnectorTypeMapAttributeTest.cs new file mode 100644 index 000000000..3aa0359de --- /dev/null +++ b/RepoDb.MySqlConnector/RepoDb.MySqlConnector.UnitTests/Attributes/MySqlConnectorTypeMapAttributeTest.cs @@ -0,0 +1,83 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySqlConnector; +using RepoDb.Attributes; +using RepoDb.DbSettings; +using RepoDb.Extensions; + +namespace RepoDb.MySqlConnector.UnitTests.Attributes +{ + [TestClass] + public class MySqlTypeMapAttributeTest + { + [TestInitialize] + public void Initialize() + { + DbSettingMapper.Add(new MySqlConnectorDbSetting(), true); + } + + [TestCleanup] + public void Cleanup() + { + DbSettingMapper.Clear(); + } + + #region Classes + + private class MySqlDbTypeAttributeTestClass + { + [MySqlConnectorTypeMap(MySqlDbType.Geometry)] + public object ColumnName { get; set; } + } + + #endregion + + [TestMethod] + public void TestMySqlConnectorTypeMapAttributeViaEntityViaCreateParameters() + { + // Act + using (var connection = new MySqlConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new MySqlDbTypeAttributeTestClass + { + ColumnName = "Test" + }); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual(MySqlDbType.Geometry, parameter.MySqlDbType); + } + } + } + + [TestMethod] + public void TestMySqlConnectorTypeMapAttributeViaAnonymousViaCreateParameters() + { + // Act + using (var connection = new MySqlConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new + { + ColumnName = "Test" + }, + typeof(MySqlDbTypeAttributeTestClass)); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual(MySqlDbType.Geometry, parameter.MySqlDbType); + } + } + } + } +} diff --git a/RepoDb.MySqlConnector/RepoDb.MySqlConnector.UnitTests/Attributes/Parameter/MySqlConnector/MySqlDbTypeAttributeTest.cs b/RepoDb.MySqlConnector/RepoDb.MySqlConnector.UnitTests/Attributes/Parameter/MySqlConnector/MySqlDbTypeAttributeTest.cs new file mode 100644 index 000000000..68e5f7555 --- /dev/null +++ b/RepoDb.MySqlConnector/RepoDb.MySqlConnector.UnitTests/Attributes/Parameter/MySqlConnector/MySqlDbTypeAttributeTest.cs @@ -0,0 +1,83 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using MySqlConnector; +using RepoDb.Attributes.Parameter.MySqlConnector; +using RepoDb.DbSettings; +using RepoDb.Extensions; + +namespace RepoDb.MySqlConnector.UnitTests.Attributes.Parameter.MySqlConnector +{ + [TestClass] + public class MySqlDbTypeAttributeTest + { + [TestInitialize] + public void Initialize() + { + DbSettingMapper.Add(new MySqlConnectorDbSetting(), true); + } + + [TestCleanup] + public void Cleanup() + { + DbSettingMapper.Clear(); + } + + #region Classes + + private class MySqlDbTypeAttributeTestClass + { + [MySqlDbType(MySqlDbType.Geometry)] + public object ColumnName { get; set; } + } + + #endregion + + [TestMethod] + public void TestMySqlDbTypeAttributeViaEntityViaCreateParameters() + { + // Act + using (var connection = new MySqlConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new MySqlDbTypeAttributeTestClass + { + ColumnName = "Test" + }); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual(MySqlDbType.Geometry, parameter.MySqlDbType); + } + } + } + + [TestMethod] + public void TestMySqlDbTypeAttributeViaAnonymousViaCreateParameters() + { + // Act + using (var connection = new MySqlConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new + { + ColumnName = "Test" + }, + typeof(MySqlDbTypeAttributeTestClass)); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual(MySqlDbType.Geometry, parameter.MySqlDbType); + } + } + } + } +} diff --git a/RepoDb.PostgreSql/RepoDb.PostgreSql.UnitTests/Attributes/NpgsqlTypeMapAttribute.cs b/RepoDb.PostgreSql/RepoDb.PostgreSql.UnitTests/Attributes/NpgsqlTypeMapAttribute.cs new file mode 100644 index 000000000..73ea31c1a --- /dev/null +++ b/RepoDb.PostgreSql/RepoDb.PostgreSql.UnitTests/Attributes/NpgsqlTypeMapAttribute.cs @@ -0,0 +1,84 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Npgsql; +using NpgsqlTypes; +using RepoDb.Attributes; +using RepoDb.DbSettings; +using RepoDb.Extensions; + +namespace RepoDb.PostgreSql.UnitTests.Attributes +{ + [TestClass] + public class NpgsqlTypeMapAttributeTest + { + [TestInitialize] + public void Initialize() + { + DbSettingMapper.Add(new PostgreSqlDbSetting(), true); + } + + [TestCleanup] + public void Cleanup() + { + DbSettingMapper.Clear(); + } + + #region Classes + + private class NpgsqlTypeMapAttributeTestClass + { + [NpgsqlTypeMap(NpgsqlDbType.Box)] + public object ColumnName { get; set; } + } + + #endregion + + [TestMethod] + public void TestNpgsqlTypeMapAttributeViaEntityViaCreateParameters() + { + // Act + using (var connection = new NpgsqlConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new NpgsqlTypeMapAttributeTestClass + { + ColumnName = "Test" + }); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual(NpgsqlDbType.Box, parameter.NpgsqlDbType); + } + } + } + + [TestMethod] + public void TestNpgsqlTypeMapAttributeViaAnonymousViaCreateParameters() + { + // Act + using (var connection = new NpgsqlConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new + { + ColumnName = "Test" + }, + typeof(NpgsqlTypeMapAttributeTestClass)); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual(NpgsqlDbType.Box, parameter.NpgsqlDbType); + } + } + } + } +} diff --git a/RepoDb.PostgreSql/RepoDb.PostgreSql.UnitTests/Attributes/Parameter/Npgsql/ConvertedValueAttributeTest.cs b/RepoDb.PostgreSql/RepoDb.PostgreSql.UnitTests/Attributes/Parameter/Npgsql/ConvertedValueAttributeTest.cs new file mode 100644 index 000000000..f69447efa --- /dev/null +++ b/RepoDb.PostgreSql/RepoDb.PostgreSql.UnitTests/Attributes/Parameter/Npgsql/ConvertedValueAttributeTest.cs @@ -0,0 +1,83 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Npgsql; +using RepoDb.Attributes.Parameter.Npgsql; +using RepoDb.DbSettings; +using RepoDb.Extensions; + +namespace RepoDb.PostgreSql.UnitTests.Attributes.Parameter.Npgsql +{ + [TestClass] + public class ConvertedValueAttributeTest + { + [TestInitialize] + public void Initialize() + { + DbSettingMapper.Add(new PostgreSqlDbSetting(), true); + } + + [TestCleanup] + public void Cleanup() + { + DbSettingMapper.Clear(); + } + + #region Classes + + private class ConvertedValueAttributeTestClass + { + [ConvertedValue("NameColumn")] + public object ColumnName { get; set; } + } + + #endregion + + [TestMethod] + public void TestConvertedValueAttributeViaEntityViaCreateParameters() + { + // Act + using (var connection = new NpgsqlConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new ConvertedValueAttributeTestClass + { + ColumnName = "Test" + }); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual("NameColumn", parameter.ConvertedValue); + } + } + } + + [TestMethod] + public void TestConvertedValueAttributeViaAnonymousViaCreateParameters() + { + // Act + using (var connection = new NpgsqlConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new + { + ColumnName = "Test" + }, + typeof(ConvertedValueAttributeTestClass)); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual("NameColumn", parameter.ConvertedValue); + } + } + } + } +} diff --git a/RepoDb.PostgreSql/RepoDb.PostgreSql.UnitTests/Attributes/Parameter/Npgsql/DataTypeNameAttributeTest.cs b/RepoDb.PostgreSql/RepoDb.PostgreSql.UnitTests/Attributes/Parameter/Npgsql/DataTypeNameAttributeTest.cs new file mode 100644 index 000000000..5e1a3bb3e --- /dev/null +++ b/RepoDb.PostgreSql/RepoDb.PostgreSql.UnitTests/Attributes/Parameter/Npgsql/DataTypeNameAttributeTest.cs @@ -0,0 +1,83 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Npgsql; +using RepoDb.Attributes.Parameter.Npgsql; +using RepoDb.DbSettings; +using RepoDb.Extensions; + +namespace RepoDb.PostgreSql.UnitTests.Attributes.Parameter.Npgsql +{ + [TestClass] + public class DataTypeNameAttributeTest + { + [TestInitialize] + public void Initialize() + { + DbSettingMapper.Add(new PostgreSqlDbSetting(), true); + } + + [TestCleanup] + public void Cleanup() + { + DbSettingMapper.Clear(); + } + + #region Classes + + private class DataTypeNameAttributeTestClass + { + [DataTypeName("DataTypeName")] + public object ColumnName { get; set; } + } + + #endregion + + [TestMethod] + public void TestDataTypeNameAttributeViaEntityViaCreateParameters() + { + // Act + using (var connection = new NpgsqlConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new DataTypeNameAttributeTestClass + { + ColumnName = "Test" + }); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual("DataTypeName", parameter.DataTypeName); + } + } + } + + [TestMethod] + public void TestDataTypeNameAttributeViaAnonymousViaCreateParameters() + { + // Act + using (var connection = new NpgsqlConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new + { + ColumnName = "Test" + }, + typeof(DataTypeNameAttributeTestClass)); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual("DataTypeName", parameter.DataTypeName); + } + } + } + } +} diff --git a/RepoDb.PostgreSql/RepoDb.PostgreSql.UnitTests/Attributes/Parameter/Npgsql/NpgsqlDbTypeAttributeTest.cs b/RepoDb.PostgreSql/RepoDb.PostgreSql.UnitTests/Attributes/Parameter/Npgsql/NpgsqlDbTypeAttributeTest.cs new file mode 100644 index 000000000..4c9080f96 --- /dev/null +++ b/RepoDb.PostgreSql/RepoDb.PostgreSql.UnitTests/Attributes/Parameter/Npgsql/NpgsqlDbTypeAttributeTest.cs @@ -0,0 +1,84 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Npgsql; +using NpgsqlTypes; +using RepoDb.Attributes.Parameter.Npgsql; +using RepoDb.DbSettings; +using RepoDb.Extensions; + +namespace RepoDb.PostgreSql.UnitTests.Attributes.Parameter.Npgsql +{ + [TestClass] + public class NpgsqlDbTypeAttributeTest + { + [TestInitialize] + public void Initialize() + { + DbSettingMapper.Add(new PostgreSqlDbSetting(), true); + } + + [TestCleanup] + public void Cleanup() + { + DbSettingMapper.Clear(); + } + + #region Classes + + private class NpgsqlDbTypeAttributeTestClass + { + [NpgsqlDbType(NpgsqlDbType.Box)] + public object ColumnName { get; set; } + } + + #endregion + + [TestMethod] + public void TestNpgsqlDbTypeAttributeViaEntityViaCreateParameters() + { + // Act + using (var connection = new NpgsqlConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new NpgsqlDbTypeAttributeTestClass + { + ColumnName = "Test" + }); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual(NpgsqlDbType.Box, parameter.NpgsqlDbType); + } + } + } + + [TestMethod] + public void TestNpgsqlDbTypeAttributeViaAnonymousViaCreateParameters() + { + // Act + using (var connection = new NpgsqlConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new + { + ColumnName = "Test" + }, + typeof(NpgsqlDbTypeAttributeTestClass)); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual(NpgsqlDbType.Box, parameter.NpgsqlDbType); + } + } + } + } +} diff --git a/RepoDb.PostgreSql/RepoDb.PostgreSql/Attributes/NpgsqlTypeMapAttribute.cs b/RepoDb.PostgreSql/RepoDb.PostgreSql/Attributes/NpgsqlTypeMapAttribute.cs index 0c63351ff..907a59512 100644 --- a/RepoDb.PostgreSql/RepoDb.PostgreSql/Attributes/NpgsqlTypeMapAttribute.cs +++ b/RepoDb.PostgreSql/RepoDb.PostgreSql/Attributes/NpgsqlTypeMapAttribute.cs @@ -7,7 +7,7 @@ namespace RepoDb.Attributes /// /// An attribute used to define a mapping of .NET CLR into its equivalent value. /// - [Obsolete("Please use the RepoDb.Attributes.Npgsql.NpgsqlDbTypeAttribute instead.")] + [Obsolete("Please use the RepoDb.Attributes.Parameter.Npgsql.NpgsqlDbTypeAttribute instead.")] public class NpgsqlTypeMapAttribute : NpgsqlDbTypeAttribute { /// diff --git a/RepoDb.PostgreSql/RepoDb.PostgreSql/Attributes/Parameter/Npgsql/CollectionAttribute.cs b/RepoDb.PostgreSql/RepoDb.PostgreSql/Attributes/Parameter/Npgsql/CollectionAttribute.cs deleted file mode 100644 index 396c6db40..000000000 --- a/RepoDb.PostgreSql/RepoDb.PostgreSql/Attributes/Parameter/Npgsql/CollectionAttribute.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Npgsql; - -namespace RepoDb.Attributes.Parameter.Npgsql -{ - /// - /// An attribute used to define a value to the - /// property via an entity property before the actual execution. - /// - public class CollectionAttribute : PropertyValueAttribute - { - /// - /// Creates a new instance of class. - /// - /// The collection to which the parameter belongs to. - public CollectionAttribute(NpgsqlParameterCollection collection) - : base(typeof(NpgsqlParameter), nameof(NpgsqlParameter.Collection), collection) - { } - - /// - /// Gets the mapped collection to which the parameter belongs to. - /// - public NpgsqlParameterCollection Collection => (NpgsqlParameterCollection)Value; - } -} \ No newline at end of file diff --git a/RepoDb.SqLite/RepoDb.SqLite.UnitTests/Attributes/Parameter/Microsoft/SqliteTypeAttributeTest.cs b/RepoDb.SqLite/RepoDb.SqLite.UnitTests/Attributes/Parameter/Microsoft/SqliteTypeAttributeTest.cs new file mode 100644 index 000000000..4e8b83f90 --- /dev/null +++ b/RepoDb.SqLite/RepoDb.SqLite.UnitTests/Attributes/Parameter/Microsoft/SqliteTypeAttributeTest.cs @@ -0,0 +1,83 @@ +using Microsoft.Data.Sqlite; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using RepoDb.Attributes.Parameter.Sqlite; +using RepoDb.DbSettings; +using RepoDb.Extensions; + +namespace RepoDb.SqLite.UnitTests.Attributes.Parameter.Sqlite +{ + [TestClass] + public class SqliteTypeAttributeTest + { + [TestInitialize] + public void Initialize() + { + DbSettingMapper.Add(new SqLiteDbSetting(), true); + } + + [TestCleanup] + public void Cleanup() + { + DbSettingMapper.Clear(); + } + + #region Classes + + private class SqliteTypeAttributeTestClass + { + [SqliteType(SqliteType.Real)] + public object ColumnName { get; set; } + } + + #endregion + + [TestMethod] + public void TestSqliteTypeAttributeViaEntityViaCreateParameters() + { + // Act + using (var connection = new SqliteConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new SqliteTypeAttributeTestClass + { + ColumnName = "Test" + }); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual(SqliteType.Real, parameter.SqliteType); + } + } + } + + [TestMethod] + public void TestSqliteTypeAttributeViaAnonymousViaCreateParameters() + { + // Act + using (var connection = new SqliteConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new + { + ColumnName = "Test" + }, + typeof(SqliteTypeAttributeTestClass)); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual(SqliteType.Real, parameter.SqliteType); + } + } + } + } +} diff --git a/RepoDb.SqLite/RepoDb.SqLite.UnitTests/Attributes/Parameter/System/TypeNameAttributeTest.cs b/RepoDb.SqLite/RepoDb.SqLite.UnitTests/Attributes/Parameter/System/TypeNameAttributeTest.cs new file mode 100644 index 000000000..438687db8 --- /dev/null +++ b/RepoDb.SqLite/RepoDb.SqLite.UnitTests/Attributes/Parameter/System/TypeNameAttributeTest.cs @@ -0,0 +1,83 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using RepoDb.Attributes.Parameter.SQLite; +using RepoDb.DbSettings; +using RepoDb.Extensions; +using System.Data.SQLite; + +namespace RepoDb.SqLite.UnitTests.Attributes.Parameter.SQLite +{ + [TestClass] + public class TypeNameAttributeTest + { + [TestInitialize] + public void Initialize() + { + DbSettingMapper.Add(new SqLiteDbSetting(), true); + } + + [TestCleanup] + public void Cleanup() + { + DbSettingMapper.Clear(); + } + + #region Classes + + private class TypeNameAttributeTestClass + { + [TypeName("TypeName")] + public object ColumnName { get; set; } + } + + #endregion + + [TestMethod] + public void TestTypeNameAttributeViaEntityViaCreateParameters() + { + // Act + using (var connection = new SQLiteConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new TypeNameAttributeTestClass + { + ColumnName = "Test" + }); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual("TypeName", parameter.TypeName); + } + } + } + + [TestMethod] + public void TestTypeNameAttributeViaAnonymousViaCreateParameters() + { + // Act + using (var connection = new SQLiteConnection()) + { + using (var command = connection.CreateCommand()) + { + DbCommandExtension + .CreateParameters(command, new + { + ColumnName = "Test" + }, + typeof(TypeNameAttributeTestClass)); + + // Assert + Assert.AreEqual(1, command.Parameters.Count); + + // Assert + var parameter = command.Parameters["@ColumnName"]; + Assert.AreEqual("TypeName", parameter.TypeName); + } + } + } + } +} diff --git a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/CompareInfoAttributeTest.cs b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/CompareInfoAttributeTest.cs index 59306d77b..48bf2b433 100644 --- a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/CompareInfoAttributeTest.cs +++ b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/CompareInfoAttributeTest.cs @@ -36,7 +36,7 @@ private class CompareInfoAttributeTestClass public void TestCompareInfoAttributeViaEntityViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { @@ -60,7 +60,7 @@ public void TestCompareInfoAttributeViaEntityViaCreateParameters() public void TestCompareInfoAttributeViaAnonymousViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { diff --git a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/ForceColumnEncryptionAttributeTest.cs b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/ForceColumnEncryptionAttributeTest.cs index 5ce2923ec..214ae1e22 100644 --- a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/ForceColumnEncryptionAttributeTest.cs +++ b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/ForceColumnEncryptionAttributeTest.cs @@ -35,7 +35,7 @@ private class ForceColumnEncryptionAttributeTestClass public void TestForceColumnEncryptionAttributeViaEntityViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { @@ -59,7 +59,7 @@ public void TestForceColumnEncryptionAttributeViaEntityViaCreateParameters() public void TestForceColumnEncryptionAttributeViaAnonymousViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { diff --git a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/LocaleIdAttributeTest.cs b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/LocaleIdAttributeTest.cs index 791b346ad..c34966451 100644 --- a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/LocaleIdAttributeTest.cs +++ b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/LocaleIdAttributeTest.cs @@ -35,7 +35,7 @@ private class LocaleIdAttributeTestClass public void TestLocaleIdAttributeViaEntityViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { @@ -59,7 +59,7 @@ public void TestLocaleIdAttributeViaEntityViaCreateParameters() public void TestLocaleIdAttributeViaAnonymousViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { diff --git a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/OffsetAttributeTest.cs b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/OffsetAttributeTest.cs index 142389085..af56d7dd4 100644 --- a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/OffsetAttributeTest.cs +++ b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/OffsetAttributeTest.cs @@ -35,7 +35,7 @@ private class OffsetAttributeTestClass public void TestOffsetAttributeViaEntityViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { @@ -59,7 +59,7 @@ public void TestOffsetAttributeViaEntityViaCreateParameters() public void TestOffsetAttributeViaAnonymousViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { diff --git a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/SqlDbTypeAttributeTest.cs b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/SqlDbTypeAttributeTest.cs index 0418e046e..ef649d05c 100644 --- a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/SqlDbTypeAttributeTest.cs +++ b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/SqlDbTypeAttributeTest.cs @@ -36,7 +36,7 @@ private class SqlDbTypeAttributeTestClass public void TestSqlDbTypeAttributeViaEntityViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { @@ -60,7 +60,7 @@ public void TestSqlDbTypeAttributeViaEntityViaCreateParameters() public void TestSqlDbTypeAttributeViaAnonymousViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { diff --git a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/TypeNameAttributeTest.cs b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/TypeNameAttributeTest.cs index 1bbd3b526..f3ca52cdd 100644 --- a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/TypeNameAttributeTest.cs +++ b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/TypeNameAttributeTest.cs @@ -36,7 +36,7 @@ private class TypeNameAttributeTestClass public void TestTypeNameAttributeViaEntityViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { @@ -60,7 +60,7 @@ public void TestTypeNameAttributeViaEntityViaCreateParameters() public void TestTypeNameAttributeViaAnonymousViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { diff --git a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/UdtTypeNameAttributeTest.cs b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/UdtTypeNameAttributeTest.cs index b6091901a..43777a806 100644 --- a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/UdtTypeNameAttributeTest.cs +++ b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/UdtTypeNameAttributeTest.cs @@ -35,7 +35,7 @@ private class UdtTypeNameAttributeTestClass public void TestUdtTypeNameAttributeViaEntityViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { @@ -59,7 +59,7 @@ public void TestUdtTypeNameAttributeViaEntityViaCreateParameters() public void TestUdtTypeNameAttributeViaAnonymousViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { diff --git a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/XmlSchemaCollectionDatabaseAttributeTest.cs b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/XmlSchemaCollectionDatabaseAttributeTest.cs index 05620b7d4..6979d19ad 100644 --- a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/XmlSchemaCollectionDatabaseAttributeTest.cs +++ b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/XmlSchemaCollectionDatabaseAttributeTest.cs @@ -35,7 +35,7 @@ private class XmlSchemaCollectionDatabaseAttributeTestClass public void TestXmlSchemaCollectionDatabaseAttributeViaEntityViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { @@ -59,7 +59,7 @@ public void TestXmlSchemaCollectionDatabaseAttributeViaEntityViaCreateParameters public void TestXmlSchemaCollectionDatabaseAttributeViaAnonymousViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { diff --git a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/XmlSchemaCollectionNameAttributeTest.cs b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/XmlSchemaCollectionNameAttributeTest.cs index 4ead7e416..9dd0304dd 100644 --- a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/XmlSchemaCollectionNameAttributeTest.cs +++ b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/XmlSchemaCollectionNameAttributeTest.cs @@ -35,7 +35,7 @@ private class XmlSchemaCollectionNameAttributeTestClass public void TestXmlSchemaCollectionNameAttributeViaEntityViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { @@ -59,7 +59,7 @@ public void TestXmlSchemaCollectionNameAttributeViaEntityViaCreateParameters() public void TestXmlSchemaCollectionNameAttributeViaAnonymousViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { diff --git a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/XmlSchemaCollectionOwningSchemaAttributeTest.cs b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/XmlSchemaCollectionOwningSchemaAttributeTest.cs index 2da81e8a9..82214c242 100644 --- a/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/XmlSchemaCollectionOwningSchemaAttributeTest.cs +++ b/RepoDb.SqlServer/RepoDb.SqlServer.UnitTests/Attributes/Parameter/SqlServer/XmlSchemaCollectionOwningSchemaAttributeTest.cs @@ -35,7 +35,7 @@ private class XmlSchemaCollectionOwningSchemaAttributeTestClass public void TestXmlSchemaCollectionOwningSchemaAttributeViaEntityViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) { @@ -59,7 +59,7 @@ public void TestXmlSchemaCollectionOwningSchemaAttributeViaEntityViaCreateParame public void TestXmlSchemaCollectionOwningSchemaAttributeViaAnonymousViaCreateParameters() { // Act - using (var connection = new SqlConnection("Server=.;")) + using (var connection = new SqlConnection()) { using (var command = connection.CreateCommand()) {