public void Unfold_Source_must_generate_a_finite_fibonacci_sequence_asynchronously()
{
Source.UnfoldAsync(Tuple.Create(0, 1), tuple =>
{
var a = tuple.Item1;
var b = tuple.Item2;
if (a > 10000000)
return Task.FromResult<Tuple<Tuple<int, int>, int>>(null);
return Task.FromResult(Tuple.Create(Tuple.Create(b, a + b), a));
}).RunAggregate(new LinkedList<int>(), (ints, i) =>
{
ints.AddFirst(i);
return ints;
}, Materializer).Result.Should().Equal(Expected);
}