From e8bdf3a983f302e6248f010b0af5cad05d42103a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 9 May 2026 04:40:39 +0000 Subject: [PATCH 1/3] chore(deps): update dependency netevolve.defaults to 2.6.0 --- Directory.Packages.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 3196506..dc27f93 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -9,7 +9,7 @@ - + From cb5499bb689efa482e52cd33f43f7ababccf2ed5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20St=C3=BChmer?= Date: Sun, 10 May 2026 21:52:41 +0200 Subject: [PATCH 2/3] fix: Add analyzers, update config, and async test patterns - Add Meziantou and Roslynator analyzers/code fixes to central package management. - Update .editorconfig with static readonly naming rules, enable IDE0060, suppress RCS1163, and adjust code quality settings. - Remove redundant line from .gitattributes. - Update .gitignore for MemPalace and Beads/Dolt files. - Suppress additional analyzer warnings in test projects. - Refactor all test files to use .ConfigureAwait(false) for async calls. - Replace Guid.Parse with explicit Guid constructors for analyzer compliance. --- .editorconfig | 12 ++ .gitattributes | 1 - .gitignore | 10 ++ Directory.Packages.props | 6 + .../DbDataReaderExtensionsIntegrationTests.cs | 134 +++++++------- .../IDataReaderExtensionsIntegrationTests.cs | 16 +- .../IDataRecordExtensionsIntegrationTests.cs | 166 +++++++++--------- ...e.Extensions.Data.Tests.Integration.csproj | 1 + .../DbDataReaderExtensionsTests.cs | 26 +-- ...etEvolve.Extensions.Data.Tests.Unit.csproj | 2 +- 10 files changed, 207 insertions(+), 167 deletions(-) diff --git a/.editorconfig b/.editorconfig index 93483f4..5ffb95a 100644 --- a/.editorconfig +++ b/.editorconfig @@ -134,6 +134,13 @@ dotnet_naming_rule.all_const.severity = error dotnet_naming_rule.all_const.style = all_elements dotnet_naming_rule.all_const.symbols = all_const +dotnet_naming_style.all_static_readonly.capitalization = pascal_case +dotnet_naming_symbols.all_static_readonly.applicable_kinds = field +dotnet_naming_symbols.all_static_readonly.required_modifiers = static, readonly +dotnet_naming_rule.all_static_readonly.severity = error +dotnet_naming_rule.all_static_readonly.style = all_static_readonly +dotnet_naming_rule.all_static_readonly.symbols = all_static_readonly + dotnet_naming_style.all_fields.required_prefix = _ dotnet_naming_style.all_fields.capitalization = camel_case dotnet_naming_symbols.all_fields.applicable_kinds = field @@ -263,6 +270,11 @@ dotnet_diagnostic.IDE0046.severity = sugges csharp_style_prefer_primary_constructors = false dotnet_diagnostic.IDE0290.severity = suggestion +# IDE0060: Remove unused parameter +dotnet_diagnostic.IDE0060.severity = warning +dotnet_diagnostic.RCS1163.severity = none +dotnet_code_quality_unused_parameters = all + # [CSharpier] Incompatible rules deactivated # https://csharpier.com/docs/IntegratingWithLinters#code-analysis-rules dotnet_diagnostic.IDE0055.severity = none diff --git a/.gitattributes b/.gitattributes index 3d6b51a..a6fc23c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,4 @@ * text=auto eol=lf -* text eol=lf # (binary is a macro for -text -diff) *.png binary diff --git a/.gitignore b/.gitignore index 7bcbf66..0279c9e 100644 --- a/.gitignore +++ b/.gitignore @@ -364,3 +364,13 @@ MigrationBackup/ # Prevent nested .editorconfig files - only root .editorconfig should be used **/.editorconfig !/.editorconfig + +# MemPalace per-project files +.mempalace/ +mempalace.yaml +entities.json + +# Beads / Dolt files (added by bd init) +.dolt/ +*.db +.beads-credential-key diff --git a/Directory.Packages.props b/Directory.Packages.props index dc27f93..49a0846 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -5,11 +5,17 @@ + + + + + + diff --git a/tests/NetEvolve.Extensions.Data.Tests.Integration/DbDataReaderExtensionsIntegrationTests.cs b/tests/NetEvolve.Extensions.Data.Tests.Integration/DbDataReaderExtensionsIntegrationTests.cs index e6c2680..2fa7d8d 100644 --- a/tests/NetEvolve.Extensions.Data.Tests.Integration/DbDataReaderExtensionsIntegrationTests.cs +++ b/tests/NetEvolve.Extensions.Data.Tests.Integration/DbDataReaderExtensionsIntegrationTests.cs @@ -67,9 +67,9 @@ public async Task GetFieldValue_WithValidColumnName_ReturnsCorrectValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - var hasValue = await reader.ReadAsync(); + var hasValue = await reader.ReadAsync().ConfigureAwait(false); _ = await Assert.That(hasValue).IsTrue(); var id = reader.GetFieldValue("Id"); @@ -93,9 +93,9 @@ public async Task GetFieldValue_WithInvalidColumnName_ThrowsIndexOutOfRangeExcep { using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - var hasValue = await reader.ReadAsync(); + var hasValue = await reader.ReadAsync().ConfigureAwait(false); _ = await Assert.That(hasValue).IsTrue(); _ = Assert.Throws(() => reader.GetFieldValue("NonExistentColumn")); @@ -106,15 +106,15 @@ public async Task GetFieldValueAsync_WithValidColumnName_ReturnsCorrectValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); - var id = await reader.GetFieldValueAsync("Id"); - var name = await reader.GetFieldValueAsync("Name"); - var age = await reader.GetFieldValueAsync("Age"); - var isActive = await reader.GetFieldValueAsync("IsActive"); - var salary = await reader.GetFieldValueAsync("Salary"); + var id = await reader.GetFieldValueAsync("Id").ConfigureAwait(false); + var name = await reader.GetFieldValueAsync("Name").ConfigureAwait(false); + var age = await reader.GetFieldValueAsync("Age").ConfigureAwait(false); + var isActive = await reader.GetFieldValueAsync("IsActive").ConfigureAwait(false); + var salary = await reader.GetFieldValueAsync("Salary").ConfigureAwait(false); using (Assert.Multiple()) { @@ -132,12 +132,12 @@ public async Task GetFieldValueAsync_WithCancellationToken_ReturnsCorrectValue() using var cts = new CancellationTokenSource(); using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestData WHERE Id = 3"; - using var reader = await command.ExecuteReaderAsync(cts.Token); + using var reader = await command.ExecuteReaderAsync(cts.Token).ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync(cts.Token)).IsTrue(); + _ = await Assert.That(await reader.ReadAsync(cts.Token).ConfigureAwait(false)).IsTrue(); - var id = await reader.GetFieldValueAsync("Id", cts.Token); - var name = await reader.GetFieldValueAsync("Name", cts.Token); + var id = await reader.GetFieldValueAsync("Id", cts.Token).ConfigureAwait(false); + var name = await reader.GetFieldValueAsync("Name", cts.Token).ConfigureAwait(false); using (Assert.Multiple()) { @@ -151,9 +151,9 @@ public async Task GetFieldValueOrDefault_WithNullValue_ReturnsDefault() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestData WHERE Id = 2"; // Has NULL values - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - var hasValue = await reader.ReadAsync(); + var hasValue = await reader.ReadAsync().ConfigureAwait(false); _ = await Assert.That(hasValue).IsTrue(); var nullableInt = reader.GetFieldValueOrDefault("NullableInt"); @@ -175,9 +175,9 @@ public async Task GetFieldValueOrDefault_WithNullValue_ReturnsCustomDefault() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestData WHERE Id = 2"; // Has NULL values - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var nullableInt = reader.GetFieldValueOrDefault("NullableInt", 999); var nullableText = reader.GetFieldValueOrDefault("NullableText", "Default Text"); @@ -198,9 +198,9 @@ public async Task GetFieldValueOrDefault_WithValidValue_ReturnsActualValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestData WHERE Id = 1"; // Has actual values - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var nullableInt = reader.GetFieldValueOrDefault("NullableInt", 999); var nullableText = reader.GetFieldValueOrDefault("NullableText", "Default Text"); @@ -221,9 +221,9 @@ public async Task GetFieldValueOrDefault_WithOrdinal_ReturnsCorrectValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableInt, NullableText FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var nullableInt = reader.GetFieldValueOrDefault(0); // NullableInt ordinal var nullableText = reader.GetFieldValueOrDefault(1); // NullableText ordinal @@ -237,9 +237,9 @@ public async Task GetFieldValueOrDefault_WithOrdinal_ReturnsCustomDefault() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableInt, NullableText FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var nullableInt = reader.GetFieldValueOrDefault(0, 777); // NullableInt ordinal var nullableText = reader.GetFieldValueOrDefault(1, "Custom Default"); // NullableText ordinal @@ -256,14 +256,14 @@ public async Task GetFieldValueOrDefaultAsync_WithNullValue_ReturnsDefault() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestData WHERE Id = 2"; // Has NULL values - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); - var nullableInt = await reader.GetFieldValueOrDefaultAsync("NullableInt"); - var nullableText = await reader.GetFieldValueOrDefaultAsync("NullableText"); - var nullableBoolean = await reader.GetFieldValueOrDefaultAsync("NullableBoolean"); - var nullableDouble = await reader.GetFieldValueOrDefaultAsync("NullableDouble"); + var nullableInt = await reader.GetFieldValueOrDefaultAsync("NullableInt").ConfigureAwait(false); + var nullableText = await reader.GetFieldValueOrDefaultAsync("NullableText").ConfigureAwait(false); + var nullableBoolean = await reader.GetFieldValueOrDefaultAsync("NullableBoolean").ConfigureAwait(false); + var nullableDouble = await reader.GetFieldValueOrDefaultAsync("NullableDouble").ConfigureAwait(false); Assert.Null(nullableInt); Assert.Null(nullableText); @@ -276,14 +276,16 @@ public async Task GetFieldValueOrDefaultAsync_WithNullValue_ReturnsCustomDefault { using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestData WHERE Id = 2"; // Has NULL values - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); - var nullableInt = await reader.GetFieldValueOrDefaultAsync("NullableInt", 888); - var nullableText = await reader.GetFieldValueOrDefaultAsync("NullableText", "Async Default"); - var nullableBoolean = await reader.GetFieldValueOrDefaultAsync("NullableBoolean", true); - var nullableDouble = await reader.GetFieldValueOrDefaultAsync("NullableDouble", 888.88); + var nullableInt = await reader.GetFieldValueOrDefaultAsync("NullableInt", 888).ConfigureAwait(false); + var nullableText = await reader + .GetFieldValueOrDefaultAsync("NullableText", "Async Default") + .ConfigureAwait(false); + var nullableBoolean = await reader.GetFieldValueOrDefaultAsync("NullableBoolean", true).ConfigureAwait(false); + var nullableDouble = await reader.GetFieldValueOrDefaultAsync("NullableDouble", 888.88).ConfigureAwait(false); using (Assert.Multiple()) { @@ -299,14 +301,16 @@ public async Task GetFieldValueOrDefaultAsync_WithValidValue_ReturnsActualValue( { using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestData WHERE Id = 3"; // Has actual values - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); - var nullableInt = await reader.GetFieldValueOrDefaultAsync("NullableInt", 888); - var nullableText = await reader.GetFieldValueOrDefaultAsync("NullableText", "Async Default"); - var nullableBoolean = await reader.GetFieldValueOrDefaultAsync("NullableBoolean", true); - var nullableDouble = await reader.GetFieldValueOrDefaultAsync("NullableDouble", 888.88); + var nullableInt = await reader.GetFieldValueOrDefaultAsync("NullableInt", 888).ConfigureAwait(false); + var nullableText = await reader + .GetFieldValueOrDefaultAsync("NullableText", "Async Default") + .ConfigureAwait(false); + var nullableBoolean = await reader.GetFieldValueOrDefaultAsync("NullableBoolean", true).ConfigureAwait(false); + var nullableDouble = await reader.GetFieldValueOrDefaultAsync("NullableDouble", 888.88).ConfigureAwait(false); using (Assert.Multiple()) { @@ -322,12 +326,12 @@ public async Task GetFieldValueOrDefaultAsync_WithOrdinal_ReturnsCorrectValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableInt, NullableText FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); - var nullableInt = await reader.GetFieldValueOrDefaultAsync(0); // NullableInt ordinal - var nullableText = await reader.GetFieldValueOrDefaultAsync(1); // NullableText ordinal + var nullableInt = await reader.GetFieldValueOrDefaultAsync(0).ConfigureAwait(false); // NullableInt ordinal + var nullableText = await reader.GetFieldValueOrDefaultAsync(1).ConfigureAwait(false); // NullableText ordinal Assert.Null(nullableInt); Assert.Null(nullableText); @@ -338,12 +342,12 @@ public async Task GetFieldValueOrDefaultAsync_WithOrdinal_ReturnsCustomDefault() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableInt, NullableText FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); - var nullableInt = await reader.GetFieldValueOrDefaultAsync(0, 666); // NullableInt ordinal - var nullableText = await reader.GetFieldValueOrDefaultAsync(1, "Async Ordinal Default"); // NullableText ordinal + var nullableInt = await reader.GetFieldValueOrDefaultAsync(0, 666).ConfigureAwait(false); // NullableInt ordinal + var nullableText = await reader.GetFieldValueOrDefaultAsync(1, "Async Ordinal Default").ConfigureAwait(false); // NullableText ordinal using (Assert.Multiple()) { @@ -358,12 +362,14 @@ public async Task GetFieldValueOrDefaultAsync_WithCancellationToken_ReturnsCorre using var cts = new CancellationTokenSource(); using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(cts.Token); + using var reader = await command.ExecuteReaderAsync(cts.Token).ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync(cts.Token)).IsTrue(); + _ = await Assert.That(await reader.ReadAsync(cts.Token).ConfigureAwait(false)).IsTrue(); - var nullableInt = await reader.GetFieldValueOrDefaultAsync("NullableInt", 555, cts.Token); - var nullableText = await reader.GetFieldValueOrDefaultAsync("NullableText", "Token Default", cts.Token); + var nullableInt = await reader.GetFieldValueOrDefaultAsync("NullableInt", 555, cts.Token).ConfigureAwait(false); + var nullableText = await reader + .GetFieldValueOrDefaultAsync("NullableText", "Token Default", cts.Token) + .ConfigureAwait(false); using (Assert.Multiple()) { @@ -378,12 +384,14 @@ public async Task GetFieldValueOrDefaultAsync_WithOrdinalAndCancellationToken_Re using var cts = new CancellationTokenSource(); using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableInt, NullableText FROM TestData WHERE Id = 3"; - using var reader = await command.ExecuteReaderAsync(cts.Token); + using var reader = await command.ExecuteReaderAsync(cts.Token).ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync(cts.Token)).IsTrue(); + _ = await Assert.That(await reader.ReadAsync(cts.Token).ConfigureAwait(false)).IsTrue(); - var nullableInt = await reader.GetFieldValueOrDefaultAsync(0, 444, cts.Token); // NullableInt ordinal - var nullableText = await reader.GetFieldValueOrDefaultAsync(1, "Ordinal Token Default", cts.Token); // NullableText ordinal + var nullableInt = await reader.GetFieldValueOrDefaultAsync(0, 444, cts.Token).ConfigureAwait(false); // NullableInt ordinal + var nullableText = await reader + .GetFieldValueOrDefaultAsync(1, "Ordinal Token Default", cts.Token) + .ConfigureAwait(false); // NullableText ordinal using (Assert.Multiple()) { @@ -397,9 +405,9 @@ public async Task GetFieldValue_WithMultipleDataTypes_ReturnsCorrectTypes() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT Id, Name, Age, IsActive, Salary, BirthDate FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var id = reader.GetFieldValue("Id"); // SQLite INTEGER as long var name = reader.GetFieldValue("Name"); @@ -424,9 +432,9 @@ public async Task GetFieldValueOrDefault_ExceptionHandling_ThrowsCorrectExceptio { using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); // Test invalid column name _ = Assert.Throws(() => reader.GetFieldValueOrDefault("InvalidColumn")); diff --git a/tests/NetEvolve.Extensions.Data.Tests.Integration/IDataReaderExtensionsIntegrationTests.cs b/tests/NetEvolve.Extensions.Data.Tests.Integration/IDataReaderExtensionsIntegrationTests.cs index 80136e2..663e12b 100644 --- a/tests/NetEvolve.Extensions.Data.Tests.Integration/IDataReaderExtensionsIntegrationTests.cs +++ b/tests/NetEvolve.Extensions.Data.Tests.Integration/IDataReaderExtensionsIntegrationTests.cs @@ -61,7 +61,7 @@ public async Task HasColumn_ExistingColumns_ReturnsTrue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestTable"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); var hasId = reader.HasColumn("Id"); var hasName = reader.HasColumn("Name"); @@ -87,7 +87,7 @@ public async Task HasColumn_NonExistingColumns_ReturnsFalse() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestTable"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); var hasNonExistent = reader.HasColumn("NonExistentColumn"); var hasWrongCase = reader.HasColumn("WRONGCASE"); @@ -104,7 +104,7 @@ public async Task HasColumn_CaseInsensitiveMatching_ReturnsTrue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestTable"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); var hasIdLowercase = reader.HasColumn("id"); var hasNameUppercase = reader.HasColumn("NAME"); @@ -123,7 +123,7 @@ public async Task HasColumn_SubsetOfSelectedColumns_ReturnsCorrectResults() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT Id, Name, Email FROM TestTable"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); var hasId = reader.HasColumn("Id"); var hasName = reader.HasColumn("Name"); @@ -146,7 +146,7 @@ public async Task HasColumn_AliasedColumns_ReturnsCorrectResults() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT Id AS UserId, Name AS FullName FROM TestTable"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); var hasUserId = reader.HasColumn("UserId"); var hasFullName = reader.HasColumn("FullName"); @@ -167,7 +167,7 @@ public async Task HasColumn_ComputedColumns_ReturnsCorrectResults() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT COUNT(*) AS TotalCount, MAX(Age) AS MaxAge FROM TestTable"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); var hasTotalCount = reader.HasColumn("TotalCount"); var hasMaxAge = reader.HasColumn("MaxAge"); @@ -192,7 +192,7 @@ public async Task HasColumn_ValidColumnNames_ReturnsTrue(string columnName) { using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestTable"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); var hasColumn = reader.HasColumn(columnName); @@ -207,7 +207,7 @@ public async Task HasColumn_InvalidColumnNames_ReturnsFalse(string columnName) { using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestTable"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); var hasColumn = reader.HasColumn(columnName); diff --git a/tests/NetEvolve.Extensions.Data.Tests.Integration/IDataRecordExtensionsIntegrationTests.cs b/tests/NetEvolve.Extensions.Data.Tests.Integration/IDataRecordExtensionsIntegrationTests.cs index 0be05bf..d1fc459 100644 --- a/tests/NetEvolve.Extensions.Data.Tests.Integration/IDataRecordExtensionsIntegrationTests.cs +++ b/tests/NetEvolve.Extensions.Data.Tests.Integration/IDataRecordExtensionsIntegrationTests.cs @@ -105,9 +105,9 @@ public async Task GetNullableBoolean_ByIndex_WithValidValue_ReturnsCorrectValue( { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableBoolean FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableBoolean(0); _ = await Assert.That(result).IsTrue(); @@ -118,9 +118,9 @@ public async Task GetNullableBoolean_ByIndex_WithNullValue_ReturnsNull() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableBoolean FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableBoolean(0); Assert.Null(result); @@ -131,9 +131,9 @@ public async Task GetNullableBoolean_ByIndex_WithNullValue_ReturnsDefaultValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableBoolean FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableBoolean(0, true); _ = await Assert.That(result).IsTrue(); @@ -144,9 +144,9 @@ public async Task GetNullableBoolean_ByName_WithValidValue_ReturnsCorrectValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableBoolean FROM TestData WHERE Id = 3"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableBoolean("NullableBoolean"); _ = await Assert.That(result).IsFalse(); @@ -157,9 +157,9 @@ public async Task GetNullableBoolean_ByName_WithNullValue_ReturnsDefaultValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableBoolean FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableBoolean("NullableBoolean", false); _ = await Assert.That(result).IsFalse(); @@ -170,9 +170,9 @@ public async Task GetNullableByte_ByIndex_WithValidValue_ReturnsCorrectValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableByte FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableByte(0); _ = await Assert.That(result).IsEqualTo((byte)255); @@ -183,9 +183,9 @@ public async Task GetNullableByte_ByName_WithNullValue_ReturnsDefaultValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableByte FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableByte("NullableByte", (byte)100); _ = await Assert.That(result).IsEqualTo((byte)100); @@ -196,9 +196,9 @@ public async Task GetNullableChar_ByIndex_WithValidValue_ReturnsCorrectValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableChar FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableChar(0); _ = await Assert.That(result).IsEqualTo('A'); @@ -209,9 +209,9 @@ public async Task GetNullableChar_ByName_WithNullValue_ReturnsDefaultValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableChar FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableChar("NullableChar", 'X'); _ = await Assert.That(result).IsEqualTo('X'); @@ -222,9 +222,9 @@ public async Task GetNullableDateTime_ByIndex_WithValidValue_ReturnsCorrectValue { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableDateTime FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableDateTime(0); _ = await Assert.That(result).IsEqualTo(DateTime.Parse("2023-01-15 10:30:00", CultureInfo.InvariantCulture)); @@ -235,9 +235,9 @@ public async Task GetNullableDateTime_ByName_WithNullValue_ReturnsDefaultValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableDateTime FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var defaultDate = new DateTime(2023, 12, 25, 0, 0, 0, DateTimeKind.Utc); var result = reader.GetNullableDateTime("NullableDateTime", defaultDate); @@ -249,9 +249,9 @@ public async Task GetNullableDecimal_ByIndex_WithValidValue_ReturnsCorrectValue( { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableDecimal FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableDecimal(0); _ = await Assert.That(result).IsEqualTo(12345.67m); @@ -262,9 +262,9 @@ public async Task GetNullableDecimal_ByName_WithNullValue_ReturnsDefaultValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableDecimal FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableDecimal("NullableDecimal", 999.99m); _ = await Assert.That(result).IsEqualTo(999.99m); @@ -275,9 +275,9 @@ public async Task GetNullableDouble_ByIndex_WithValidValue_ReturnsCorrectValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableDouble FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableDouble(0); using (Assert.Multiple()) @@ -292,9 +292,9 @@ public async Task GetNullableDouble_ByName_WithNullValue_ReturnsDefaultValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableDouble FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableDouble("NullableDouble", 888.888); using (Assert.Multiple()) @@ -309,9 +309,9 @@ public async Task GetNullableFloat_ByIndex_WithValidValue_ReturnsCorrectValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableFloat FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableFloat(0); using (Assert.Multiple()) @@ -326,9 +326,9 @@ public async Task GetNullableFloat_ByName_WithNullValue_ReturnsDefaultValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableFloat FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableFloat("NullableFloat", 777.7f); using (Assert.Multiple()) @@ -343,12 +343,12 @@ public async Task GetNullableGuid_ByIndex_WithValidValue_ReturnsCorrectValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableGuid FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableGuid(0); - _ = await Assert.That(result).IsEqualTo(Guid.Parse("550e8400-e29b-41d4-a716-446655440000")); + _ = await Assert.That(result).IsEqualTo(new Guid(0x550e8400, 0xe29b, 0x41d4, 0xa7, 0x16, 0x44, 0x66, 0x55, 0x44, 0x0, 0x0) /* 550e8400-e29b-41d4-a716-446655440000 */); } [Test] @@ -356,10 +356,10 @@ public async Task GetNullableGuid_ByName_WithNullValue_ReturnsDefaultValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableGuid FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); - var defaultGuid = Guid.Parse("00000000-0000-0000-0000-000000000001"); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); + var defaultGuid = new Guid(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1) /* 00000000-0000-0000-0000-000000000001 */; var result = reader.GetNullableGuid("NullableGuid", defaultGuid); _ = await Assert.That(result).IsEqualTo(defaultGuid); @@ -370,9 +370,9 @@ public async Task GetNullableInt16_ByIndex_WithValidValue_ReturnsCorrectValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableInt16 FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableInt16(0); _ = await Assert.That(result).IsEqualTo((short)32767); @@ -383,9 +383,9 @@ public async Task GetNullableInt16_ByName_WithNullValue_ReturnsDefaultValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableInt16 FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableInt16("NullableInt16", (short)999); _ = await Assert.That(result).IsEqualTo((short)999); @@ -396,9 +396,9 @@ public async Task GetNullableInt16_ByName_WithNegativeValue_ReturnsCorrectValue( { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableInt16 FROM TestData WHERE Id = 3"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableInt16("NullableInt16"); _ = await Assert.That(result).IsEqualTo((short)-32768); @@ -409,9 +409,9 @@ public async Task GetNullableInt32_ByIndex_WithValidValue_ReturnsCorrectValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableInt32 FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableInt32(0); _ = await Assert.That(result).IsEqualTo(2147483647); @@ -422,9 +422,9 @@ public async Task GetNullableInt32_ByName_WithNullValue_ReturnsDefaultValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableInt32 FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableInt32("NullableInt32", 12345); _ = await Assert.That(result).IsEqualTo(12345); @@ -435,9 +435,9 @@ public async Task GetNullableInt32_ByName_WithNegativeValue_ReturnsCorrectValue( { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableInt32 FROM TestData WHERE Id = 3"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableInt32("NullableInt32"); _ = await Assert.That(result).IsEqualTo(-2147483648); @@ -448,9 +448,9 @@ public async Task GetNullableInt64_ByIndex_WithValidValue_ReturnsCorrectValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableInt64 FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableInt64(0); _ = await Assert.That(result).IsEqualTo(9223372036854775807L); @@ -461,9 +461,9 @@ public async Task GetNullableInt64_ByName_WithNullValue_ReturnsDefaultValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableInt64 FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableInt64("NullableInt64", 987654321L); _ = await Assert.That(result).IsEqualTo(987654321L); @@ -474,9 +474,9 @@ public async Task GetNullableInt64_ByName_WithNegativeValue_ReturnsCorrectValue( { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableInt64 FROM TestData WHERE Id = 3"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableInt64("NullableInt64"); _ = await Assert.That(result).IsEqualTo(-9223372036854775808L); @@ -487,9 +487,9 @@ public async Task GetNullableString_ByIndex_WithValidValue_ReturnsCorrectValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableString FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableString(0); _ = await Assert.That(result).IsEqualTo("Not Null"); @@ -500,9 +500,9 @@ public async Task GetNullableString_ByName_WithNullValue_ReturnsDefaultValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableString FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableString("NullableString", "Default String"); _ = await Assert.That(result).IsEqualTo("Default String"); @@ -513,9 +513,9 @@ public async Task GetNullableString_ByName_WithValidValue_ReturnsCorrectValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableString FROM TestData WHERE Id = 3"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableString("NullableString"); _ = await Assert.That(result).IsEqualTo("Another String"); @@ -526,9 +526,9 @@ public async Task GetNullableValue_ByIndex_WithValidValue_ReturnsCorrectValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT Name FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableValue(0); _ = await Assert.That(result).IsEqualTo("John Doe"); @@ -539,9 +539,9 @@ public async Task GetNullableValue_ByName_WithNullValue_ReturnsDefaultValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableString FROM TestData WHERE Id = 2"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableValue("NullableString", "Default Object"); _ = await Assert.That(result).IsEqualTo("Default Object"); @@ -552,9 +552,9 @@ public async Task GetNullableValue_ByName_WithValidValue_ReturnsCorrectValue() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT Age FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableValue("Age"); _ = await Assert.That(result).IsEqualTo(30L); // SQLite returns INTEGER as long @@ -575,9 +575,9 @@ public async Task GetNullableBoolean_WithNullName_ThrowsArgumentNullException() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var exception = Assert.Throws(() => reader.GetNullableBoolean(null!)); @@ -589,9 +589,9 @@ public async Task GetNullableBoolean_WithEmptyName_ThrowsArgumentException() { using var command = _connection.CreateCommand(); command.CommandText = "SELECT * FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var exception = Assert.Throws(() => reader.GetNullableBoolean("")); @@ -603,9 +603,9 @@ public async Task GetNullableBoolean_WithInvalidIndex_ThrowsArgumentOutOfRangeEx { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableBoolean FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); _ = Assert.Throws(() => reader.GetNullableBoolean(10)); } @@ -615,9 +615,9 @@ public async Task GetNullableBoolean_WithInvalidColumnName_ThrowsArgumentOutOfRa { using var command = _connection.CreateCommand(); command.CommandText = "SELECT NullableBoolean FROM TestData WHERE Id = 1"; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); _ = Assert.Throws(() => reader.GetNullableBoolean("NonExistentColumn")); } @@ -633,9 +633,9 @@ public async Task GetNullableValues_MultipleColumns_ReturnsCorrectValues() NullableInt16, NullableInt32, NullableInt64, NullableString FROM TestData WHERE Id = 1 """; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var boolean = reader.GetNullableBoolean(0); var byteValue = reader.GetNullableByte(1); @@ -663,7 +663,7 @@ public async Task GetNullableValues_MultipleColumns_ReturnsCorrectValues() _ = await Assert.That(Math.Abs(doubleValue.Value - 123.456) < 0.001).IsTrue(); Assert.NotNull(floatValue); _ = await Assert.That(Math.Abs(floatValue.Value - 78.9f) < 0.1f).IsTrue(); - _ = await Assert.That(guidValue).IsEqualTo(Guid.Parse("550e8400-e29b-41d4-a716-446655440000")); + _ = await Assert.That(guidValue).IsEqualTo(new Guid(0x550e8400, 0xe29b, 0x41d4, 0xa7, 0x16, 0x44, 0x66, 0x55, 0x44, 0x0, 0x0) /* 550e8400-e29b-41d4-a716-446655440000 */); _ = await Assert.That(int16Value).IsEqualTo((short)32767); _ = await Assert.That(int32Value).IsEqualTo(2147483647); _ = await Assert.That(int64Value).IsEqualTo(9223372036854775807L); @@ -682,9 +682,9 @@ public async Task GetNullableValues_AllNullColumns_ReturnsDefaultValues() NullableInt16, NullableInt32, NullableInt64, NullableString FROM TestData WHERE Id = 2 """; - using var reader = await command.ExecuteReaderAsync(); + using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); - _ = await Assert.That(await reader.ReadAsync()).IsTrue(); + _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var boolean = reader.GetNullableBoolean("NullableBoolean", true); var byteValue = reader.GetNullableByte("NullableByte", (byte)100); diff --git a/tests/NetEvolve.Extensions.Data.Tests.Integration/NetEvolve.Extensions.Data.Tests.Integration.csproj b/tests/NetEvolve.Extensions.Data.Tests.Integration/NetEvolve.Extensions.Data.Tests.Integration.csproj index 05db53d..a65afd9 100644 --- a/tests/NetEvolve.Extensions.Data.Tests.Integration/NetEvolve.Extensions.Data.Tests.Integration.csproj +++ b/tests/NetEvolve.Extensions.Data.Tests.Integration/NetEvolve.Extensions.Data.Tests.Integration.csproj @@ -2,6 +2,7 @@ $(NetEvolve_TestTargetFrameworks) enable + $(NoWarn);MA0003;MA0042;RCS1261 diff --git a/tests/NetEvolve.Extensions.Data.Tests.Unit/DbDataReaderExtensionsTests.cs b/tests/NetEvolve.Extensions.Data.Tests.Unit/DbDataReaderExtensionsTests.cs index c5f83c7..2831872 100644 --- a/tests/NetEvolve.Extensions.Data.Tests.Unit/DbDataReaderExtensionsTests.cs +++ b/tests/NetEvolve.Extensions.Data.Tests.Unit/DbDataReaderExtensionsTests.cs @@ -135,7 +135,7 @@ public async Task GetFieldValueAsync_String_WhenValidName_ReturnsValue() .GetFieldValueAsync(ordinal, Arg.Any()) .Returns(Task.FromResult(expectedValue)); - var result = await reader.GetFieldValueAsync(name); + var result = await reader.GetFieldValueAsync(name).ConfigureAwait(false); _ = await Assert.That(result).IsEqualTo(expectedValue); } @@ -151,7 +151,7 @@ public async Task GetFieldValueAsync_String_WithCancellationToken_WhenValidName_ _ = reader.GetOrdinal(name).Returns(ordinal); _ = reader.GetFieldValueAsync(ordinal, cancellationToken).Returns(Task.FromResult(expectedValue)); - var result = await reader.GetFieldValueAsync(name, cancellationToken); + var result = await reader.GetFieldValueAsync(name, cancellationToken).ConfigureAwait(false); _ = await Assert.That(result).IsEqualTo(expectedValue); } @@ -165,7 +165,7 @@ public async Task GetFieldValueAsync_String_Theory_Expected(object? expected, st _ = reader.GetOrdinal(columnName).Returns(ordinal); _ = reader.GetFieldValueAsync(ordinal, Arg.Any()).Returns(fieldValue); - var result = await reader.GetFieldValueAsync(columnName); + var result = await reader.GetFieldValueAsync(columnName).ConfigureAwait(false); _ = await Assert.That(result).IsEqualTo(expected); } @@ -368,7 +368,7 @@ public async Task GetFieldValueOrDefaultAsync_Int_WhenColumnIsDBNull_ReturnsDefa var index = 0; _ = reader.IsDBNullAsync(index).Returns(Task.FromResult(true)); - var result = await reader.GetFieldValueOrDefaultAsync(index); + var result = await reader.GetFieldValueOrDefaultAsync(index).ConfigureAwait(false); Assert.Null(result); } @@ -382,7 +382,7 @@ public async Task GetFieldValueOrDefaultAsync_Int_WhenColumnIsNotDBNull_ReturnsV _ = reader.IsDBNullAsync(index).Returns(Task.FromResult(false)); _ = reader.GetFieldValueAsync(index).Returns(Task.FromResult(expectedValue)); - var result = await reader.GetFieldValueOrDefaultAsync(index); + var result = await reader.GetFieldValueOrDefaultAsync(index).ConfigureAwait(false); _ = await Assert.That(result).IsEqualTo(expectedValue); } @@ -397,7 +397,9 @@ public async Task GetFieldValueOrDefaultAsync_Int_WithCancellationToken_WhenColu _ = reader.IsDBNullAsync(index, cancellationToken).Returns(Task.FromResult(false)); _ = reader.GetFieldValueAsync(index, cancellationToken).Returns(Task.FromResult(expectedValue)); - var result = await reader.GetFieldValueOrDefaultAsync(index, cancellationToken: cancellationToken); + var result = await reader + .GetFieldValueOrDefaultAsync(index, cancellationToken: cancellationToken) + .ConfigureAwait(false); _ = await Assert.That(result).IsEqualTo(expectedValue); } @@ -418,7 +420,7 @@ public async Task GetFieldValueOrDefaultAsync_Int_Theory_Expected( _ = reader.GetFieldValueAsync(index).Returns(fieldValue); } - var result = await reader.GetFieldValueOrDefaultAsync(index); + var result = await reader.GetFieldValueOrDefaultAsync(index).ConfigureAwait(false); _ = await Assert.That(result).IsEqualTo(expected); } @@ -490,7 +492,7 @@ public async Task GetFieldValueOrDefaultAsync_String_WhenColumnIsDBNull_ReturnsD _ = reader.GetOrdinal(name).Returns(ordinal); _ = reader.IsDBNullAsync(ordinal).Returns(Task.FromResult(true)); - var result = await reader.GetFieldValueOrDefaultAsync(name); + var result = await reader.GetFieldValueOrDefaultAsync(name).ConfigureAwait(false); Assert.Null(result); } @@ -506,7 +508,7 @@ public async Task GetFieldValueOrDefaultAsync_String_WhenColumnIsNotDBNull_Retur _ = reader.IsDBNullAsync(ordinal).Returns(Task.FromResult(false)); _ = reader.GetFieldValueAsync(ordinal).Returns(Task.FromResult(expectedValue)); - var result = await reader.GetFieldValueOrDefaultAsync(name); + var result = await reader.GetFieldValueOrDefaultAsync(name).ConfigureAwait(false); _ = await Assert.That(result).IsEqualTo(expectedValue); } @@ -523,7 +525,9 @@ public async Task GetFieldValueOrDefaultAsync_String_WithCancellationToken_WhenC _ = reader.IsDBNullAsync(ordinal, cancellationToken).Returns(Task.FromResult(false)); _ = reader.GetFieldValueAsync(ordinal, cancellationToken).Returns(Task.FromResult(expectedValue)); - var result = await reader.GetFieldValueOrDefaultAsync(name, cancellationToken: cancellationToken); + var result = await reader + .GetFieldValueOrDefaultAsync(name, cancellationToken: cancellationToken) + .ConfigureAwait(false); _ = await Assert.That(result).IsEqualTo(expectedValue); } @@ -546,7 +550,7 @@ public async Task GetFieldValueOrDefaultAsync_String_Theory_Expected( _ = reader.GetFieldValueAsync(ordinal).Returns(fieldValue); } - var result = await reader.GetFieldValueOrDefaultAsync(columnName); + var result = await reader.GetFieldValueOrDefaultAsync(columnName).ConfigureAwait(false); _ = await Assert.That(result).IsEqualTo(expected); } diff --git a/tests/NetEvolve.Extensions.Data.Tests.Unit/NetEvolve.Extensions.Data.Tests.Unit.csproj b/tests/NetEvolve.Extensions.Data.Tests.Unit/NetEvolve.Extensions.Data.Tests.Unit.csproj index 949cb8f..30bf331 100644 --- a/tests/NetEvolve.Extensions.Data.Tests.Unit/NetEvolve.Extensions.Data.Tests.Unit.csproj +++ b/tests/NetEvolve.Extensions.Data.Tests.Unit/NetEvolve.Extensions.Data.Tests.Unit.csproj @@ -2,7 +2,7 @@ $(NetEvolve_TestTargetFrameworks) enable - $(NoWarn);TUnit0300; + $(NoWarn);MA0003;MA0042;RCS1261;TUnit0300 From 285b2cbb78506b68da22025330a0a41cced83027 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20St=C3=BChmer?= Date: Sun, 10 May 2026 21:53:09 +0200 Subject: [PATCH 3/3] refactor: Guid assertions for readability in tests Reformatted Guid constructor arguments and Assert.That chains in test methods to improve code readability. No changes to logic or test behavior. --- .../IDataRecordExtensionsIntegrationTests.cs | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/tests/NetEvolve.Extensions.Data.Tests.Integration/IDataRecordExtensionsIntegrationTests.cs b/tests/NetEvolve.Extensions.Data.Tests.Integration/IDataRecordExtensionsIntegrationTests.cs index d1fc459..4b7778b 100644 --- a/tests/NetEvolve.Extensions.Data.Tests.Integration/IDataRecordExtensionsIntegrationTests.cs +++ b/tests/NetEvolve.Extensions.Data.Tests.Integration/IDataRecordExtensionsIntegrationTests.cs @@ -348,7 +348,11 @@ public async Task GetNullableGuid_ByIndex_WithValidValue_ReturnsCorrectValue() _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); var result = reader.GetNullableGuid(0); - _ = await Assert.That(result).IsEqualTo(new Guid(0x550e8400, 0xe29b, 0x41d4, 0xa7, 0x16, 0x44, 0x66, 0x55, 0x44, 0x0, 0x0) /* 550e8400-e29b-41d4-a716-446655440000 */); + _ = await Assert + .That(result) + .IsEqualTo( + new Guid(0x550e8400, 0xe29b, 0x41d4, 0xa7, 0x16, 0x44, 0x66, 0x55, 0x44, 0x0, 0x0) /* 550e8400-e29b-41d4-a716-446655440000 */ + ); } [Test] @@ -359,7 +363,20 @@ public async Task GetNullableGuid_ByName_WithNullValue_ReturnsDefaultValue() using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false); _ = await Assert.That(await reader.ReadAsync().ConfigureAwait(false)).IsTrue(); - var defaultGuid = new Guid(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1) /* 00000000-0000-0000-0000-000000000001 */; + var defaultGuid = new Guid( + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x1 + ) /* 00000000-0000-0000-0000-000000000001 */ + ; var result = reader.GetNullableGuid("NullableGuid", defaultGuid); _ = await Assert.That(result).IsEqualTo(defaultGuid); @@ -663,7 +680,11 @@ public async Task GetNullableValues_MultipleColumns_ReturnsCorrectValues() _ = await Assert.That(Math.Abs(doubleValue.Value - 123.456) < 0.001).IsTrue(); Assert.NotNull(floatValue); _ = await Assert.That(Math.Abs(floatValue.Value - 78.9f) < 0.1f).IsTrue(); - _ = await Assert.That(guidValue).IsEqualTo(new Guid(0x550e8400, 0xe29b, 0x41d4, 0xa7, 0x16, 0x44, 0x66, 0x55, 0x44, 0x0, 0x0) /* 550e8400-e29b-41d4-a716-446655440000 */); + _ = await Assert + .That(guidValue) + .IsEqualTo( + new Guid(0x550e8400, 0xe29b, 0x41d4, 0xa7, 0x16, 0x44, 0x66, 0x55, 0x44, 0x0, 0x0) /* 550e8400-e29b-41d4-a716-446655440000 */ + ); _ = await Assert.That(int16Value).IsEqualTo((short)32767); _ = await Assert.That(int32Value).IsEqualTo(2147483647); _ = await Assert.That(int64Value).IsEqualTo(9223372036854775807L);