Skip to content

Commit

Permalink
Update TraverseXxxFirst tests
Browse files Browse the repository at this point in the history
  • Loading branch information
viceroypenguin committed Jan 31, 2023
1 parent ffbb2b1 commit dddbc59
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 11 deletions.
16 changes: 10 additions & 6 deletions Tests/SuperLinq.Async.Test/TraverseTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,22 @@ public void TraverseBreadthFirstIsStreaming()
}

[Fact]
public Task TraverseDepthFirstPreservesChildrenOrder()
public async Task TraverseDepthFirstPreservesChildrenOrder()
{
var res = AsyncSuperEnumerable.TraverseDepthFirst(0, i => i == 0 ? AsyncEnumerable.Range(1, 10) : AsyncEnumerable.Empty<int>());
return res.AssertSequenceEqual(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
await using var root = Enumerable.Range(1, 10).AsTestingSequence();
await using var child = Enumerable.Empty<int>().AsTestingSequence(maxEnumerations: 10);
var res = AsyncSuperEnumerable.TraverseDepthFirst(0, i => i == 0 ? root : child);
await res.AssertSequenceEqual(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
}


[Fact]
public Task TraverseBreadthFirstPreservesChildrenOrder()
public async Task TraverseBreadthFirstPreservesChildrenOrder()
{
var res = AsyncSuperEnumerable.TraverseBreadthFirst(0, i => i == 0 ? AsyncEnumerable.Range(1, 10) : AsyncEnumerable.Empty<int>());
return res.AssertSequenceEqual(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
await using var root = Enumerable.Range(1, 10).AsTestingSequence();
await using var child = Enumerable.Empty<int>().AsTestingSequence(maxEnumerations: 10);
var res = AsyncSuperEnumerable.TraverseBreadthFirst(0, i => i == 0 ? root : child);
await res.AssertSequenceEqual(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
}

private class Tree<T>
Expand Down
14 changes: 9 additions & 5 deletions Tests/SuperLinq.Test/TraverseTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,23 @@ public void TraverseBreadthFirstIsStreaming()
[Fact]
public void TraverseDepthFirstPreservesChildrenOrder()
{
var res = SuperEnumerable.TraverseDepthFirst(0, i => i == 0 ? Enumerable.Range(1, 10) : Enumerable.Empty<int>());
using var root = Enumerable.Range(1, 10).AsTestingSequence();
using var child = Enumerable.Empty<int>().AsTestingSequence(maxEnumerations: 10);
var res = SuperEnumerable.TraverseDepthFirst(0, i => i == 0 ? root : child);
res.AssertSequenceEqual(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
}


[Fact]
public void TraverseBreadthFirstPreservesChildrenOrder()
{
var res = SuperEnumerable.TraverseBreadthFirst(0, i => i == 0 ? Enumerable.Range(1, 10) : Enumerable.Empty<int>());
using var root = Enumerable.Range(1, 10).AsTestingSequence();
using var child = Enumerable.Empty<int>().AsTestingSequence(maxEnumerations: 10);
var res = SuperEnumerable.TraverseBreadthFirst(0, i => i == 0 ? root : child);
res.AssertSequenceEqual(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
}

class Tree<T>
private class Tree<T>
{
public T Value { get; }
public IEnumerable<Tree<T>> Children { get; }
Expand All @@ -41,10 +45,10 @@ public Tree(T value, IEnumerable<Tree<T>> children)
}
}

static class Tree
private static class Tree
{
public static Tree<T> New<T>(T value, params Tree<T>[] children) =>
new Tree<T>(value, children);
new(value, children);
}

[Fact]
Expand Down

0 comments on commit dddbc59

Please sign in to comment.