diff --git a/.github/dependabot.yml b/.github/dependabot.yml index c211b0c..ba501c6 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -7,6 +7,13 @@ updates: commit-message: prefix: "Chore(deps): " include: "scope" + ignore: + - dependency-name: "Microsoft.CodeAnalysis.Analyzers" + update-types: ["version-update:semver-major", "version-update:semver-minor"] + - dependency-name: "Microsoft.CodeAnalysis.CSharp" + update-types: ["version-update:semver-major", "version-update:semver-minor"] + - dependency-name: "Microsoft.CodeAnalysis.Common" + update-types: ["version-update:semver-major", "version-update:semver-minor"] - package-ecosystem: "npm" directory: "/" diff --git a/CodeOfChaos.Extensions.slnx b/CodeOfChaos.Extensions.slnx index 77222af..6cbe95e 100644 --- a/CodeOfChaos.Extensions.slnx +++ b/CodeOfChaos.Extensions.slnx @@ -5,6 +5,7 @@ + diff --git a/Directory.Packages.props b/Directory.Packages.props index d443bb0..8929402 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -23,12 +23,9 @@ - + - - - @@ -37,7 +34,11 @@ - + + + + + \ No newline at end of file diff --git a/tests/Tests.CodeOfChaos.Extensions.AspNetCore.Components/EventCallbacks/EventCallbackDebouncerGenericTests.cs b/tests/Tests.CodeOfChaos.Extensions.AspNetCore.Components/EventCallbacks/EventCallbackDebouncerGenericTests.cs index a178b35..7d3b4cd 100644 --- a/tests/Tests.CodeOfChaos.Extensions.AspNetCore.Components/EventCallbacks/EventCallbackDebouncerGenericTests.cs +++ b/tests/Tests.CodeOfChaos.Extensions.AspNetCore.Components/EventCallbacks/EventCallbackDebouncerGenericTests.cs @@ -88,7 +88,7 @@ public async Task GenericDebouncer_ConcurrentValues_ShouldBeThreadSafe() { await debouncer.FlushAsync(); // Assert - await Assert.That(receivedValues).HasCount().EqualTo(1); + await Assert.That(receivedValues).Count().IsEqualTo(1); await debouncer.DisposeAsync(); } diff --git a/tests/Tests.CodeOfChaos.Extensions.AspNetCore.Components/EventCallbacks/EventCallbackDebouncerTests.cs b/tests/Tests.CodeOfChaos.Extensions.AspNetCore.Components/EventCallbacks/EventCallbackDebouncerTests.cs index 044a5b2..fbc36b8 100644 --- a/tests/Tests.CodeOfChaos.Extensions.AspNetCore.Components/EventCallbacks/EventCallbackDebouncerTests.cs +++ b/tests/Tests.CodeOfChaos.Extensions.AspNetCore.Components/EventCallbacks/EventCallbackDebouncerTests.cs @@ -160,6 +160,6 @@ public async Task InvocationDuringDebounce_ShouldCancelPrevious_EventCallback() await debouncer.FlushAsync(); // Assert - await Assert.That(executionTimes).HasCount().EqualTo(1); + await Assert.That(executionTimes).Count().IsEqualTo(1); } } diff --git a/tests/Tests.CodeOfChaos.Extensions.FluentValidation/ValidatorExtensionTests.cs b/tests/Tests.CodeOfChaos.Extensions.FluentValidation/ValidatorExtensionTests.cs index 42cf260..c091756 100644 --- a/tests/Tests.CodeOfChaos.Extensions.FluentValidation/ValidatorExtensionTests.cs +++ b/tests/Tests.CodeOfChaos.Extensions.FluentValidation/ValidatorExtensionTests.cs @@ -54,7 +54,7 @@ public async Task TryValidate_ValidInstance_ReturnsTrueAndNoFailures() { [Test] public async Task TryValidate_InvalidInstance_ReturnsFalseAndFailures() { - bool result = _mockedValidator.TryValidate(InvalidInstance, out List? failures); + bool result = _mockedValidator.TryValidate(InvalidInstance, out List failures); await Assert.That(result).IsFalse(); await Assert.That(failures).IsEquivalentTo(ValidationFailures); diff --git a/tests/Tests.CodeOfChaos.Extensions/Debouncers/Regular/ActionDebouncerGenericTests.cs b/tests/Tests.CodeOfChaos.Extensions/Debouncers/Regular/ActionDebouncerGenericTests.cs index 564e192..f485081 100644 --- a/tests/Tests.CodeOfChaos.Extensions/Debouncers/Regular/ActionDebouncerGenericTests.cs +++ b/tests/Tests.CodeOfChaos.Extensions/Debouncers/Regular/ActionDebouncerGenericTests.cs @@ -66,7 +66,7 @@ public async Task GenericDebouncer_ConcurrentValues_ShouldBeThreadSafe() { await debouncer.FlushAsync(); // Assert - await Assert.That(receivedValues).HasCount().EqualTo(1); + await Assert.That(receivedValues).Count().IsEqualTo(1); await debouncer.DisposeAsync(); } diff --git a/tests/Tests.CodeOfChaos.Extensions/Debouncers/Regular/ActionDebouncerTests.cs b/tests/Tests.CodeOfChaos.Extensions/Debouncers/Regular/ActionDebouncerTests.cs index 0aab771..d9d0f83 100644 --- a/tests/Tests.CodeOfChaos.Extensions/Debouncers/Regular/ActionDebouncerTests.cs +++ b/tests/Tests.CodeOfChaos.Extensions/Debouncers/Regular/ActionDebouncerTests.cs @@ -145,6 +145,6 @@ public async Task InvocationDuringDebounce_ShouldCancelPrevious_Action() { await debouncer.FlushAsync(); // Assert - await Assert.That(executionTimes).HasCount().EqualTo(1); + await Assert.That(executionTimes).Count().IsEqualTo(1); } } diff --git a/tests/Tests.CodeOfChaos.Extensions/Debouncers/Regular/FuncDebouncerGenericTests.cs b/tests/Tests.CodeOfChaos.Extensions/Debouncers/Regular/FuncDebouncerGenericTests.cs index 1d707d4..b155a28 100644 --- a/tests/Tests.CodeOfChaos.Extensions/Debouncers/Regular/FuncDebouncerGenericTests.cs +++ b/tests/Tests.CodeOfChaos.Extensions/Debouncers/Regular/FuncDebouncerGenericTests.cs @@ -69,7 +69,7 @@ public async Task GenericDebouncer_ConcurrentValues_ShouldBeThreadSafe() { await debouncer.FlushAsync(); // Assert - await Assert.That(receivedValues).HasCount().EqualTo(1); + await Assert.That(receivedValues).Count().IsEqualTo(1); await debouncer.DisposeAsync(); } diff --git a/tests/Tests.CodeOfChaos.Extensions/Debouncers/Regular/FuncDebouncerTests.cs b/tests/Tests.CodeOfChaos.Extensions/Debouncers/Regular/FuncDebouncerTests.cs index 981dcef..229d98d 100644 --- a/tests/Tests.CodeOfChaos.Extensions/Debouncers/Regular/FuncDebouncerTests.cs +++ b/tests/Tests.CodeOfChaos.Extensions/Debouncers/Regular/FuncDebouncerTests.cs @@ -144,7 +144,7 @@ public async Task InvocationDuringDebounce_ShouldCancelPrevious_Func() { await debouncer.FlushAsync(); // Assert - await Assert.That(executionTimes).HasCount().EqualTo(1); + await Assert.That(executionTimes).Count().IsEqualTo(1); } [Test] diff --git a/tests/Tests.CodeOfChaos.Extensions/Debouncers/Throttled/ThrottledDebouncerGenericTests.cs b/tests/Tests.CodeOfChaos.Extensions/Debouncers/Throttled/ThrottledDebouncerGenericTests.cs index 043f127..7d8ba7c 100644 --- a/tests/Tests.CodeOfChaos.Extensions/Debouncers/Throttled/ThrottledDebouncerGenericTests.cs +++ b/tests/Tests.CodeOfChaos.Extensions/Debouncers/Throttled/ThrottledDebouncerGenericTests.cs @@ -84,7 +84,7 @@ public async Task ThrottledDebouncer_ThrottleBehavior_ShouldExecuteImmediatelyAf await debouncer.FlushAsync(); // Ensure second execution has completed // Assert - await Assert.That(receivedValues).HasCount().GreaterThanOrEqualTo(2); + await Assert.That(receivedValues).Count().IsGreaterThanOrEqualTo(2); await Assert.That(receivedValues[0].Value).IsEqualTo("first"); await Assert.That(receivedValues[^1].Value).IsEqualTo("fourth"); @@ -123,7 +123,7 @@ public async Task ThrottledDebouncer_ContinuousRequests_ShouldRespectThrottleInt // Assert await Assert.That(executionCount).IsGreaterThan(1); - await Assert.That(receivedValues).HasCount().EqualTo(executionCount); + await Assert.That(receivedValues).Count().IsEqualTo(executionCount); } [Test] @@ -171,7 +171,7 @@ await Task.WhenAll( // Assert await Assert.That(executionCount).IsGreaterThanOrEqualTo(2); await Assert.That(executionCount).IsLessThanOrEqualTo(3); - await Assert.That(receivedValues).HasCount().EqualTo(executionCount); + await Assert.That(receivedValues).Count().IsEqualTo(executionCount); } @@ -246,7 +246,7 @@ public async Task ThrottledDebouncer_DefaultValues_ShouldUseDefaultDebounceAndTh await debouncer.FlushAsync(); // Assert - await Assert.That(executionTimes).HasCount().EqualTo(1); + await Assert.That(executionTimes).Count().IsEqualTo(1); double executionDelay = (executionTimes[0] - startTime).TotalMilliseconds; await Assert.That(executionDelay).IsGreaterThanOrEqualTo(95); // Account for timing variations } diff --git a/tests/Tests.CodeOfChaos.Extensions/ReflectionHelperTests.cs b/tests/Tests.CodeOfChaos.Extensions/ReflectionHelperTests.cs index 78cce99..459fb9a 100644 --- a/tests/Tests.CodeOfChaos.Extensions/ReflectionHelperTests.cs +++ b/tests/Tests.CodeOfChaos.Extensions/ReflectionHelperTests.cs @@ -1,6 +1,7 @@ // --------------------------------------------------------------------------------------------------------------------- // Imports // --------------------------------------------------------------------------------------------------------------------- +using System.Diagnostics.CodeAnalysis; using System.Reflection; namespace Tests.CodeOfChaos.Extensions; @@ -9,7 +10,10 @@ namespace Tests.CodeOfChaos.Extensions; // --------------------------------------------------------------------------------------------------------------------- public class ReflectionHelperTests { private class TestClass { - public TestClass(string nonNullable, string? nullable, int valueType, int? nullableValueType) {}// ReSharper disable UnusedParameter.Local + [SuppressMessage("ReSharper", "UnusedParameter.Local")] + public TestClass(string nonNullable, string? nullable, int valueType, int? nullableValueType) {} + + [SuppressMessage("ReSharper", "UnusedParameter.Local")] public static void MethodWithNullability( string nonNullable, string? nullable, diff --git a/tests/Tests.CodeOfChaos.Extensions/SpanLINQ/SpanLINQAllTests.cs b/tests/Tests.CodeOfChaos.Extensions/SpanLINQ/SpanLINQAllTests.cs index 6a78716..b45dab3 100644 --- a/tests/Tests.CodeOfChaos.Extensions/SpanLINQ/SpanLINQAllTests.cs +++ b/tests/Tests.CodeOfChaos.Extensions/SpanLINQ/SpanLINQAllTests.cs @@ -21,7 +21,7 @@ public async Task All() { bool result = span.All(static x => x % 2 == 0); // Assert - await Assert.That(result).IsTrue();; + await Assert.That(result).IsTrue(); } [Test] diff --git a/tests/Tests.CodeOfChaos.Extensions/TaskHelperTests.cs b/tests/Tests.CodeOfChaos.Extensions/TaskHelperTests.cs index b3a020e..ca5858b 100644 --- a/tests/Tests.CodeOfChaos.Extensions/TaskHelperTests.cs +++ b/tests/Tests.CodeOfChaos.Extensions/TaskHelperTests.cs @@ -27,7 +27,6 @@ public async Task FromTaskOrDefault_ShouldReturnDefault_int(int? input, int? exp [Arguments(false, false)] public async Task FromTaskOrDefault_ShouldReturnExpected_ReferenceType(bool setAsDefault, bool expectedIsNull) { // Arrange - var expected = new TestClass(); Task task = Task.FromResult(setAsDefault ? null : new TestClass()); // Act