Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Source/aweXpect/That/Collections/ThatEnumerable.All.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ public static Elements All(
/// <summary>
/// Verifies that in the collection all items…
/// </summary>
public static ElementsForEnumerable<IEnumerable?> All(
this IThat<IEnumerable?> subject)
public static ElementsForEnumerable<IEnumerable> All(
this IThat<IEnumerable> subject)
=> new(subject, EnumerableQuantifier.All(subject.Get().ExpectationBuilder.ExpectationGrammars));

#if NET8_0_OR_GREATER
Expand Down
37 changes: 17 additions & 20 deletions Source/aweXpect/That/Collections/ThatEnumerable.AreAllUnique.cs
Original file line number Diff line number Diff line change
Expand Up @@ -101,15 +101,14 @@ public static partial class ThatEnumerable
/// <summary>
/// Verifies that the collection only contains unique items.
/// </summary>
public static ObjectEqualityResult<TEnumerable, IThat<TEnumerable?>, object?> AreAllUnique<TEnumerable>(
this IThat<TEnumerable?> source)
where TEnumerable : IEnumerable
public static ObjectEqualityResult<IEnumerable, IThat<IEnumerable>, object?> AreAllUnique(
this IThat<IEnumerable> source)
{
ObjectEqualityOptions<object?> options = new();
ExpectationBuilder expectationBuilder = source.Get().ExpectationBuilder;
return new ObjectEqualityResult<TEnumerable, IThat<TEnumerable?>, object?>(
return new ObjectEqualityResult<IEnumerable, IThat<IEnumerable>, object?>(
expectationBuilder.AddConstraint((it, grammars)
=> new AreAllUniqueForEnumerableConstraint<TEnumerable?, object?>(expectationBuilder, it, grammars,
=> new AreAllUniqueForEnumerableConstraint<IEnumerable, object?>(expectationBuilder, it, grammars,
options)),
source, options
);
Expand All @@ -119,19 +118,17 @@ public static partial class ThatEnumerable
/// Verifies that the collection only contains items with unique members specified by the
/// <paramref name="memberAccessor" />.
/// </summary>
public static ObjectEqualityResult<TEnumerable, IThat<TEnumerable?>, TMember> AreAllUnique<TEnumerable,
TMember>(
this IThat<TEnumerable?> source,
public static ObjectEqualityResult<IEnumerable, IThat<IEnumerable>, TMember> AreAllUnique<TMember>(
this IThat<IEnumerable> source,
Func<object?, TMember> memberAccessor,
[CallerArgumentExpression("memberAccessor")]
string doNotPopulateThisValue = "")
where TEnumerable : IEnumerable
{
ObjectEqualityOptions<TMember> options = new();
ExpectationBuilder expectationBuilder = source.Get().ExpectationBuilder;
return new ObjectEqualityResult<TEnumerable, IThat<TEnumerable?>, TMember>(
return new ObjectEqualityResult<IEnumerable, IThat<IEnumerable>, TMember>(
expectationBuilder.AddConstraint((it, grammars)
=> new AreAllUniqueWithPredicateForEnumerableConstraint<TEnumerable, TMember, TMember>(
=> new AreAllUniqueWithPredicateForEnumerableConstraint<IEnumerable, TMember, TMember>(
expectationBuilder,
it, grammars,
memberAccessor,
Expand All @@ -145,12 +142,12 @@ public static partial class ThatEnumerable
/// <summary>
/// Verifies that the collection only contains unique items.
/// </summary>
public static ObjectEqualityResult<ImmutableArray<TItem>, IThat<ImmutableArray<TItem>?>, TItem> AreAllUnique<TItem>(
this IThat<ImmutableArray<TItem>?> source)
public static ObjectEqualityResult<ImmutableArray<TItem>, IThat<ImmutableArray<TItem>>, TItem> AreAllUnique<TItem>(
this IThat<ImmutableArray<TItem>> source)
{
ObjectEqualityOptions<TItem> options = new();
ExpectationBuilder expectationBuilder = source.Get().ExpectationBuilder;
return new ObjectEqualityResult<ImmutableArray<TItem>, IThat<ImmutableArray<TItem>?>, TItem>(
return new ObjectEqualityResult<ImmutableArray<TItem>, IThat<ImmutableArray<TItem>>, TItem>(
expectationBuilder.AddConstraint((it, grammars)
=> new AreAllUniqueForEnumerableConstraint<ImmutableArray<TItem>, TItem>(expectationBuilder, it,
grammars, options)),
Expand Down Expand Up @@ -181,17 +178,17 @@ public static partial class ThatEnumerable
/// Verifies that the collection only contains items with unique members specified by the
/// <paramref name="memberAccessor" />.
/// </summary>
public static ObjectEqualityResult<ImmutableArray<TItem>, IThat<ImmutableArray<TItem>?>, TMember> AreAllUnique<
public static ObjectEqualityResult<ImmutableArray<TItem>, IThat<ImmutableArray<TItem>>, TMember> AreAllUnique<
TItem,
TMember>(
this IThat<ImmutableArray<TItem>?> source,
this IThat<ImmutableArray<TItem>> source,
Func<TItem, TMember> memberAccessor,
[CallerArgumentExpression("memberAccessor")]
string doNotPopulateThisValue = "")
{
ObjectEqualityOptions<TMember> options = new();
ExpectationBuilder expectationBuilder = source.Get().ExpectationBuilder;
return new ObjectEqualityResult<ImmutableArray<TItem>, IThat<ImmutableArray<TItem>?>, TMember>(
return new ObjectEqualityResult<ImmutableArray<TItem>, IThat<ImmutableArray<TItem>>, TMember>(
expectationBuilder.AddConstraint((it, grammars)
=> new AreAllUniqueWithPredicateForEnumerableConstraint<ImmutableArray<TItem>, TMember, TMember>(
expectationBuilder,
Expand All @@ -209,15 +206,15 @@ public static partial class ThatEnumerable
/// Verifies that the collection only contains items with unique members specified by the
/// <paramref name="memberAccessor" />.
/// </summary>
public static StringEqualityResult<ImmutableArray<TItem>, IThat<ImmutableArray<TItem>?>> AreAllUnique<TItem>(
this IThat<ImmutableArray<TItem>?> source,
public static StringEqualityResult<ImmutableArray<TItem>, IThat<ImmutableArray<TItem>>> AreAllUnique<TItem>(
this IThat<ImmutableArray<TItem>> source,
Func<TItem, string> memberAccessor,
[CallerArgumentExpression("memberAccessor")]
string doNotPopulateThisValue = "")
{
StringEqualityOptions options = new();
ExpectationBuilder expectationBuilder = source.Get().ExpectationBuilder;
return new StringEqualityResult<ImmutableArray<TItem>, IThat<ImmutableArray<TItem>?>>(
return new StringEqualityResult<ImmutableArray<TItem>, IThat<ImmutableArray<TItem>>>(
expectationBuilder.AddConstraint((it, grammars)
=> new AreAllUniqueWithPredicateForEnumerableConstraint<ImmutableArray<TItem>, string, string>(
expectationBuilder,
Expand Down
4 changes: 2 additions & 2 deletions Source/aweXpect/That/Collections/ThatEnumerable.AtLeast.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ public static Elements AtLeast(
/// <summary>
/// Verifies that in the collection at least <paramref name="minimum" /> items…
/// </summary>
public static ElementsForEnumerable<IEnumerable?> AtLeast(
this IThat<IEnumerable?> subject,
public static ElementsForEnumerable<IEnumerable> AtLeast(
this IThat<IEnumerable> subject,
int minimum)
=> new(subject, EnumerableQuantifier.AtLeast(minimum, subject.Get().ExpectationBuilder.ExpectationGrammars));

Expand Down
4 changes: 2 additions & 2 deletions Source/aweXpect/That/Collections/ThatEnumerable.AtMost.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ public static Elements AtMost(
/// <summary>
/// Verifies that in the collection at most <paramref name="maximum" /> items…
/// </summary>
public static ElementsForEnumerable<IEnumerable?> AtMost(
this IThat<IEnumerable?> subject,
public static ElementsForEnumerable<IEnumerable> AtMost(
this IThat<IEnumerable> subject,
int maximum)
=> new(subject, EnumerableQuantifier.AtMost(maximum, subject.Get().ExpectationBuilder.ExpectationGrammars));

Expand Down
6 changes: 3 additions & 3 deletions Source/aweXpect/That/Collections/ThatEnumerable.Between.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@ public static BetweenResult<Elements> Between(
/// <summary>
/// Verifies that in the collection between <paramref name="minimum" />…
/// </summary>
public static BetweenResult<ElementsForEnumerable<IEnumerable?>> Between(
this IThat<IEnumerable?> subject,
public static BetweenResult<ElementsForEnumerable<IEnumerable>> Between(
this IThat<IEnumerable> subject,
int minimum)
=> new(maximum => new ElementsForEnumerable<IEnumerable?>(subject,
=> new(maximum => new ElementsForEnumerable<IEnumerable>(subject,
EnumerableQuantifier.Between(minimum, maximum, subject.Get().ExpectationBuilder.ExpectationGrammars)));

#if NET8_0_OR_GREATER
Expand Down
36 changes: 18 additions & 18 deletions Source/aweXpect/That/Collections/ThatEnumerable.Contains.cs
Original file line number Diff line number Diff line change
Expand Up @@ -99,15 +99,15 @@ public static CountResult<IEnumerable<TItem>, IThat<IEnumerable<TItem>?>>
/// <summary>
/// Verifies that the collection contains the <paramref name="expected" /> value.
/// </summary>
public static ObjectCountResult<IEnumerable, IThat<IEnumerable?>, object?>
public static ObjectCountResult<IEnumerable, IThat<IEnumerable>, object?>
Contains(
this IThat<IEnumerable?> source,
this IThat<IEnumerable> source,
object? expected)
{
Quantifier quantifier = new();
ObjectEqualityOptions<object?> options = new();
ExpectationBuilder expectationBuilder = source.Get().ExpectationBuilder;
return new ObjectCountResult<IEnumerable, IThat<IEnumerable?>, object?>(
return new ObjectCountResult<IEnumerable, IThat<IEnumerable>, object?>(
expectationBuilder.AddConstraint((it, grammars) =>
new ContainForEnumerableConstraint<IEnumerable, object?>(
expectationBuilder,
Expand All @@ -125,17 +125,17 @@ public static CountResult<IEnumerable<TItem>, IThat<IEnumerable<TItem>?>>
/// <summary>
/// Verifies that the collection contains an item that satisfies the <paramref name="predicate" />.
/// </summary>
public static CountResult<IEnumerable, IThat<IEnumerable?>>
public static CountResult<IEnumerable, IThat<IEnumerable>>
Contains(
this IThat<IEnumerable?> source,
this IThat<IEnumerable> source,
Func<object?, bool> predicate,
[CallerArgumentExpression("predicate")]
string doNotPopulateThisValue = "")
{
predicate.ThrowIfNull();
Quantifier quantifier = new();
ExpectationBuilder expectationBuilder = source.Get().ExpectationBuilder;
return new CountResult<IEnumerable, IThat<IEnumerable?>>(
return new CountResult<IEnumerable, IThat<IEnumerable>>(
expectationBuilder.AddConstraint((it, grammars) =>
new ContainForEnumerableConstraint<IEnumerable, object?>(
expectationBuilder, it, grammars,
Expand Down Expand Up @@ -298,16 +298,16 @@ public static CountResult<ImmutableArray<TItem>, IThat<ImmutableArray<TItem>>>
/// <summary>
/// Verifies that the collection contains the provided <paramref name="expected" /> collection.
/// </summary>
public static ObjectCollectionContainResult<IEnumerable, IThat<IEnumerable?>, TItem>
public static ObjectCollectionContainResult<IEnumerable, IThat<IEnumerable>, TItem>
Contains<TItem>(
this IThat<IEnumerable?> source,
this IThat<IEnumerable> source,
IEnumerable<TItem> expected,
[CallerArgumentExpression("expected")] string doNotPopulateThisValue = "")
{
ObjectEqualityOptions<TItem> options = new();
CollectionMatchOptions matchOptions = new(CollectionMatchOptions.EquivalenceRelations.Contains);
ExpectationBuilder expectationBuilder = source.Get().ExpectationBuilder;
return new ObjectCollectionContainResult<IEnumerable, IThat<IEnumerable?>, TItem>(
return new ObjectCollectionContainResult<IEnumerable, IThat<IEnumerable>, TItem>(
expectationBuilder.AddConstraint((it, grammars) =>
new IsEqualToForEnumerableConstraint<IEnumerable, TItem, TItem>(expectationBuilder, it, grammars,
doNotPopulateThisValue.TrimCommonWhiteSpace(),
Expand Down Expand Up @@ -448,15 +448,15 @@ public static CountResult<IEnumerable<TItem>, IThat<IEnumerable<TItem>?>>
/// <summary>
/// Verifies that the collection does not contain the <paramref name="unexpected" /> value.
/// </summary>
public static ObjectCountResult<IEnumerable, IThat<IEnumerable?>, object?>
public static ObjectCountResult<IEnumerable, IThat<IEnumerable>, object?>
DoesNotContain(
this IThat<IEnumerable?> source,
this IThat<IEnumerable> source,
object? unexpected)
{
Quantifier quantifier = new();
ObjectEqualityOptions<object?> options = new();
ExpectationBuilder expectationBuilder = source.Get().ExpectationBuilder;
return new ObjectCountResult<IEnumerable, IThat<IEnumerable?>, object?>(
return new ObjectCountResult<IEnumerable, IThat<IEnumerable>, object?>(
expectationBuilder.AddConstraint((it, grammars) =>
new ContainForEnumerableConstraint<IEnumerable, object?>(
expectationBuilder,
Expand All @@ -474,17 +474,17 @@ public static CountResult<IEnumerable<TItem>, IThat<IEnumerable<TItem>?>>
/// <summary>
/// Verifies that the collection contains no item that satisfies the <paramref name="predicate" />.
/// </summary>
public static CountResult<IEnumerable, IThat<IEnumerable?>>
public static CountResult<IEnumerable, IThat<IEnumerable>>
DoesNotContain(
this IThat<IEnumerable?> source,
this IThat<IEnumerable> source,
Func<object?, bool> predicate,
[CallerArgumentExpression("predicate")]
string doNotPopulateThisValue = "")
{
predicate.ThrowIfNull();
Quantifier quantifier = new();
ExpectationBuilder expectationBuilder = source.Get().ExpectationBuilder;
return new CountResult<IEnumerable, IThat<IEnumerable?>>(
return new CountResult<IEnumerable, IThat<IEnumerable>>(
expectationBuilder.AddConstraint((it, grammars) =>
new ContainForEnumerableConstraint<IEnumerable, object?>(
expectationBuilder, it, grammars,
Expand Down Expand Up @@ -650,17 +650,17 @@ public static CountResult<ImmutableArray<TItem>, IThat<ImmutableArray<TItem>>>
/// <summary>
/// Verifies that the collection does not contain the provided <paramref name="unexpected" /> collection.
/// </summary>
public static ObjectCollectionContainResult<IEnumerable, IThat<IEnumerable?>, TItem>
public static ObjectCollectionContainResult<IEnumerable, IThat<IEnumerable>, TItem>
DoesNotContain<TItem>(
this IThat<IEnumerable?> source,
this IThat<IEnumerable> source,
IEnumerable<TItem> unexpected,
[CallerArgumentExpression("unexpected")]
string doNotPopulateThisValue = "")
{
ObjectEqualityOptions<TItem> options = new();
CollectionMatchOptions matchOptions = new(CollectionMatchOptions.EquivalenceRelations.Contains);
ExpectationBuilder expectationBuilder = source.Get().ExpectationBuilder;
return new ObjectCollectionContainResult<IEnumerable, IThat<IEnumerable?>, TItem>(
return new ObjectCollectionContainResult<IEnumerable, IThat<IEnumerable>, TItem>(
expectationBuilder.AddConstraint((it, grammars) =>
new IsEqualToForEnumerableConstraint<IEnumerable, TItem, TItem>(expectationBuilder, it, grammars,
doNotPopulateThisValue.TrimCommonWhiteSpace(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -282,16 +282,15 @@ public static partial class ThatEnumerable
/// <summary>
/// …are equal to the <paramref name="expected" /> value.
/// </summary>
public static ObjectEqualityResult<TEnumerable, IThat<TEnumerable>, object?>
AreEqualTo<TEnumerable>(this ElementsForEnumerable<TEnumerable> elements, object? expected)
where TEnumerable : IEnumerable?
public static ObjectEqualityResult<IEnumerable, IThat<IEnumerable>, object?>
AreEqualTo(this ElementsForEnumerable<IEnumerable> elements, object? expected)
{
IElementsForEnumerable<TEnumerable> iElements = elements;
IElementsForEnumerable<IEnumerable> iElements = elements;
ObjectEqualityOptions<object?> options = new();
ExpectationBuilder expectationBuilder = iElements.Subject.Get().ExpectationBuilder;
return new ObjectEqualityResult<TEnumerable, IThat<TEnumerable>, object?>(
return new ObjectEqualityResult<IEnumerable, IThat<IEnumerable>, object?>(
expectationBuilder.AddConstraint((it, grammars)
=> new CollectionForEnumerableConstraint<TEnumerable>(
=> new CollectionForEnumerableConstraint<IEnumerable>(
expectationBuilder,
it, grammars,
iElements.Quantifier,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public partial class ElementsForEnumerable<TEnumerable>
/// <summary>
/// …are equivalent to the <paramref name="expected" /> value.
/// </summary>
public ObjectEqualityResult<TEnumerable, IThat<TEnumerable?>, object?>
public ObjectEqualityResult<TEnumerable, IThat<TEnumerable>, object?>
AreEquivalentTo<TExpected>(TExpected expected,
Func<EquivalencyOptions<TExpected>, EquivalencyOptions>? options = null,
[CallerArgumentExpression("expected")] string doNotPopulateThisValue = "")
Expand All @@ -77,7 +77,7 @@ public partial class ElementsForEnumerable<TEnumerable>

ObjectEqualityOptions<object?> equalityOptions = new();
equalityOptions.Equivalent(equivalencyOptions);
return new ObjectEqualityResult<TEnumerable, IThat<TEnumerable?>, object?>(
return new ObjectEqualityResult<TEnumerable, IThat<TEnumerable>, object?>(
expectationBuilder.AddConstraint((it, grammars)
=> new CollectionForEnumerableConstraint<TEnumerable>(
expectationBuilder,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,11 +129,11 @@ public partial class ElementsForEnumerable<TEnumerable>
/// <summary>
/// …comply with the <paramref name="expectations" />.
/// </summary>
public ObjectEqualityResult<TEnumerable, IThat<TEnumerable?>, object?>
public ObjectEqualityResult<TEnumerable, IThat<TEnumerable>, object?>
ComplyWith(Action<IThat<object?>> expectations)
{
ObjectEqualityOptions<object?> options = new();
return new ObjectEqualityResult<TEnumerable, IThat<TEnumerable?>, object?>(
return new ObjectEqualityResult<TEnumerable, IThat<TEnumerable>, object?>(
_subject.Get().ExpectationBuilder.AddConstraint((expectationBuilder, it, grammars)
=> new ComplyWithConstraint(expectationBuilder, it, grammars, _quantifier, expectations)),
_subject,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,15 +79,15 @@ public partial class ElementsForEnumerable<TEnumerable>
/// <summary>
/// …satisfy the <paramref name="predicate" />.
/// </summary>
public AndOrResult<TEnumerable, IThat<TEnumerable?>>
public AndOrResult<TEnumerable, IThat<TEnumerable>>
Satisfy(
Func<object?, bool> predicate,
[CallerArgumentExpression("predicate")]
string doNotPopulateThisValue = "")
{
predicate.ThrowIfNull();
ExpectationBuilder expectationBuilder = _subject.Get().ExpectationBuilder;
return new AndOrResult<TEnumerable, IThat<TEnumerable?>>(
return new AndOrResult<TEnumerable, IThat<TEnumerable>>(
expectationBuilder.AddConstraint((it, grammars)
=> new CollectionForEnumerableConstraint<TEnumerable>(
expectationBuilder,
Expand Down
Loading
Loading