diff --git a/tests/NetEvolve.Arguments.Tests.Unit/ArgumentTests_ThrowIfNullOrEmpty.cs b/tests/NetEvolve.Arguments.Tests.Unit/ArgumentTests_ThrowIfNullOrEmpty.cs index 23adad3..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 @@ -58,6 +59,28 @@ public void ThrowIfNullOrEmpty_WhenIEnumerableNull_ThrowsArgumentNullException() _ = Assert.Throws(nameof(argument), Act); } + [Test] + [MethodDataSource(nameof(ThrowIfNullOrEmptyEnumerableData))] + public void ThrowIfNullOrEmpty_WhenIEnumerableEmpty_ThrowsArgumentException(IEnumerable? argument) + { + // Act + void Act() => Argument.ThrowIfNullOrEmpty(argument); + + // Assert + _ = 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()];