From 1ff37057ae76ec0d88e341de52fe7f1f5331d3d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20St=C3=BChmer?= Date: Thu, 20 Nov 2025 16:17:14 +0100 Subject: [PATCH 1/2] test: Extended `ThrowIfNullOrEmpty` tests --- .../ArgumentTests_ThrowIfNullOrEmpty.cs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/tests/NetEvolve.Arguments.Tests.Unit/ArgumentTests_ThrowIfNullOrEmpty.cs b/tests/NetEvolve.Arguments.Tests.Unit/ArgumentTests_ThrowIfNullOrEmpty.cs index 23adad3..6a6a3e3 100644 --- a/tests/NetEvolve.Arguments.Tests.Unit/ArgumentTests_ThrowIfNullOrEmpty.cs +++ b/tests/NetEvolve.Arguments.Tests.Unit/ArgumentTests_ThrowIfNullOrEmpty.cs @@ -58,9 +58,17 @@ public void ThrowIfNullOrEmpty_WhenIEnumerableNull_ThrowsArgumentNullException() _ = Assert.Throws(nameof(argument), Act); } + [Test] + [MethodDataSource(nameof(ThrowIfNullOrEmptyEnumerableData))] + public void ThrowIfNullOrEmpty_WhenIEnumerableEmpty_ThrowsArgumentNullException(IEnumerable? argument) + { + // Act + void Act() => Argument.ThrowIfNullOrEmpty(argument); + + // Assert + _ = Assert.Throws(nameof(argument), Act); + } + public static IEnumerable> ThrowIfNullOrEmptyEnumerableData => [Array.Empty(), new List(), new HashSet()]; - - public static IEnumerable> ThrowIfNullOrEmptyEnumerableWithData => - [new[] { "argument" }, new List { "argument" }, new HashSet { "argument" }]; } From 7bc9d5e6b40a51df260db819e1b0a90b6bbca353 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20St=C3=BChmer?= Date: Thu, 20 Nov 2025 16:23:11 +0100 Subject: [PATCH 2/2] fix(test): Wrong Exception Type --- .../ArgumentTests_ThrowIfNullOrEmpty.cs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/tests/NetEvolve.Arguments.Tests.Unit/ArgumentTests_ThrowIfNullOrEmpty.cs b/tests/NetEvolve.Arguments.Tests.Unit/ArgumentTests_ThrowIfNullOrEmpty.cs index 6a6a3e3..acfff47 100644 --- a/tests/NetEvolve.Arguments.Tests.Unit/ArgumentTests_ThrowIfNullOrEmpty.cs +++ b/tests/NetEvolve.Arguments.Tests.Unit/ArgumentTests_ThrowIfNullOrEmpty.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; +using System.Threading.Tasks; using TUnit.Assertions.Extensions; public sealed partial class ArgumentTests @@ -60,15 +61,29 @@ public void ThrowIfNullOrEmpty_WhenIEnumerableNull_ThrowsArgumentNullException() [Test] [MethodDataSource(nameof(ThrowIfNullOrEmptyEnumerableData))] - public void ThrowIfNullOrEmpty_WhenIEnumerableEmpty_ThrowsArgumentNullException(IEnumerable? argument) + public void ThrowIfNullOrEmpty_WhenIEnumerableEmpty_ThrowsArgumentException(IEnumerable? argument) { // Act void Act() => Argument.ThrowIfNullOrEmpty(argument); // Assert - _ = Assert.Throws(nameof(argument), Act); + _ = Assert.Throws(nameof(argument), Act); + } + + [Test] + [MethodDataSource(nameof(ThrowIfNullOrEmptyEnumerableWithData))] + public async Task ThrowIfNullOrEmpty_WhenIEnumerableEmpty_Expected(IEnumerable? argument) + { + // Act + Argument.ThrowIfNullOrEmpty(argument); + + // Assert + _ = await Assert.That(argument).IsNotNull().And.IsNotEmpty(); } public static IEnumerable> ThrowIfNullOrEmptyEnumerableData => [Array.Empty(), new List(), new HashSet()]; + + public static IEnumerable> ThrowIfNullOrEmptyEnumerableWithData => + [new[] { "argument" }, new List { "argument" }, new HashSet { "argument" }]; }