diff --git a/Pipeline/Build.cs b/Pipeline/Build.cs
index dc06fb472..30c5044b5 100644
--- a/Pipeline/Build.cs
+++ b/Pipeline/Build.cs
@@ -20,7 +20,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;
[GitRepository] readonly GitRepository Repository;
diff --git a/Source/aweXpect.Core/Core/ResultContext.cs b/Source/aweXpect.Core/Core/ResultContext.cs
index 47e2148b2..a1d2b205f 100644
--- a/Source/aweXpect.Core/Core/ResultContext.cs
+++ b/Source/aweXpect.Core/Core/ResultContext.cs
@@ -9,8 +9,6 @@ namespace aweXpect.Core;
///
public abstract class ResultContext
{
- internal ResultContext? _next;
-
///
/// A result context that is appended to a result error.
///
diff --git a/Source/aweXpect.Core/Core/ResultContexts.cs b/Source/aweXpect.Core/Core/ResultContexts.cs
index 44e2a8586..32b95af02 100644
--- a/Source/aweXpect.Core/Core/ResultContexts.cs
+++ b/Source/aweXpect.Core/Core/ResultContexts.cs
@@ -9,19 +9,12 @@ namespace aweXpect.Core;
///
public class ResultContexts : IEnumerable
{
- private ResultContext? _first;
+ private readonly List _results = new();
private bool _isOpen = true;
///
public IEnumerator GetEnumerator()
- {
- ResultContext? current = _first;
- while (current != null)
- {
- yield return current;
- current = current._next;
- }
- }
+ => _results.GetEnumerator();
///
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
@@ -51,15 +44,7 @@ public ResultContexts Add(ResultContext context)
{
if (_isOpen)
{
- if (_first is null)
- {
- _first = context;
- }
- else
- {
- context._next = _first;
- _first = context;
- }
+ _results.Add(context);
}
return this;
@@ -72,7 +57,7 @@ public ResultContexts Clear()
{
if (_isOpen)
{
- _first = null;
+ _results.Clear();
}
return this;
@@ -91,28 +76,7 @@ public ResultContexts Remove(Predicate predicate)
{
if (_isOpen)
{
- ResultContext? previous = null;
- ResultContext? current = _first;
- while (current != null)
- {
- if (predicate(current))
- {
- if (previous == null)
- {
- _first = current._next;
- }
- else
- {
- previous._next = current._next;
- }
- }
- else
- {
- previous = current;
- }
-
- current = current._next;
- }
+ _results.RemoveAll(predicate);
}
return this;
diff --git a/Tests/aweXpect.Core.Tests/Core/Nodes/WhichNodeTests.cs b/Tests/aweXpect.Core.Tests/Core/Nodes/WhichNodeTests.cs
index 6266e447c..95d34f794 100644
--- a/Tests/aweXpect.Core.Tests/Core/Nodes/WhichNodeTests.cs
+++ b/Tests/aweXpect.Core.Tests/Core/Nodes/WhichNodeTests.cs
@@ -531,6 +531,9 @@ Expected that subject
Actual:
foo
+
+ Expected:
+ bar
""");
}
diff --git a/Tests/aweXpect.Core.Tests/Core/ResultContextsTests.cs b/Tests/aweXpect.Core.Tests/Core/ResultContextsTests.cs
index 5ccf10879..bfa95bc38 100644
--- a/Tests/aweXpect.Core.Tests/Core/ResultContextsTests.cs
+++ b/Tests/aweXpect.Core.Tests/Core/ResultContextsTests.cs
@@ -1,4 +1,7 @@
-namespace aweXpect.Core.Tests.Core;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace aweXpect.Core.Tests.Core;
public sealed class ResultContextsTests
{
@@ -29,6 +32,18 @@ public async Task AddMultiple_ShouldAddContext()
await That(sut).HasCount().EqualTo(5);
}
+ [Fact]
+ public async Task AddSameContextMultipleTimes_ShouldStillWork()
+ {
+ var sharedContext = new ResultContext.Fixed("foo", "1");
+ ResultContexts sut = new();
+ sut.Add(sharedContext);
+ sut.Add(sharedContext);
+ sut.Add(sharedContext);
+
+ await That(sut).All().ComplyWith(x => x.IsSameAs(sharedContext));
+ }
+
[Fact]
public async Task Clear_ShouldRemoveAllContexts()
{
diff --git a/Tests/aweXpect.Core.Tests/Customization/CustomizeFormattingTests.cs b/Tests/aweXpect.Core.Tests/Customization/CustomizeFormattingTests.cs
index 37c4ddb07..5fae9a52b 100644
--- a/Tests/aweXpect.Core.Tests/Customization/CustomizeFormattingTests.cs
+++ b/Tests/aweXpect.Core.Tests/Customization/CustomizeFormattingTests.cs
@@ -73,6 +73,9 @@ Expected that actual
Actual:
this is some text with lots of words after the first difference to verify the customization setting
+
+ Expected:
+ this is another text with lots of words after the first difference to verify the customization setting
""");
}
@@ -88,6 +91,9 @@ Expected that actual
Actual:
this is some text with lots of words after the first difference to verify the customization setting
+
+ Expected:
+ this is another text with lots of words after the first difference to verify the customization setting
""");
}
}
diff --git a/Tests/aweXpect.Core.Tests/Options/StringEqualityOptionsTests.ExactMatchTypeTests.cs b/Tests/aweXpect.Core.Tests/Options/StringEqualityOptionsTests.ExactMatchTypeTests.cs
index 17b98d53b..a5c9b78a5 100644
--- a/Tests/aweXpect.Core.Tests/Options/StringEqualityOptionsTests.ExactMatchTypeTests.cs
+++ b/Tests/aweXpect.Core.Tests/Options/StringEqualityOptionsTests.ExactMatchTypeTests.cs
@@ -39,6 +39,10 @@ Expected that sut
Actual:
foo
bar
+
+ Expected:
+ FOO
+ BAR
""").IgnoringNewlineStyle();
}
@@ -62,6 +66,9 @@ Expected that sut
Actual:
foo
+
+ Expected:
+ bar
""");
}
@@ -86,6 +93,10 @@ Expected that sut
Actual:
foo
bar
+
+ Expected:
+ something
+ else
""").IgnoringNewlineStyle();
}
diff --git a/Tests/aweXpect.Core.Tests/Options/StringEqualityOptionsTests.RegexMatchTypeTests.cs b/Tests/aweXpect.Core.Tests/Options/StringEqualityOptionsTests.RegexMatchTypeTests.cs
index db49b4d6e..408464bfd 100644
--- a/Tests/aweXpect.Core.Tests/Options/StringEqualityOptionsTests.RegexMatchTypeTests.cs
+++ b/Tests/aweXpect.Core.Tests/Options/StringEqualityOptionsTests.RegexMatchTypeTests.cs
@@ -39,6 +39,10 @@ Expected that sut
Actual:
foo
bar
+
+ Expected:
+ FOO
+ BAR
""").IgnoringNewlineStyle();
}
@@ -62,6 +66,9 @@ Expected that sut
Actual:
foo
+
+ Expected:
+ bar
""");
}
@@ -86,6 +93,10 @@ Expected that sut
Actual:
foo
bar
+
+ Expected:
+ something
+ else
""").IgnoringNewlineStyle();
}
diff --git a/Tests/aweXpect.Core.Tests/Options/StringEqualityOptionsTests.WildcardMatchTypeTests.cs b/Tests/aweXpect.Core.Tests/Options/StringEqualityOptionsTests.WildcardMatchTypeTests.cs
index 3827af4eb..bf360c759 100644
--- a/Tests/aweXpect.Core.Tests/Options/StringEqualityOptionsTests.WildcardMatchTypeTests.cs
+++ b/Tests/aweXpect.Core.Tests/Options/StringEqualityOptionsTests.WildcardMatchTypeTests.cs
@@ -39,6 +39,10 @@ Expected that sut
Actual:
foo
bar
+
+ Expected:
+ FOO
+ BAR
""").IgnoringNewlineStyle();
}
@@ -62,6 +66,9 @@ Expected that sut
Actual:
foo
+
+ Expected:
+ bar
""");
}
@@ -86,6 +93,10 @@ Expected that sut
Actual:
foo
bar
+
+ Expected:
+ something
+ else
""").IgnoringNewlineStyle();
}