public void SplitWhen_must_work_with_single_element_splits()
{
this.AssertAllStagesStopped(() =>
{
var task = Source.From(Enumerable.Range(1, 100))
.SplitWhen(_ => true)
.Lift()
.SelectAsync(1, s => s.RunWith(Sink.First<int>(), Materializer)) // Please note that this line *also* implicitly asserts nonempty substreams
.Grouped(200)
.RunWith(Sink.First<IEnumerable<int>>(), Materializer);
task.Wait(TimeSpan.FromSeconds(3)).Should().BeTrue();
task.Result.ShouldAllBeEquivalentTo(Enumerable.Range(1, 100));
}, Materializer);
}