defaultifempty

This commit is contained in:
neuecc
2020-05-10 22:52:12 +09:00
parent 93dd82e3d4
commit 3f082f1923
3 changed files with 38 additions and 5 deletions

View File

@@ -112,5 +112,33 @@ namespace NetCoreTests.Linq
await Assert.ThrowsAsync<UniTaskTestException>(async () => await zs);
}
}
[Fact]
public async Task DefaultIfEmpty()
{
{
var xs = await Enumerable.Range(1, 0).ToUniTaskAsyncEnumerable().DefaultIfEmpty(99).ToArrayAsync();
var ys = Enumerable.Range(1, 0).DefaultIfEmpty(99).ToArray();
xs.Should().BeEquivalentTo(ys);
}
{
var xs = await Enumerable.Range(1, 1).ToUniTaskAsyncEnumerable().DefaultIfEmpty(99).ToArrayAsync();
var ys = Enumerable.Range(1, 1).DefaultIfEmpty(99).ToArray();
xs.Should().BeEquivalentTo(ys);
}
{
var xs = await Enumerable.Range(1, 10).ToUniTaskAsyncEnumerable().DefaultIfEmpty(99).ToArrayAsync();
var ys = Enumerable.Range(1, 10).DefaultIfEmpty(99).ToArray();
xs.Should().BeEquivalentTo(ys);
}
// Throw
{
foreach (var item in UniTaskTestException.Throws())
{
var xs = item.DefaultIfEmpty().ToArrayAsync();
await Assert.ThrowsAsync<UniTaskTestException>(async () => await xs);
}
}
}
}
}