From c4e29fdee2ba5c28f77d3a02f9efd56832427b0e Mon Sep 17 00:00:00 2001 From: Brad Wilson Date: Thu, 7 Dec 2023 09:46:13 -0800 Subject: [PATCH] xunit/xunit#2811: Add tests for SortedSet and ImmutableSortedSet overloads for Assert.Contains/DoesNotContain (v2) --- src/xunit.assert/Asserts | 2 +- test/test.xunit.assert/Asserts/SetAssertsTests.cs | 10 +++++++++- test/test.xunit.assert/Extensions/SetExtensions.cs | 7 +++++++ 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 test/test.xunit.assert/Extensions/SetExtensions.cs diff --git a/src/xunit.assert/Asserts b/src/xunit.assert/Asserts index 1dab747d3..1f66b837a 160000 --- a/src/xunit.assert/Asserts +++ b/src/xunit.assert/Asserts @@ -1 +1 @@ -Subproject commit 1dab747d384b6f1512df50f04cf2817864657f7a +Subproject commit 1f66b837aa867c27d2ce835587d3d0d05969bfa9 diff --git a/test/test.xunit.assert/Asserts/SetAssertsTests.cs b/test/test.xunit.assert/Asserts/SetAssertsTests.cs index d0b653473..18cdc672f 100644 --- a/test/test.xunit.assert/Asserts/SetAssertsTests.cs +++ b/test/test.xunit.assert/Asserts/SetAssertsTests.cs @@ -18,11 +18,13 @@ public static void ValueInSet() Assert.Contains("FORTY-two", set); Assert.Contains("FORTY-two", (ISet)set); + Assert.Contains("FORTY-two", set.ToSortedSet(StringComparer.OrdinalIgnoreCase)); #if NET5_0_OR_GREATER Assert.Contains("FORTY-two", (IReadOnlySet)set); #endif #if XUNIT_IMMUTABLE_COLLECTIONS Assert.Contains("FORTY-two", set.ToImmutableHashSet(StringComparer.OrdinalIgnoreCase)); + Assert.Contains("FORTY-two", set.ToImmutableSortedSet(StringComparer.OrdinalIgnoreCase)); #endif } @@ -46,11 +48,13 @@ void assertFailure(Action action) assertFailure(() => Assert.Contains("FORTY-two", set)); assertFailure(() => Assert.Contains("FORTY-two", (ISet)set)); + assertFailure(() => Assert.Contains("FORTY-two", set.ToSortedSet())); #if NET5_0_OR_GREATER assertFailure(() => Assert.Contains("FORTY-two", (IReadOnlySet)set)); #endif #if XUNIT_IMMUTABLE_COLLECTIONS assertFailure(() => Assert.Contains("FORTY-two", set.ToImmutableHashSet())); + assertFailure(() => Assert.Contains("FORTY-two", set.ToImmutableSortedSet())); #endif } } @@ -64,11 +68,13 @@ public static void ValueNotInSet() Assert.DoesNotContain("FORTY-two", set); Assert.DoesNotContain("FORTY-two", (ISet)set); + Assert.DoesNotContain("FORTY-two", set.ToSortedSet()); #if NET5_0_OR_GREATER Assert.DoesNotContain("FORTY-two", (IReadOnlySet)set); #endif #if XUNIT_IMMUTABLE_COLLECTIONS - Assert.DoesNotContain("FORTY-two", set.ToImmutableHashSet(StringComparer.OrdinalIgnoreCase)); + Assert.DoesNotContain("FORTY-two", set.ToImmutableHashSet()); + Assert.DoesNotContain("FORTY-two", set.ToImmutableSortedSet()); #endif } @@ -92,11 +98,13 @@ void assertFailure(Action action) assertFailure(() => Assert.DoesNotContain("FORTY-two", set)); assertFailure(() => Assert.DoesNotContain("FORTY-two", (ISet)set)); + assertFailure(() => Assert.DoesNotContain("FORTY-two", set.ToSortedSet(StringComparer.OrdinalIgnoreCase))); #if NET5_0_OR_GREATER assertFailure(() => Assert.DoesNotContain("FORTY-two", (IReadOnlySet)set)); #endif #if XUNIT_IMMUTABLE_COLLECTIONS assertFailure(() => Assert.DoesNotContain("FORTY-two", set.ToImmutableHashSet(StringComparer.OrdinalIgnoreCase))); + assertFailure(() => Assert.DoesNotContain("FORTY-two", set.ToImmutableSortedSet(StringComparer.OrdinalIgnoreCase))); #endif } } diff --git a/test/test.xunit.assert/Extensions/SetExtensions.cs b/test/test.xunit.assert/Extensions/SetExtensions.cs new file mode 100644 index 000000000..879c07a6e --- /dev/null +++ b/test/test.xunit.assert/Extensions/SetExtensions.cs @@ -0,0 +1,7 @@ +using System.Collections.Generic; + +internal static class SetExtensions +{ + public static SortedSet ToSortedSet(this ISet set, IComparer? comparer = null) => + new SortedSet(set, comparer); +}