diff --git a/Pipeline/Build.cs b/Pipeline/Build.cs
index a07a0cc08..25356ef59 100644
--- a/Pipeline/Build.cs
+++ b/Pipeline/Build.cs
@@ -19,7 +19,7 @@ partial class Build : NukeBuild
///
/// Afterward, you can update the package reference in `Directory.Packages.props` and reset this flag.
///
- readonly BuildScope BuildScope = BuildScope.Default;
+ readonly BuildScope BuildScope = BuildScope.CoreOnly;
[Parameter("Github Token")] readonly string GithubToken;
diff --git a/Source/aweXpect.Core/Core/Helpers/ExceptionHelpers.cs b/Source/aweXpect.Core/Core/Helpers/ExceptionHelpers.cs
index db14690ea..50aac87a5 100644
--- a/Source/aweXpect.Core/Core/Helpers/ExceptionHelpers.cs
+++ b/Source/aweXpect.Core/Core/Helpers/ExceptionHelpers.cs
@@ -11,4 +11,10 @@ public static TException LogTrace(this TException exception)
Customize.aweXpect.TraceWriter.Value?.WriteException(exception);
return exception;
}
+ public static bool IsDefault(this T value) where T : struct
+ {
+ bool isDefault = value.Equals(default(T));
+
+ return isDefault;
+ }
}
diff --git a/Source/aweXpect.Core/Options/CollectionMatchOptions.AnyOrderCollectionMatcher.cs b/Source/aweXpect.Core/Options/CollectionMatchOptions.AnyOrderCollectionMatcher.cs
index e52ed4ba2..54e31ccf6 100644
--- a/Source/aweXpect.Core/Options/CollectionMatchOptions.AnyOrderCollectionMatcher.cs
+++ b/Source/aweXpect.Core/Options/CollectionMatchOptions.AnyOrderCollectionMatcher.cs
@@ -57,7 +57,7 @@ public bool VerifyComplete(string it, IOptionsEquality options, int maximumN
if (!_equivalenceRelations.HasFlag(EquivalenceRelations.IsContainedIn))
{
- errors.AddRange(MissingItemsError(_totalExpectedCount, _missingItems, _equivalenceRelations));
+ errors.AddRange(MissingItemsError(_totalExpectedCount, _missingItems, _equivalenceRelations, false));
}
else if (_equivalenceRelations.HasFlag(EquivalenceRelations.IsContainedInProperly) && !_missingItems.Any())
{
diff --git a/Source/aweXpect.Core/Options/CollectionMatchOptions.AnyOrderIgnoreDuplicatesCollectionMatcher.cs b/Source/aweXpect.Core/Options/CollectionMatchOptions.AnyOrderIgnoreDuplicatesCollectionMatcher.cs
index 4d6b9ce9b..7d2169700 100644
--- a/Source/aweXpect.Core/Options/CollectionMatchOptions.AnyOrderIgnoreDuplicatesCollectionMatcher.cs
+++ b/Source/aweXpect.Core/Options/CollectionMatchOptions.AnyOrderIgnoreDuplicatesCollectionMatcher.cs
@@ -64,7 +64,7 @@ public bool VerifyComplete(string it, IOptionsEquality options, int maximumN
if (!_equivalenceRelations.HasFlag(EquivalenceRelations.IsContainedIn))
{
- errors.AddRange(MissingItemsError(_totalExpectedCount, _missingItems, _equivalenceRelations));
+ errors.AddRange(MissingItemsError(_totalExpectedCount, _missingItems, _equivalenceRelations, true));
}
else if (_equivalenceRelations.HasFlag(EquivalenceRelations.IsContainedInProperly) && !_missingItems.Any())
{
diff --git a/Source/aweXpect.Core/Options/CollectionMatchOptions.SameOrderCollectionMatcher.cs b/Source/aweXpect.Core/Options/CollectionMatchOptions.SameOrderCollectionMatcher.cs
index 2f32f296c..1d51f9a79 100644
--- a/Source/aweXpect.Core/Options/CollectionMatchOptions.SameOrderCollectionMatcher.cs
+++ b/Source/aweXpect.Core/Options/CollectionMatchOptions.SameOrderCollectionMatcher.cs
@@ -1,7 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Text.RegularExpressions;
using aweXpect.Core;
+using aweXpect.Core.Helpers;
namespace aweXpect.Options;
@@ -14,6 +16,7 @@ private sealed class SameOrderCollectionMatcher : ICollectionMatcher _foundItems = new();
+ private readonly bool _ignoreInterspersedItems;
private readonly Dictionary _incorrectItems = new();
private readonly List _matchingItems = new();
private readonly List _missingItems = new();
@@ -21,11 +24,14 @@ private sealed class SameOrderCollectionMatcher : ICollectionMatcher expected)
+ IEnumerable expected,
+ bool ignoreInterspersedItems)
{
_equivalenceRelations = equivalenceRelation;
+ _ignoreInterspersedItems = ignoreInterspersedItems;
_expectedItems = expected.ToArray();
_totalExpectedItems = _expectedItems.Length;
}
@@ -43,6 +49,10 @@ public bool Verify(string it, T value, IOptionsEquality options, int maximum
{
VerifyTheCurrentValueIsEqualToTheExpectedValue(value);
}
+ else if (_ignoreInterspersedItems)
+ {
+ _additionalItems.Add(_index, value);
+ }
else
{
VerifyTheCurrentValueIsDifferentFromTheExpectedValue(value, options);
@@ -56,14 +66,21 @@ public bool Verify(string it, T value, IOptionsEquality options, int maximum
#pragma warning disable S3776 // https://rules.sonarsource.com/csharp/RSPEC-3776
public bool VerifyComplete(string it, IOptionsEquality options, int maximumNumber, out string? error)
{
- int consideredExpectedItems = Math.Max(_expectationIndex - 1, _matchIndex);
+ int consideredExpectedItems = Math.Max(_expectationIndex - 1, _maxMatchIndex);
if (_expectedItems.Length > consideredExpectedItems)
{
for (int i = consideredExpectedItems; i < _expectedItems.Length; i++)
{
T item = _expectedItems[i];
- if (_additionalItems.All(x => !options.AreConsideredEqual(x.Value, item)) &&
- _incorrectItems.All(x => !options.AreConsideredEqual(x.Value.Item, item)))
+ KeyValuePair additionalItem = _additionalItems
+ .FirstOrDefault(a => options.AreConsideredEqual(a.Value, item));
+ if (!additionalItem.IsDefault())
+ {
+ _additionalItems.Remove(additionalItem.Key);
+ _missingItems.Add(additionalItem.Value);
+ }
+ else if (_additionalItems.All(x => !options.AreConsideredEqual(x.Value, item)) &&
+ _incorrectItems.All(x => !options.AreConsideredEqual(x.Value.Item, item)))
{
_missingItems.Add(item);
}
@@ -96,7 +113,7 @@ public bool VerifyComplete(string it, IOptionsEquality options, int maximumN
if (!_equivalenceRelations.HasFlag(EquivalenceRelations.IsContainedIn))
{
- errors.AddRange(MissingItemsError(_totalExpectedItems, _missingItems, _equivalenceRelations));
+ errors.AddRange(MissingItemsError(_totalExpectedItems, _missingItems, _equivalenceRelations, false));
}
else if (_equivalenceRelations.HasFlag(EquivalenceRelations.IsContainedInProperly) && !_missingItems.Any())
{
@@ -136,6 +153,7 @@ private void VerifyTheCurrentValueIsDifferentFromTheExpectedValue(T value, IOpti
_matchingItems.Clear();
_matchIndex++;
+ _maxMatchIndex = Math.Max(_matchIndex, _maxMatchIndex);
_expectationIndex = 0;
_matchingItems.Add(value);
}
@@ -186,6 +204,7 @@ private bool SearchForMatchInFoundItems(T value, IOptionsEquality options)
private void VerifyTheCurrentValueIsEqualToTheExpectedValue(T value)
{
_matchIndex++;
+ _maxMatchIndex = Math.Max(_matchIndex, _maxMatchIndex);
_expectationIndex++;
_matchingItems.Add(value);
}
diff --git a/Source/aweXpect.Core/Options/CollectionMatchOptions.SameOrderIgnoreDuplicatesCollectionMatcher.cs b/Source/aweXpect.Core/Options/CollectionMatchOptions.SameOrderIgnoreDuplicatesCollectionMatcher.cs
index eb4c2e0b3..cec525713 100644
--- a/Source/aweXpect.Core/Options/CollectionMatchOptions.SameOrderIgnoreDuplicatesCollectionMatcher.cs
+++ b/Source/aweXpect.Core/Options/CollectionMatchOptions.SameOrderIgnoreDuplicatesCollectionMatcher.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using aweXpect.Core;
+using aweXpect.Core.Helpers;
namespace aweXpect.Options;
@@ -12,6 +13,7 @@ private sealed class SameOrderIgnoreDuplicatesCollectionMatcher : ICollec
{
private readonly Dictionary _additionalItems = new();
private readonly EquivalenceRelations _equivalenceRelations;
+ private readonly bool _ignoreInterspersedItems;
private readonly T[] _expectedDistinctItems;
private readonly List _foundItems = new();
private readonly Dictionary _incorrectItems = new();
@@ -22,11 +24,14 @@ private sealed class SameOrderIgnoreDuplicatesCollectionMatcher : ICollec
private int _expectationIndex = -1;
private int _index;
private int _matchIndex;
+ private int _maxMatchIndex;
public SameOrderIgnoreDuplicatesCollectionMatcher(EquivalenceRelations equivalenceRelation,
- IEnumerable expected)
+ IEnumerable expected,
+ bool ignoreInterspersedItems)
{
_equivalenceRelations = equivalenceRelation;
+ _ignoreInterspersedItems = ignoreInterspersedItems;
_expectedDistinctItems = expected.Distinct().ToArray();
_totalExpectedItems = _expectedDistinctItems.Length;
}
@@ -53,6 +58,15 @@ public bool Verify(string it, T value, IOptionsEquality options, int maximum
{
VerifyTheCurrentValueIsEqualToTheExpectedValue(value, options);
}
+ else if (_ignoreInterspersedItems)
+ {
+ if (!_uniqueItems.Add(value))
+ {
+ return false;
+ }
+
+ _additionalItems.Add(_index, value);
+ }
else
{
if (!_uniqueItems.Add(value))
@@ -73,13 +87,21 @@ public bool VerifyComplete(string it, IOptionsEquality options, int maximumN
{
int maximumNumberOfCollectionItems =
maximumNumber;
- foreach (T item in _expectedDistinctItems.Skip(Math.Max(_expectationIndex - 1, _matchIndex)))
+ foreach (T item in _expectedDistinctItems.Skip(Math.Max(_expectationIndex - 1, _maxMatchIndex)))
{
+ KeyValuePair additionalItem = _additionalItems
+ .FirstOrDefault(a => options.AreConsideredEqual(a.Value, item));
+ if (!additionalItem.IsDefault())
+ {
+ _additionalItems.Remove(additionalItem.Key);
+ _missingItems.Add(additionalItem.Value);
+ }
+
if (!_uniqueItems.Add(item))
{
continue;
}
-
+
if (_additionalItems.All(x => !options.AreConsideredEqual(x.Value, item)) &&
_incorrectItems.All(x => !options.AreConsideredEqual(x.Value.Item, item)))
{
@@ -116,7 +138,7 @@ public bool VerifyComplete(string it, IOptionsEquality options, int maximumN
if (!_equivalenceRelations.HasFlag(EquivalenceRelations.IsContainedIn))
{
- errors.AddRange(MissingItemsError(_totalExpectedItems, _missingItems, _equivalenceRelations));
+ errors.AddRange(MissingItemsError(_totalExpectedItems, _missingItems, _equivalenceRelations, true));
}
else if (_equivalenceRelations.HasFlag(EquivalenceRelations.IsContainedInProperly) && !_missingItems.Any())
{
@@ -169,6 +191,7 @@ private void VerifyTheCurrentValueIsDifferentFromTheExpectedValue(T value, IOpti
_matchingItems.Clear();
_matchIndex++;
+ _maxMatchIndex = Math.Max(_matchIndex, _maxMatchIndex);
_expectationIndex = 0;
_matchingItems.Add(value);
}
@@ -185,6 +208,7 @@ private void VerifyTheCurrentValueIsDifferentFromTheExpectedValue(T value, IOpti
private void VerifyTheCurrentValueIsEqualToTheExpectedValue(T value, IOptionsEquality options)
{
_matchIndex++;
+ _maxMatchIndex = Math.Max(_matchIndex, _maxMatchIndex);
_expectationIndex++;
_matchingItems.Add(value);
_uniqueItems.Add(value);
diff --git a/Source/aweXpect.Core/Options/CollectionMatchOptions.cs b/Source/aweXpect.Core/Options/CollectionMatchOptions.cs
index 1acddf374..1d12c1c05 100644
--- a/Source/aweXpect.Core/Options/CollectionMatchOptions.cs
+++ b/Source/aweXpect.Core/Options/CollectionMatchOptions.cs
@@ -50,6 +50,7 @@ public enum EquivalenceRelations
private EquivalenceRelations _equivalenceRelations = equivalenceRelations;
private bool _ignoringDuplicates;
+ private bool _ignoringInterspersedItems;
private bool _inAnyOrder;
///
@@ -68,6 +69,11 @@ public void SetEquivalenceRelation(EquivalenceRelations equivalenceRelation)
///
public void IgnoringDuplicates() => _ignoringDuplicates = true;
+ ///
+ /// Ignores interspersed items in the actual collection.
+ ///
+ public void IgnoringInterspersedItems() => _ignoringInterspersedItems = true;
+
///
/// Get the collection matcher for the enumerable.
///
@@ -77,23 +83,33 @@ public ICollectionMatcher GetCollectionMatcher(IEnumerable expe
{
(true, true) => new AnyOrderIgnoreDuplicatesCollectionMatcher(_equivalenceRelations, expected),
(true, false) => new AnyOrderCollectionMatcher(_equivalenceRelations, expected),
- (false, true) => new SameOrderIgnoreDuplicatesCollectionMatcher(_equivalenceRelations, expected),
- (false, false) => new SameOrderCollectionMatcher(_equivalenceRelations, expected),
+ (false, true) => new SameOrderIgnoreDuplicatesCollectionMatcher(_equivalenceRelations, expected,
+ _ignoringInterspersedItems),
+ (false, false) => new SameOrderCollectionMatcher(_equivalenceRelations, expected,
+ _ignoringInterspersedItems),
};
///
- /// Specifies the expectation for the using the provided .
+ /// Specifies the expectation for the using the provided
+ /// .
///
public string GetExpectation(string expectedExpression, ExpectationGrammars grammars)
- => (_inAnyOrder, _ignoringDuplicates) switch
+ => (_inAnyOrder, _ignoringDuplicates, _ignoringInterspersedItems) switch
{
- (true, true) => ToString(_equivalenceRelations, expectedExpression, grammars) + " in any order ignoring duplicates",
- (true, false) => ToString(_equivalenceRelations, expectedExpression, grammars) + " in any order",
- (false, true) => ToString(_equivalenceRelations, expectedExpression, grammars) + " in order ignoring duplicates",
- (false, false) => ToString(_equivalenceRelations, expectedExpression, grammars) + " in order",
+ (true, true, _) => ToString(_equivalenceRelations, expectedExpression, grammars) +
+ " in any order ignoring duplicates",
+ (true, false, _) => ToString(_equivalenceRelations, expectedExpression, grammars) + " in any order",
+ (false, true, false) => ToString(_equivalenceRelations, expectedExpression, grammars) +
+ " in order ignoring duplicates",
+ (false, false, false) => ToString(_equivalenceRelations, expectedExpression, grammars) + " in order",
+ (false, true, true) => ToString(_equivalenceRelations, expectedExpression, grammars) +
+ " in order ignoring duplicates and interspersed items",
+ (false, false, true) => ToString(_equivalenceRelations, expectedExpression, grammars) +
+ " in order ignoring interspersed items",
};
- private static string ToString(EquivalenceRelations equivalenceRelation, string expectedExpression, ExpectationGrammars grammars)
+ private static string ToString(EquivalenceRelations equivalenceRelation, string expectedExpression,
+ ExpectationGrammars grammars)
=> (equivalenceRelation, grammars.IsNegated()) switch
{
(EquivalenceRelations.Contains, false)
@@ -166,9 +182,19 @@ private static IEnumerable IncorrectItemsError(Dictionary MissingItemsError(int total, List missingItems,
- EquivalenceRelations equivalenceRelation)
+ EquivalenceRelations equivalenceRelation, bool ignoringDuplicates)
{
bool hasMissingItems = missingItems.Any();
+ if (total == missingItems.Count)
+ {
+ yield return ignoringDuplicates switch
+ {
+ true => $"lacked all {total} unique expected items",
+ false => $"lacked all {total} expected items",
+ };
+ yield break;
+ }
+
if (hasMissingItems && !equivalenceRelation.HasFlag(EquivalenceRelations.IsContainedIn))
{
if (missingItems.Count == 1)
diff --git a/Source/aweXpect/Results/ObjectCollectionMatchResult.cs b/Source/aweXpect/Results/ObjectCollectionMatchResult.cs
index eacc3033e..4b881e107 100644
--- a/Source/aweXpect/Results/ObjectCollectionMatchResult.cs
+++ b/Source/aweXpect/Results/ObjectCollectionMatchResult.cs
@@ -52,4 +52,16 @@ public TSelf IgnoringDuplicates()
collectionMatchOptions.IgnoringDuplicates();
return (TSelf)this;
}
+
+ ///
+ /// Ignores interspersed items in the actual collection.
+ ///
+ ///
+ /// This option has no effect when is used.
+ ///
+ public TSelf IgnoringInterspersedItems()
+ {
+ collectionMatchOptions.IgnoringInterspersedItems();
+ return (TSelf)this;
+ }
}
diff --git a/Source/aweXpect/Results/StringCollectionMatchResult.cs b/Source/aweXpect/Results/StringCollectionMatchResult.cs
index 1b7ed2d45..87ce63922 100644
--- a/Source/aweXpect/Results/StringCollectionMatchResult.cs
+++ b/Source/aweXpect/Results/StringCollectionMatchResult.cs
@@ -52,4 +52,16 @@ public TSelf IgnoringDuplicates()
collectionMatchOptions.IgnoringDuplicates();
return (TSelf)this;
}
+
+ ///
+ /// Ignores interspersed items in the actual collection.
+ ///
+ ///
+ /// This option has no effect when is used.
+ ///
+ public TSelf IgnoringInterspersedItems()
+ {
+ collectionMatchOptions.IgnoringInterspersedItems();
+ return (TSelf)this;
+ }
}
diff --git a/Tests/aweXpect.Api.Tests/Expected/aweXpect_net8.0.txt b/Tests/aweXpect.Api.Tests/Expected/aweXpect_net8.0.txt
index 193375b28..d92c552c5 100644
--- a/Tests/aweXpect.Api.Tests/Expected/aweXpect_net8.0.txt
+++ b/Tests/aweXpect.Api.Tests/Expected/aweXpect_net8.0.txt
@@ -1246,6 +1246,7 @@ namespace aweXpect.Results
{
public ObjectCollectionMatchResult(aweXpect.Core.ExpectationBuilder expectationBuilder, TThat returnValue, aweXpect.Options.ObjectEqualityOptions options, aweXpect.Options.CollectionMatchOptions collectionMatchOptions) { }
public TSelf IgnoringDuplicates() { }
+ public TSelf IgnoringInterspersedItems() { }
public TSelf InAnyOrder() { }
}
public class ObjectCollectionMatchWithToleranceResult : aweXpect.Results.ObjectCollectionMatchResult
@@ -1328,6 +1329,7 @@ namespace aweXpect.Results
{
public StringCollectionMatchResult(aweXpect.Core.ExpectationBuilder expectationBuilder, TThat returnValue, aweXpect.Options.StringEqualityOptions options, aweXpect.Options.CollectionMatchOptions collectionMatchOptions) { }
public TSelf IgnoringDuplicates() { }
+ public TSelf IgnoringInterspersedItems() { }
public TSelf InAnyOrder() { }
}
}
\ No newline at end of file
diff --git a/Tests/aweXpect.Api.Tests/Expected/aweXpect_netstandard2.0.txt b/Tests/aweXpect.Api.Tests/Expected/aweXpect_netstandard2.0.txt
index 4ff3cf2fd..cde40b326 100644
--- a/Tests/aweXpect.Api.Tests/Expected/aweXpect_netstandard2.0.txt
+++ b/Tests/aweXpect.Api.Tests/Expected/aweXpect_netstandard2.0.txt
@@ -1229,6 +1229,7 @@ namespace aweXpect.Results
{
public ObjectCollectionMatchResult(aweXpect.Core.ExpectationBuilder expectationBuilder, TThat returnValue, aweXpect.Options.ObjectEqualityOptions options, aweXpect.Options.CollectionMatchOptions collectionMatchOptions) { }
public TSelf IgnoringDuplicates() { }
+ public TSelf IgnoringInterspersedItems() { }
public TSelf InAnyOrder() { }
}
public class ObjectCollectionMatchWithToleranceResult : aweXpect.Results.ObjectCollectionMatchResult
@@ -1311,6 +1312,7 @@ namespace aweXpect.Results
{
public StringCollectionMatchResult(aweXpect.Core.ExpectationBuilder expectationBuilder, TThat returnValue, aweXpect.Options.StringEqualityOptions options, aweXpect.Options.CollectionMatchOptions collectionMatchOptions) { }
public TSelf IgnoringDuplicates() { }
+ public TSelf IgnoringInterspersedItems() { }
public TSelf InAnyOrder() { }
}
}
\ No newline at end of file
diff --git a/Tests/aweXpect.Core.Api.Tests/Expected/aweXpect.Core_net8.0.txt b/Tests/aweXpect.Core.Api.Tests/Expected/aweXpect.Core_net8.0.txt
index 3c881816a..04751646d 100644
--- a/Tests/aweXpect.Core.Api.Tests/Expected/aweXpect.Core_net8.0.txt
+++ b/Tests/aweXpect.Core.Api.Tests/Expected/aweXpect.Core_net8.0.txt
@@ -747,6 +747,7 @@ namespace aweXpect.Options
where T : T2 { }
public string GetExpectation(string expectedExpression, aweXpect.Core.ExpectationGrammars grammars) { }
public void IgnoringDuplicates() { }
+ public void IgnoringInterspersedItems() { }
public void InAnyOrder() { }
public void SetEquivalenceRelation(aweXpect.Options.CollectionMatchOptions.EquivalenceRelations equivalenceRelation) { }
[System.Flags]
diff --git a/Tests/aweXpect.Core.Api.Tests/Expected/aweXpect.Core_netstandard2.0.txt b/Tests/aweXpect.Core.Api.Tests/Expected/aweXpect.Core_netstandard2.0.txt
index 49de41382..0ab2efa3d 100644
--- a/Tests/aweXpect.Core.Api.Tests/Expected/aweXpect.Core_netstandard2.0.txt
+++ b/Tests/aweXpect.Core.Api.Tests/Expected/aweXpect.Core_netstandard2.0.txt
@@ -730,6 +730,7 @@ namespace aweXpect.Options
where T : T2 { }
public string GetExpectation(string expectedExpression, aweXpect.Core.ExpectationGrammars grammars) { }
public void IgnoringDuplicates() { }
+ public void IgnoringInterspersedItems() { }
public void InAnyOrder() { }
public void SetEquivalenceRelation(aweXpect.Options.CollectionMatchOptions.EquivalenceRelations equivalenceRelation) { }
[System.Flags]
diff --git a/Tests/aweXpect.Tests/Collections/ThatAsyncEnumerable.Contains.CollectionTests.cs b/Tests/aweXpect.Tests/Collections/ThatAsyncEnumerable.Contains.CollectionTests.cs
index 4b9436901..545e9b755 100644
--- a/Tests/aweXpect.Tests/Collections/ThatAsyncEnumerable.Contains.CollectionTests.cs
+++ b/Tests/aweXpect.Tests/Collections/ThatAsyncEnumerable.Contains.CollectionTests.cs
@@ -72,11 +72,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 expected items
+
Collection:
[]
@@ -102,18 +99,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 expected items
+
Collection:
[
1,
@@ -232,10 +219,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order,
- but it lacked 2 of 6 expected items:
- "a",
- "e"
-
+ but it lacked all 6 expected items
+
Collection:
[
"b",
@@ -558,11 +543,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order ignoring duplicates,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 unique expected items
+
Collection:
[]
@@ -588,10 +570,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order ignoring duplicates,
- but it lacked 2 of 2 expected items:
- "a",
- "b"
-
+ but it lacked all 2 unique expected items
+
Collection:
[]
@@ -617,18 +597,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order ignoring duplicates,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 unique expected items
+
Collection:
[
1,
@@ -714,10 +684,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order ignoring duplicates,
- but it lacked 2 of 5 expected items:
- "a",
- "e"
-
+ but it lacked all 5 unique expected items
+
Collection:
[
"b",
@@ -997,11 +965,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 expected items
+
Collection:
[]
@@ -1027,18 +992,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 expected items
+
Collection:
[
1,
@@ -1423,11 +1378,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order ignoring duplicates,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 unique expected items
+
Collection:
[]
@@ -1455,10 +1407,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order ignoring duplicates,
- but it lacked 2 of 2 expected items:
- "a",
- "b"
-
+ but it lacked all 2 unique expected items
+
Collection:
[]
@@ -1484,18 +1434,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order ignoring duplicates,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 unique expected items
+
Collection:
[
1,
@@ -1842,11 +1782,8 @@ Expected that subject
contains collection expected and at least one additional item in order,
but it
did not contain any additional items and
- lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ lacked all 3 expected items
+
Collection:
[]
@@ -1872,18 +1809,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in order,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 expected items
+
Collection:
[
1,
@@ -1970,10 +1897,10 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in order,
- but it lacked 2 of 6 expected items:
- "a",
- "e"
-
+ but it
+ did not contain any additional items and
+ lacked all 6 expected items
+
Collection:
[
"b",
@@ -2325,11 +2252,8 @@ Expected that subject
contains collection expected and at least one additional item in order ignoring duplicates,
but it
did not contain any additional items and
- lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ lacked all 3 unique expected items
+
Collection:
[]
@@ -2357,10 +2281,8 @@ Expected that subject
contains collection expected and at least one additional item in order ignoring duplicates,
but it
did not contain any additional items and
- lacked 2 of 2 expected items:
- "a",
- "b"
-
+ lacked all 2 unique expected items
+
Collection:
[]
@@ -2386,18 +2308,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in order ignoring duplicates,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 unique expected items
+
Collection:
[
1,
@@ -2483,10 +2395,10 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in order ignoring duplicates,
- but it lacked 2 of 5 expected items:
- "a",
- "e"
-
+ but it
+ did not contain any additional items and
+ lacked all 5 unique expected items
+
Collection:
[
"b",
@@ -2892,11 +2804,8 @@ Expected that subject
contains collection expected and at least one additional item in any order,
but it
did not contain any additional items and
- lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ lacked all 3 expected items
+
Collection:
[]
@@ -2922,18 +2831,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in any order,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 expected items
+
Collection:
[
1,
@@ -3368,11 +3267,8 @@ Expected that subject
contains collection expected and at least one additional item in any order ignoring duplicates,
but it
did not contain any additional items and
- lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ lacked all 3 unique expected items
+
Collection:
[]
@@ -3402,10 +3298,8 @@ Expected that subject
contains collection expected and at least one additional item in any order ignoring duplicates,
but it
did not contain any additional items and
- lacked 2 of 2 expected items:
- "a",
- "b"
-
+ lacked all 2 unique expected items
+
Collection:
[]
@@ -3431,18 +3325,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in any order ignoring duplicates,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 unique expected items
+
Collection:
[
1,
diff --git a/Tests/aweXpect.Tests/Collections/ThatAsyncEnumerable.IsEqualTo.Tests.cs b/Tests/aweXpect.Tests/Collections/ThatAsyncEnumerable.IsEqualTo.Tests.cs
index 8074a40f1..e739301a7 100644
--- a/Tests/aweXpect.Tests/Collections/ThatAsyncEnumerable.IsEqualTo.Tests.cs
+++ b/Tests/aweXpect.Tests/Collections/ThatAsyncEnumerable.IsEqualTo.Tests.cs
@@ -106,11 +106,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in order,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 expected items
+
Collection:
[]
@@ -147,18 +144,8 @@ contained item 7 at index 6 that was not expected and
contained item 8 at index 7 that was not expected and
contained item 9 at index 8 that was not expected and
contained item 10 at index 9 that was not expected and
- lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ lacked all 10 expected items
+
Collection:
[
1,
@@ -683,11 +670,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in order ignoring duplicates,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 unique expected items
+
Collection:
[]
@@ -713,10 +697,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in order ignoring duplicates,
- but it lacked 2 of 2 expected items:
- "a",
- "b"
-
+ but it lacked all 2 unique expected items
+
Collection:
[]
@@ -753,18 +735,8 @@ contained item 7 at index 6 that was not expected and
contained item 8 at index 7 that was not expected and
contained item 9 at index 8 that was not expected and
contained item 10 at index 9 that was not expected and
- lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ lacked all 10 unique expected items
+
Collection:
[
1,
@@ -1173,11 +1145,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in any order,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 expected items
+
Collection:
[]
@@ -1214,18 +1183,8 @@ contained item 7 at index 6 that was not expected and
contained item 8 at index 7 that was not expected and
contained item 9 at index 8 that was not expected and
contained item 10 at index 9 that was not expected and
- lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ lacked all 10 expected items
+
Collection:
[
1,
@@ -1713,11 +1672,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in any order ignoring duplicates,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 unique expected items
+
Collection:
[]
@@ -1745,10 +1701,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in any order ignoring duplicates,
- but it lacked 2 of 2 expected items:
- "a",
- "b"
-
+ but it lacked all 2 unique expected items
+
Collection:
[]
@@ -1785,18 +1739,8 @@ contained item 7 at index 6 that was not expected and
contained item 8 at index 7 that was not expected and
contained item 9 at index 8 that was not expected and
contained item 10 at index 9 that was not expected and
- lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ lacked all 10 unique expected items
+
Collection:
[
1,
diff --git a/Tests/aweXpect.Tests/Collections/ThatEnumerable.Contains.CollectionEnumerableTests.cs b/Tests/aweXpect.Tests/Collections/ThatEnumerable.Contains.CollectionEnumerableTests.cs
index 8b824e055..2c758a838 100644
--- a/Tests/aweXpect.Tests/Collections/ThatEnumerable.Contains.CollectionEnumerableTests.cs
+++ b/Tests/aweXpect.Tests/Collections/ThatEnumerable.Contains.CollectionEnumerableTests.cs
@@ -72,11 +72,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 expected items
+
Collection:
[]
@@ -102,18 +99,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 expected items
+
Collection:
[
1,
@@ -232,10 +219,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order,
- but it lacked 2 of 6 expected items:
- "a",
- "e"
-
+ but it lacked all 6 expected items
+
Collection:
[
"b",
@@ -559,11 +544,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order ignoring duplicates,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 unique expected items
+
Collection:
[]
@@ -589,10 +571,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order ignoring duplicates,
- but it lacked 2 of 2 expected items:
- "a",
- "b"
-
+ but it lacked all 2 unique expected items
+
Collection:
[]
@@ -618,18 +598,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order ignoring duplicates,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 unique expected items
+
Collection:
[
1,
@@ -715,10 +685,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order ignoring duplicates,
- but it lacked 2 of 5 expected items:
- "a",
- "e"
-
+ but it lacked all 5 unique expected items
+
Collection:
[
"b",
@@ -998,11 +966,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 expected items
+
Collection:
[]
@@ -1028,18 +993,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 expected items
+
Collection:
[
1,
@@ -1425,11 +1380,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order ignoring duplicates,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 unique expected items
+
Collection:
[]
@@ -1457,10 +1409,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order ignoring duplicates,
- but it lacked 2 of 2 expected items:
- "a",
- "b"
-
+ but it lacked all 2 unique expected items
+
Collection:
[]
@@ -1486,18 +1436,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order ignoring duplicates,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 unique expected items
+
Collection:
[
1,
@@ -1844,11 +1784,8 @@ Expected that subject
contains collection expected and at least one additional item in order,
but it
did not contain any additional items and
- lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ lacked all 3 expected items
+
Collection:
[]
@@ -1874,18 +1811,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in order,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 expected items
+
Collection:
[
1,
@@ -1972,10 +1899,10 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in order,
- but it lacked 2 of 6 expected items:
- "a",
- "e"
-
+ but it
+ did not contain any additional items and
+ lacked all 6 expected items
+
Collection:
[
"b",
@@ -2328,11 +2255,8 @@ Expected that subject
contains collection expected and at least one additional item in order ignoring duplicates,
but it
did not contain any additional items and
- lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ lacked all 3 unique expected items
+
Collection:
[]
@@ -2360,10 +2284,8 @@ Expected that subject
contains collection expected and at least one additional item in order ignoring duplicates,
but it
did not contain any additional items and
- lacked 2 of 2 expected items:
- "a",
- "b"
-
+ lacked all 2 unique expected items
+
Collection:
[]
@@ -2389,18 +2311,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in order ignoring duplicates,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 unique expected items
+
Collection:
[
1,
@@ -2486,10 +2398,10 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in order ignoring duplicates,
- but it lacked 2 of 5 expected items:
- "a",
- "e"
-
+ but it
+ did not contain any additional items and
+ lacked all 5 unique expected items
+
Collection:
[
"b",
@@ -2895,11 +2807,8 @@ Expected that subject
contains collection expected and at least one additional item in any order,
but it
did not contain any additional items and
- lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ lacked all 3 expected items
+
Collection:
[]
@@ -2925,18 +2834,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in any order,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 expected items
+
Collection:
[
1,
@@ -3372,11 +3271,8 @@ Expected that subject
contains collection expected and at least one additional item in any order ignoring duplicates,
but it
did not contain any additional items and
- lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ lacked all 3 unique expected items
+
Collection:
[]
@@ -3406,10 +3302,8 @@ Expected that subject
contains collection expected and at least one additional item in any order ignoring duplicates,
but it
did not contain any additional items and
- lacked 2 of 2 expected items:
- "a",
- "b"
-
+ lacked all 2 unique expected items
+
Collection:
[]
@@ -3435,18 +3329,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in any order ignoring duplicates,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 unique expected items
+
Collection:
[
1,
diff --git a/Tests/aweXpect.Tests/Collections/ThatEnumerable.Contains.CollectionImmutableTests.cs b/Tests/aweXpect.Tests/Collections/ThatEnumerable.Contains.CollectionImmutableTests.cs
index eecde641c..20efb0b9e 100644
--- a/Tests/aweXpect.Tests/Collections/ThatEnumerable.Contains.CollectionImmutableTests.cs
+++ b/Tests/aweXpect.Tests/Collections/ThatEnumerable.Contains.CollectionImmutableTests.cs
@@ -73,11 +73,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 expected items
+
Collection:
[]
@@ -103,18 +100,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 expected items
+
Collection:
[
1,
@@ -233,10 +220,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order,
- but it lacked 2 of 6 expected items:
- "a",
- "e"
-
+ but it lacked all 6 expected items
+
Collection:
[
"b",
@@ -560,11 +545,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order ignoring duplicates,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 unique expected items
+
Collection:
[]
@@ -590,10 +572,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order ignoring duplicates,
- but it lacked 2 of 2 expected items:
- "a",
- "b"
-
+ but it lacked all 2 unique expected items
+
Collection:
[]
@@ -619,18 +599,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order ignoring duplicates,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 unique expected items
+
Collection:
[
1,
@@ -716,10 +686,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order ignoring duplicates,
- but it lacked 2 of 5 expected items:
- "a",
- "e"
-
+ but it lacked all 5 unique expected items
+
Collection:
[
"b",
@@ -999,11 +967,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 expected items
+
Collection:
[]
@@ -1029,18 +994,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 expected items
+
Collection:
[
1,
@@ -1426,11 +1381,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order ignoring duplicates,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 unique expected items
+
Collection:
[]
@@ -1458,10 +1410,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order ignoring duplicates,
- but it lacked 2 of 2 expected items:
- "a",
- "b"
-
+ but it lacked all 2 unique expected items
+
Collection:
[]
@@ -1487,18 +1437,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order ignoring duplicates,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 unique expected items
+
Collection:
[
1,
@@ -1845,11 +1785,8 @@ Expected that subject
contains collection expected and at least one additional item in order,
but it
did not contain any additional items and
- lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ lacked all 3 expected items
+
Collection:
[]
@@ -1875,18 +1812,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in order,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 expected items
+
Collection:
[
1,
@@ -1973,10 +1900,10 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in order,
- but it lacked 2 of 6 expected items:
- "a",
- "e"
-
+ but it
+ did not contain any additional items and
+ lacked all 6 expected items
+
Collection:
[
"b",
@@ -2329,11 +2256,8 @@ Expected that subject
contains collection expected and at least one additional item in order ignoring duplicates,
but it
did not contain any additional items and
- lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ lacked all 3 unique expected items
+
Collection:
[]
@@ -2361,10 +2285,8 @@ Expected that subject
contains collection expected and at least one additional item in order ignoring duplicates,
but it
did not contain any additional items and
- lacked 2 of 2 expected items:
- "a",
- "b"
-
+ lacked all 2 unique expected items
+
Collection:
[]
@@ -2390,18 +2312,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in order ignoring duplicates,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 unique expected items
+
Collection:
[
1,
@@ -2487,10 +2399,10 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in order ignoring duplicates,
- but it lacked 2 of 5 expected items:
- "a",
- "e"
-
+ but it
+ did not contain any additional items and
+ lacked all 5 unique expected items
+
Collection:
[
"b",
@@ -2896,11 +2808,8 @@ Expected that subject
contains collection expected and at least one additional item in any order,
but it
did not contain any additional items and
- lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ lacked all 3 expected items
+
Collection:
[]
@@ -2926,18 +2835,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in any order,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 expected items
+
Collection:
[
1,
@@ -3373,11 +3272,8 @@ Expected that subject
contains collection expected and at least one additional item in any order ignoring duplicates,
but it
did not contain any additional items and
- lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ lacked all 3 unique expected items
+
Collection:
[]
@@ -3407,10 +3303,8 @@ Expected that subject
contains collection expected and at least one additional item in any order ignoring duplicates,
but it
did not contain any additional items and
- lacked 2 of 2 expected items:
- "a",
- "b"
-
+ lacked all 2 unique expected items
+
Collection:
[]
@@ -3436,18 +3330,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in any order ignoring duplicates,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ but it lacked all 10 unique expected items
+
Collection:
[
1,
@@ -3890,8 +3774,8 @@ await That(Act).Throws().OnlyIf(!expectSuccess)
.WithMessage($$"""
Expected that subject
contains collection [regex,] in order as regex,
- but it lacked 1 of 1 expected items: "{{regex}}"
-
+ but it lacked all 1 expected items
+
Collection:
[
"foo",
@@ -3920,8 +3804,8 @@ await That(Act).Throws().OnlyIf(!expectSuccess)
.WithMessage($"""
Expected that subject
contains collection [wildcard,] in order as wildcard,
- but it lacked 1 of 1 expected items: "{wildcard}"
-
+ but it lacked all 1 expected items
+
Collection:
[
"foo",
@@ -3950,8 +3834,8 @@ await That(Act).Throws().OnlyIf(!expectSuccess)
.WithMessage($"""
Expected that subject
contains collection [match,] in order,
- but it lacked 1 of 1 expected items: "{match}"
-
+ but it lacked all 1 expected items
+
Collection:
[
"foo",
@@ -3980,8 +3864,8 @@ await That(Act).Throws().OnlyIf(!expectSuccess)
.WithMessage($"""
Expected that subject
contains collection [match,] in order ignoring case,
- but it lacked 1 of 1 expected items: "{match}"
-
+ but it lacked all 1 expected items
+
Collection:
[
"foo",
diff --git a/Tests/aweXpect.Tests/Collections/ThatEnumerable.Contains.CollectionTests.cs b/Tests/aweXpect.Tests/Collections/ThatEnumerable.Contains.CollectionTests.cs
index 0a6a09a94..98274e059 100644
--- a/Tests/aweXpect.Tests/Collections/ThatEnumerable.Contains.CollectionTests.cs
+++ b/Tests/aweXpect.Tests/Collections/ThatEnumerable.Contains.CollectionTests.cs
@@ -71,10 +71,7 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
+ but it lacked all 3 expected items
Collection:
[]
@@ -101,17 +98,7 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
+ but it lacked all 10 expected items
Collection:
[
@@ -159,10 +146,10 @@ Expected that collection
but it
contained item 3 at index 3 instead of 1 and
contained item 12 at index 4 instead of 2
-
+
Collection:
[1, 2, 1, 3, 12, 2, 2]
-
+
Expected:
[1, 2, 1, 1, 2]
""");
@@ -221,7 +208,7 @@ contained item "e" at index 4 instead of "y" and
"x",
"y",
"z"
-
+
Collection:
[
"a",
@@ -256,9 +243,7 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order,
- but it lacked 2 of 6 expected items:
- "a",
- "e"
+ but it lacked all 6 expected items
Collection:
[
@@ -440,6 +425,36 @@ async Task Act()
await That(Act).DoesNotThrow();
}
+ [Fact]
+ public async Task WithItemsInDifferentOrder_ShouldFail()
+ {
+ IEnumerable subject = ToEnumerable(["a", "b", "c",]);
+ string[] expected = ["c", "a",];
+
+ async Task Act()
+ => await That(subject).Contains(expected);
+
+ await That(Act).Throws()
+ .WithMessage("""
+ Expected that subject
+ contains collection expected in order,
+ but it lacked 1 of 2 expected items: "a"
+
+ Collection:
+ [
+ "a",
+ "b",
+ "c"
+ ]
+
+ Expected:
+ [
+ "c",
+ "a"
+ ]
+ """);
+ }
+
[Fact]
public async Task WithMissingItem_ShouldFail()
{
@@ -507,7 +522,6 @@ Expected that subject
""");
}
-
[Fact]
public async Task WithSameCollection_ShouldSucceed()
{
@@ -583,10 +597,7 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order ignoring duplicates,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
+ but it lacked all 3 unique expected items
Collection:
[]
@@ -613,9 +624,7 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order ignoring duplicates,
- but it lacked 2 of 2 expected items:
- "a",
- "b"
+ but it lacked all 2 unique expected items
Collection:
[]
@@ -642,17 +651,7 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order ignoring duplicates,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
+ but it lacked all 10 unique expected items
Collection:
[
@@ -704,7 +703,7 @@ contained item "e" at index 4 instead of "y" and
"x",
"y",
"z"
-
+
Collection:
[
"a",
@@ -739,9 +738,7 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in order ignoring duplicates,
- but it lacked 2 of 5 expected items:
- "a",
- "e"
+ but it lacked all 5 unique expected items
Collection:
[
@@ -880,6 +877,36 @@ async Task Act()
await That(Act).DoesNotThrow();
}
+ [Fact]
+ public async Task WithItemsInDifferentOrder_ShouldFail()
+ {
+ IEnumerable subject = ToEnumerable(["a", "b", "c",]);
+ string[] expected = ["c", "a",];
+
+ async Task Act()
+ => await That(subject).Contains(expected).IgnoringDuplicates();
+
+ await That(Act).Throws()
+ .WithMessage("""
+ Expected that subject
+ contains collection expected in order ignoring duplicates,
+ but it lacked 1 of 2 expected items: "a"
+
+ Collection:
+ [
+ "a",
+ "b",
+ "c"
+ ]
+
+ Expected:
+ [
+ "c",
+ "a"
+ ]
+ """);
+ }
+
[Fact]
public async Task WithMissingItem_ShouldFail()
{
@@ -1022,10 +1049,7 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
+ but it lacked all 3 expected items
Collection:
[]
@@ -1052,17 +1076,7 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
+ but it lacked all 10 expected items
Collection:
[
@@ -1449,10 +1463,7 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order ignoring duplicates,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
+ but it lacked all 3 unique expected items
Collection:
[]
@@ -1481,9 +1492,7 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order ignoring duplicates,
- but it lacked 2 of 2 expected items:
- "a",
- "b"
+ but it lacked all 2 unique expected items
Collection:
[]
@@ -1510,17 +1519,7 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected in any order ignoring duplicates,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
+ but it lacked all 10 unique expected items
Collection:
[
@@ -1868,10 +1867,7 @@ Expected that subject
contains collection expected and at least one additional item in order,
but it
did not contain any additional items and
- lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
+ lacked all 3 expected items
Collection:
[]
@@ -1898,17 +1894,7 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in order,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
+ but it lacked all 10 expected items
Collection:
[
@@ -1996,9 +1982,9 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in order,
- but it lacked 2 of 6 expected items:
- "a",
- "e"
+ but it
+ did not contain any additional items and
+ lacked all 6 expected items
Collection:
[
@@ -2352,10 +2338,7 @@ Expected that subject
contains collection expected and at least one additional item in order ignoring duplicates,
but it
did not contain any additional items and
- lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
+ lacked all 3 unique expected items
Collection:
[]
@@ -2384,9 +2367,7 @@ Expected that subject
contains collection expected and at least one additional item in order ignoring duplicates,
but it
did not contain any additional items and
- lacked 2 of 2 expected items:
- "a",
- "b"
+ lacked all 2 unique expected items
Collection:
[]
@@ -2413,17 +2394,7 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in order ignoring duplicates,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
+ but it lacked all 10 unique expected items
Collection:
[
@@ -2510,9 +2481,9 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in order ignoring duplicates,
- but it lacked 2 of 5 expected items:
- "a",
- "e"
+ but it
+ did not contain any additional items and
+ lacked all 5 unique expected items
Collection:
[
@@ -2919,10 +2890,7 @@ Expected that subject
contains collection expected and at least one additional item in any order,
but it
did not contain any additional items and
- lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
+ lacked all 3 expected items
Collection:
[]
@@ -2949,17 +2917,7 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in any order,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
+ but it lacked all 10 expected items
Collection:
[
@@ -3396,10 +3354,7 @@ Expected that subject
contains collection expected and at least one additional item in any order ignoring duplicates,
but it
did not contain any additional items and
- lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
+ lacked all 3 unique expected items
Collection:
[]
@@ -3430,9 +3385,7 @@ Expected that subject
contains collection expected and at least one additional item in any order ignoring duplicates,
but it
did not contain any additional items and
- lacked 2 of 2 expected items:
- "a",
- "b"
+ lacked all 2 unique expected items
Collection:
[]
@@ -3459,17 +3412,7 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
contains collection expected and at least one additional item in any order ignoring duplicates,
- but it lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
+ but it lacked all 10 unique expected items
Collection:
[
@@ -3910,23 +3853,23 @@ async Task Act()
=> await That(subject).Contains([regex,]).AsRegex();
await That(Act).Throws().OnlyIf(!expectSuccess)
- .WithMessage($$"""
- Expected that subject
- contains collection [regex,] in order as regex,
- but it lacked 1 of 1 expected items: "{{regex}}"
+ .WithMessage("""
+ Expected that subject
+ contains collection [regex,] in order as regex,
+ but it lacked all 1 expected items
- Collection:
- [
- "foo",
- "bar",
- "baz"
- ]
+ Collection:
+ [
+ "foo",
+ "bar",
+ "baz"
+ ]
- Expected:
- [
- "[g-h]{1}[o]*"
- ]
- """);
+ Expected:
+ [
+ "[g-h]{1}[o]*"
+ ]
+ """);
}
[Theory]
@@ -3940,23 +3883,23 @@ async Task Act()
=> await That(subject).Contains([wildcard,]).AsWildcard();
await That(Act).Throws().OnlyIf(!expectSuccess)
- .WithMessage($"""
- Expected that subject
- contains collection [wildcard,] in order as wildcard,
- but it lacked 1 of 1 expected items: "{wildcard}"
+ .WithMessage("""
+ Expected that subject
+ contains collection [wildcard,] in order as wildcard,
+ but it lacked all 1 expected items
- Collection:
- [
- "foo",
- "bar",
- "baz"
- ]
+ Collection:
+ [
+ "foo",
+ "bar",
+ "baz"
+ ]
- Expected:
- [
- "f??o"
- ]
- """);
+ Expected:
+ [
+ "f??o"
+ ]
+ """);
}
[Theory]
@@ -3970,23 +3913,23 @@ async Task Act()
=> await That(subject).Contains([match,]).AsWildcard().Exactly();
await That(Act).Throws().OnlyIf(!expectSuccess)
- .WithMessage($"""
- Expected that subject
- contains collection [match,] in order,
- but it lacked 1 of 1 expected items: "{match}"
+ .WithMessage("""
+ Expected that subject
+ contains collection [match,] in order,
+ but it lacked all 1 expected items
- Collection:
- [
- "foo",
- "bar",
- "baz"
- ]
+ Collection:
+ [
+ "foo",
+ "bar",
+ "baz"
+ ]
- Expected:
- [
- "*oo"
- ]
- """);
+ Expected:
+ [
+ "*oo"
+ ]
+ """);
}
[Theory]
@@ -4000,23 +3943,289 @@ async Task Act()
=> await That(subject).Contains([match,]).IgnoringCase();
await That(Act).Throws().OnlyIf(!expectSuccess)
- .WithMessage($"""
- Expected that subject
- contains collection [match,] in order ignoring case,
- but it lacked 1 of 1 expected items: "{match}"
-
- Collection:
- [
- "foo",
- "bar",
- "baz"
- ]
-
- Expected:
- [
- "goo"
- ]
- """);
+ .WithMessage("""
+ Expected that subject
+ contains collection [match,] in order ignoring case,
+ but it lacked all 1 expected items
+
+ Collection:
+ [
+ "foo",
+ "bar",
+ "baz"
+ ]
+
+ Expected:
+ [
+ "goo"
+ ]
+ """);
+ }
+ }
+
+ public sealed class InSameOrderIgnoringInterspersedItemsTests
+ {
+ [Fact]
+ public async Task WithInterspersedItems_ShouldSucceed()
+ {
+ IEnumerable subject = ToEnumerable(["a", "b", "c",]);
+ string[] expected = ["a", "c",];
+
+ async Task Act()
+ => await That(subject).Contains(expected).IgnoringInterspersedItems();
+
+ await That(Act).DoesNotThrow();
+ }
+
+ [Fact]
+ public async Task WithInterspersedItemsInDifferentOrder_ShouldFail()
+ {
+ IEnumerable subject = ToEnumerable(["a", "b", "c",]);
+ string[] expected = ["b", "a",];
+
+ async Task Act()
+ => await That(subject).Contains(expected).IgnoringInterspersedItems();
+
+ await That(Act).Throws()
+ .WithMessage("""
+ Expected that subject
+ contains collection expected in order ignoring interspersed items,
+ but it lacked 1 of 2 expected items: "a"
+
+ Collection:
+ [
+ "a",
+ "b",
+ "c"
+ ]
+
+ Expected:
+ [
+ "b",
+ "a"
+ ]
+ """);
+ }
+
+ [Fact]
+ public async Task WithSameCollection_ShouldSucceed()
+ {
+ IEnumerable subject = ToEnumerable(["a", "b", "c",]);
+ string[] expected = ["a", "b", "c",];
+
+ async Task Act()
+ => await That(subject).Contains(expected).IgnoringInterspersedItems();
+
+ await That(Act).DoesNotThrow();
+ }
+ }
+
+ public sealed class InSameOrderIgnoringDuplicatesAndInterspersedItemsTests
+ {
+ [Fact]
+ public async Task WithInterspersedItems_ShouldSucceed()
+ {
+ IEnumerable subject = ToEnumerable(["a", "b", "c",]);
+ string[] expected = ["a", "c",];
+
+ async Task Act()
+ => await That(subject).Contains(expected).IgnoringDuplicates().IgnoringInterspersedItems();
+
+ await That(Act).DoesNotThrow();
+ }
+
+ [Fact]
+ public async Task WithInterspersedItemsInDifferentOrder_ShouldFail()
+ {
+ IEnumerable subject = ToEnumerable(["a", "b", "c",]);
+ string[] expected = ["b", "a",];
+
+ async Task Act()
+ => await That(subject).Contains(expected).IgnoringInterspersedItems().IgnoringDuplicates();
+
+ await That(Act).Throws()
+ .WithMessage("""
+ Expected that subject
+ contains collection expected in order ignoring duplicates and interspersed items,
+ but it lacked 1 of 2 expected items: "a"
+
+ Collection:
+ [
+ "a",
+ "b",
+ "c"
+ ]
+
+ Expected:
+ [
+ "b",
+ "a"
+ ]
+ """);
+ }
+
+ [Fact]
+ public async Task WithSameCollection_ShouldSucceed()
+ {
+ IEnumerable subject = ToEnumerable(["a", "b", "c",]);
+ string[] expected = ["a", "b", "c",];
+
+ async Task Act()
+ => await That(subject).Contains(expected).IgnoringDuplicates().IgnoringInterspersedItems();
+
+ await That(Act).DoesNotThrow();
+ }
+ }
+
+ public sealed class ProperlyInSameOrderIgnoringInterspersedItemsTests
+ {
+ [Fact]
+ public async Task WithInterspersedItems_ShouldSucceed()
+ {
+ IEnumerable subject = ToEnumerable(["a", "b", "c",]);
+ string[] expected = ["a", "c",];
+
+ async Task Act()
+ => await That(subject).Contains(expected).Properly().IgnoringInterspersedItems();
+
+ await That(Act).DoesNotThrow();
+ }
+
+ [Fact]
+ public async Task WithInterspersedItemsInDifferentOrder_ShouldFail()
+ {
+ IEnumerable subject = ToEnumerable(["a", "b", "c",]);
+ string[] expected = ["b", "a",];
+
+ async Task Act()
+ => await That(subject).Contains(expected).Properly().IgnoringInterspersedItems();
+
+ await That(Act).Throws()
+ .WithMessage("""
+ Expected that subject
+ contains collection expected and at least one additional item in order ignoring interspersed items,
+ but it lacked 1 of 2 expected items: "a"
+
+ Collection:
+ [
+ "a",
+ "b",
+ "c"
+ ]
+
+ Expected:
+ [
+ "b",
+ "a"
+ ]
+ """);
+ }
+
+ [Fact]
+ public async Task WithSameCollection_ShouldFail()
+ {
+ IEnumerable subject = ToEnumerable(["a", "b", "c",]);
+ string[] expected = ["a", "b", "c",];
+
+ async Task Act()
+ => await That(subject).Contains(expected).Properly().IgnoringInterspersedItems();
+
+ await That(Act).Throws()
+ .WithMessage("""
+ Expected that subject
+ contains collection expected and at least one additional item in order ignoring interspersed items,
+ but it did not contain any additional items
+
+ Collection:
+ [
+ "a",
+ "b",
+ "c"
+ ]
+
+ Expected:
+ [
+ "a",
+ "b",
+ "c"
+ ]
+ """);
+ }
+ }
+
+ public sealed class ProperlyInSameOrderIgnoringDuplicatesAndInterspersedItemsTests
+ {
+ [Fact]
+ public async Task WithInterspersedItems_ShouldSucceed()
+ {
+ IEnumerable subject = ToEnumerable(["a", "b", "c",]);
+ string[] expected = ["a", "c",];
+
+ async Task Act()
+ => await That(subject).Contains(expected).Properly().IgnoringDuplicates().IgnoringInterspersedItems();
+
+ await That(Act).DoesNotThrow();
+ }
+
+ [Fact]
+ public async Task WithInterspersedItemsInDifferentOrder_ShouldFail()
+ {
+ IEnumerable subject = ToEnumerable(["a", "b", "c",]);
+ string[] expected = ["b", "a",];
+
+ async Task Act()
+ => await That(subject).Contains(expected).Properly().IgnoringInterspersedItems().IgnoringDuplicates();
+
+ await That(Act).Throws()
+ .WithMessage("""
+ Expected that subject
+ contains collection expected and at least one additional item in order ignoring duplicates and interspersed items,
+ but it lacked 1 of 2 expected items: "a"
+
+ Collection:
+ [
+ "a",
+ "b",
+ "c"
+ ]
+
+ Expected:
+ [
+ "b",
+ "a"
+ ]
+ """);
+ }
+
+ [Fact]
+ public async Task WithSameCollection_ShouldFail()
+ {
+ IEnumerable subject = ToEnumerable(["a", "b", "c",]);
+ string[] expected = ["a", "b", "c",];
+
+ async Task Act()
+ => await That(subject).Contains(expected).Properly().IgnoringDuplicates().IgnoringInterspersedItems();
+
+ await That(Act).Throws()
+ .WithMessage("""
+ Expected that subject
+ contains collection expected and at least one additional item in order ignoring duplicates and interspersed items,
+ but it did not contain any additional items
+
+ Collection:
+ [
+ "a",
+ "b",
+ "c"
+ ]
+
+ Expected:
+ [
+ "a",
+ "b",
+ "c"
+ ]
+ """);
}
}
}
diff --git a/Tests/aweXpect.Tests/Collections/ThatEnumerable.IsEqualTo.EnumerableTests.cs b/Tests/aweXpect.Tests/Collections/ThatEnumerable.IsEqualTo.EnumerableTests.cs
index 4d358d74a..0bdbf98f4 100644
--- a/Tests/aweXpect.Tests/Collections/ThatEnumerable.IsEqualTo.EnumerableTests.cs
+++ b/Tests/aweXpect.Tests/Collections/ThatEnumerable.IsEqualTo.EnumerableTests.cs
@@ -107,11 +107,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in order,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 expected items
+
Collection:
[]
@@ -148,18 +145,8 @@ contained item 7 at index 6 that was not expected and
contained item 8 at index 7 that was not expected and
contained item 9 at index 8 that was not expected and
contained item 10 at index 9 that was not expected and
- lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ lacked all 10 expected items
+
Collection:
[
1,
@@ -685,11 +672,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in order ignoring duplicates,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 unique expected items
+
Collection:
[]
@@ -715,10 +699,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in order ignoring duplicates,
- but it lacked 2 of 2 expected items:
- "a",
- "b"
-
+ but it lacked all 2 unique expected items
+
Collection:
[]
@@ -755,18 +737,8 @@ contained item 7 at index 6 that was not expected and
contained item 8 at index 7 that was not expected and
contained item 9 at index 8 that was not expected and
contained item 10 at index 9 that was not expected and
- lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ lacked all 10 unique expected items
+
Collection:
[
1,
@@ -1163,11 +1135,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in any order,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 expected items
+
Collection:
[]
@@ -1204,18 +1173,8 @@ contained item 7 at index 6 that was not expected and
contained item 8 at index 7 that was not expected and
contained item 9 at index 8 that was not expected and
contained item 10 at index 9 that was not expected and
- lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ lacked all 10 expected items
+
Collection:
[
1,
@@ -1673,11 +1632,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in any order ignoring duplicates,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 unique expected items
+
Collection:
[]
@@ -1705,10 +1661,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in any order ignoring duplicates,
- but it lacked 2 of 2 expected items:
- "a",
- "b"
-
+ but it lacked all 2 unique expected items
+
Collection:
[]
@@ -1745,18 +1699,8 @@ contained item 7 at index 6 that was not expected and
contained item 8 at index 7 that was not expected and
contained item 9 at index 8 that was not expected and
contained item 10 at index 9 that was not expected and
- lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ lacked all 10 unique expected items
+
Collection:
[
1,
diff --git a/Tests/aweXpect.Tests/Collections/ThatEnumerable.IsEqualTo.ImmutableTests.cs b/Tests/aweXpect.Tests/Collections/ThatEnumerable.IsEqualTo.ImmutableTests.cs
index ac4580dcd..21668d7b1 100644
--- a/Tests/aweXpect.Tests/Collections/ThatEnumerable.IsEqualTo.ImmutableTests.cs
+++ b/Tests/aweXpect.Tests/Collections/ThatEnumerable.IsEqualTo.ImmutableTests.cs
@@ -108,11 +108,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in order,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 expected items
+
Collection:
[]
@@ -149,18 +146,8 @@ contained item 7 at index 6 that was not expected and
contained item 8 at index 7 that was not expected and
contained item 9 at index 8 that was not expected and
contained item 10 at index 9 that was not expected and
- lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ lacked all 10 expected items
+
Collection:
[
1,
@@ -686,11 +673,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in order ignoring duplicates,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 unique expected items
+
Collection:
[]
@@ -716,10 +700,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in order ignoring duplicates,
- but it lacked 2 of 2 expected items:
- "a",
- "b"
-
+ but it lacked all 2 unique expected items
+
Collection:
[]
@@ -756,18 +738,8 @@ contained item 7 at index 6 that was not expected and
contained item 8 at index 7 that was not expected and
contained item 9 at index 8 that was not expected and
contained item 10 at index 9 that was not expected and
- lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ lacked all 10 unique expected items
+
Collection:
[
1,
@@ -1164,11 +1136,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in any order,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 expected items
+
Collection:
[]
@@ -1205,18 +1174,8 @@ contained item 7 at index 6 that was not expected and
contained item 8 at index 7 that was not expected and
contained item 9 at index 8 that was not expected and
contained item 10 at index 9 that was not expected and
- lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ lacked all 10 expected items
+
Collection:
[
1,
@@ -1674,11 +1633,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in any order ignoring duplicates,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 unique expected items
+
Collection:
[]
@@ -1706,10 +1662,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in any order ignoring duplicates,
- but it lacked 2 of 2 expected items:
- "a",
- "b"
-
+ but it lacked all 2 unique expected items
+
Collection:
[]
@@ -1746,18 +1700,8 @@ contained item 7 at index 6 that was not expected and
contained item 8 at index 7 that was not expected and
contained item 9 at index 8 that was not expected and
contained item 10 at index 9 that was not expected and
- lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ lacked all 10 unique expected items
+
Collection:
[
1,
diff --git a/Tests/aweXpect.Tests/Collections/ThatEnumerable.IsEqualTo.Tests.cs b/Tests/aweXpect.Tests/Collections/ThatEnumerable.IsEqualTo.Tests.cs
index 7faa4c702..9fdbb15b0 100644
--- a/Tests/aweXpect.Tests/Collections/ThatEnumerable.IsEqualTo.Tests.cs
+++ b/Tests/aweXpect.Tests/Collections/ThatEnumerable.IsEqualTo.Tests.cs
@@ -106,11 +106,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in order,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 expected items
+
Collection:
[]
@@ -147,18 +144,8 @@ contained item 7 at index 6 that was not expected and
contained item 8 at index 7 that was not expected and
contained item 9 at index 8 that was not expected and
contained item 10 at index 9 that was not expected and
- lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ lacked all 10 expected items
+
Collection:
[
1,
@@ -684,11 +671,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in order ignoring duplicates,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 unique expected items
+
Collection:
[]
@@ -714,10 +698,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in order ignoring duplicates,
- but it lacked 2 of 2 expected items:
- "a",
- "b"
-
+ but it lacked all 2 unique expected items
+
Collection:
[]
@@ -754,18 +736,8 @@ contained item 7 at index 6 that was not expected and
contained item 8 at index 7 that was not expected and
contained item 9 at index 8 that was not expected and
contained item 10 at index 9 that was not expected and
- lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ lacked all 10 unique expected items
+
Collection:
[
1,
@@ -1162,11 +1134,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in any order,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 expected items
+
Collection:
[]
@@ -1203,18 +1172,8 @@ contained item 7 at index 6 that was not expected and
contained item 8 at index 7 that was not expected and
contained item 9 at index 8 that was not expected and
contained item 10 at index 9 that was not expected and
- lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ lacked all 10 expected items
+
Collection:
[
1,
@@ -1672,11 +1631,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in any order ignoring duplicates,
- but it lacked 3 of 3 expected items:
- "a",
- "b",
- "c"
-
+ but it lacked all 3 unique expected items
+
Collection:
[]
@@ -1704,10 +1660,8 @@ await That(Act).Throws()
.WithMessage("""
Expected that subject
matches collection expected in any order ignoring duplicates,
- but it lacked 2 of 2 expected items:
- "a",
- "b"
-
+ but it lacked all 2 unique expected items
+
Collection:
[]
@@ -1744,18 +1698,8 @@ contained item 7 at index 6 that was not expected and
contained item 8 at index 7 that was not expected and
contained item 9 at index 8 that was not expected and
contained item 10 at index 9 that was not expected and
- lacked 10 of 10 expected items:
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110
-
+ lacked all 10 unique expected items
+
Collection:
[
1,