From 59f7fb2078e20e30cf156e202ef779e5ec568b11 Mon Sep 17 00:00:00 2001 From: Tom Longhurst <30480171+thomhurst@users.noreply.github.com> Date: Sun, 13 Apr 2025 11:50:57 +0100 Subject: [PATCH 1/2] `Assert.That(enumerable).HasCount(int)` overload --- TUnit.Assertions.Tests/TypeInferenceTests.cs | 3 ++- .../Assertions/Collections/HasExtensions_Enumerable.cs | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/TUnit.Assertions.Tests/TypeInferenceTests.cs b/TUnit.Assertions.Tests/TypeInferenceTests.cs index dfc4cb980b..bcabf61055 100644 --- a/TUnit.Assertions.Tests/TypeInferenceTests.cs +++ b/TUnit.Assertions.Tests/TypeInferenceTests.cs @@ -25,7 +25,8 @@ await Assert.That(enumerable) .HasDistinctItems() .And .HasSingleItem() - .And.HasCount().EqualTo(0); + .And.HasCount().EqualTo(0) + .And.HasCount(0); } catch { diff --git a/TUnit.Assertions/Assertions/Collections/HasExtensions_Enumerable.cs b/TUnit.Assertions/Assertions/Collections/HasExtensions_Enumerable.cs index 655742e5d4..b1e989b9a9 100644 --- a/TUnit.Assertions/Assertions/Collections/HasExtensions_Enumerable.cs +++ b/TUnit.Assertions/Assertions/Collections/HasExtensions_Enumerable.cs @@ -31,4 +31,9 @@ public static EnumerableCount, TInner> HasCount(this valueSource.AppendExpression("HasCount()"); return new EnumerableCount, TInner>(valueSource); } + + public static InvokableValueAssertionBuilder> HasCount(this IValueSource> valueSource, int count) + { + return HasCount(valueSource).EqualTo(count); + } } \ No newline at end of file From eadead2e87f8144fc8c260a4d60ddf9ea1431f28 Mon Sep 17 00:00:00 2001 From: Tom Longhurst <30480171+thomhurst@users.noreply.github.com> Date: Sun, 13 Apr 2025 11:53:35 +0100 Subject: [PATCH 2/2] Update Public API --- ....Assertions_Library_Has_No_API_Changes.DotNet2_0.verified.txt | 1 + ....Assertions_Library_Has_No_API_Changes.DotNet8_0.verified.txt | 1 + ....Assertions_Library_Has_No_API_Changes.DotNet9_0.verified.txt | 1 + 3 files changed, 3 insertions(+) diff --git a/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet2_0.verified.txt b/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet2_0.verified.txt index 2b83caea8e..61d8ea96bf 100644 --- a/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet2_0.verified.txt +++ b/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet2_0.verified.txt @@ -1324,6 +1324,7 @@ namespace TUnit.Assertions.Extensions { public static TUnit.Assertions.Extensions.EnumerableCount, TInner> HasCount(this TUnit.Assertions.AssertConditions.Interfaces.IValueSource> valueSource) { } public static TUnit.Assertions.Extensions.EnumerableCount, TInner> HasCount(this TUnit.Assertions.AssertConditions.Interfaces.IValueSource> valueSource) { } + public static TUnit.Assertions.AssertionBuilders.InvokableValueAssertionBuilder> HasCount(this TUnit.Assertions.AssertConditions.Interfaces.IValueSource> valueSource, int count) { } public static TUnit.Assertions.AssertionBuilders.InvokableValueAssertionBuilder> HasDistinctItems(this TUnit.Assertions.AssertConditions.Interfaces.IValueSource> valueSource) { } public static TUnit.Assertions.AssertionBuilders.InvokableValueAssertionBuilder> HasDistinctItems(this TUnit.Assertions.AssertConditions.Interfaces.IValueSource> valueSource) { } public static TUnit.Assertions.AssertionBuilders.InvokableValueAssertionBuilder> HasDistinctItems(this TUnit.Assertions.AssertConditions.Interfaces.IValueSource> valueSource, System.Collections.Generic.IEqualityComparer equalityComparer) { } diff --git a/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet8_0.verified.txt b/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet8_0.verified.txt index 205805c621..fd576d3860 100644 --- a/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet8_0.verified.txt +++ b/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet8_0.verified.txt @@ -1363,6 +1363,7 @@ namespace TUnit.Assertions.Extensions { public static TUnit.Assertions.Extensions.EnumerableCount, TInner> HasCount(this TUnit.Assertions.AssertConditions.Interfaces.IValueSource> valueSource) { } public static TUnit.Assertions.Extensions.EnumerableCount, TInner> HasCount(this TUnit.Assertions.AssertConditions.Interfaces.IValueSource> valueSource) { } + public static TUnit.Assertions.AssertionBuilders.InvokableValueAssertionBuilder> HasCount(this TUnit.Assertions.AssertConditions.Interfaces.IValueSource> valueSource, int count) { } public static TUnit.Assertions.AssertionBuilders.InvokableValueAssertionBuilder> HasDistinctItems(this TUnit.Assertions.AssertConditions.Interfaces.IValueSource> valueSource) { } public static TUnit.Assertions.AssertionBuilders.InvokableValueAssertionBuilder> HasDistinctItems(this TUnit.Assertions.AssertConditions.Interfaces.IValueSource> valueSource) { } public static TUnit.Assertions.AssertionBuilders.InvokableValueAssertionBuilder> HasDistinctItems(this TUnit.Assertions.AssertConditions.Interfaces.IValueSource> valueSource, System.Collections.Generic.IEqualityComparer equalityComparer) { } diff --git a/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet9_0.verified.txt b/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet9_0.verified.txt index 8468a472d9..c1d6abfd7f 100644 --- a/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet9_0.verified.txt +++ b/TUnit.PublicAPI/Tests.Assertions_Library_Has_No_API_Changes.DotNet9_0.verified.txt @@ -1363,6 +1363,7 @@ namespace TUnit.Assertions.Extensions { public static TUnit.Assertions.Extensions.EnumerableCount, TInner> HasCount(this TUnit.Assertions.AssertConditions.Interfaces.IValueSource> valueSource) { } public static TUnit.Assertions.Extensions.EnumerableCount, TInner> HasCount(this TUnit.Assertions.AssertConditions.Interfaces.IValueSource> valueSource) { } + public static TUnit.Assertions.AssertionBuilders.InvokableValueAssertionBuilder> HasCount(this TUnit.Assertions.AssertConditions.Interfaces.IValueSource> valueSource, int count) { } public static TUnit.Assertions.AssertionBuilders.InvokableValueAssertionBuilder> HasDistinctItems(this TUnit.Assertions.AssertConditions.Interfaces.IValueSource> valueSource) { } public static TUnit.Assertions.AssertionBuilders.InvokableValueAssertionBuilder> HasDistinctItems(this TUnit.Assertions.AssertConditions.Interfaces.IValueSource> valueSource) { } public static TUnit.Assertions.AssertionBuilders.InvokableValueAssertionBuilder> HasDistinctItems(this TUnit.Assertions.AssertConditions.Interfaces.IValueSource> valueSource, System.Collections.Generic.IEqualityComparer equalityComparer) { }