public async Task FirstOrDefaultShouldReturnFirstElement()
{
Assert.AreEqual(10, await AsyncEnumerable.Range(10, 20).FirstOrDefault());
#pragma warning disable 1998
Assert.AreEqual(11, await AsyncEnumerable.Range(0, 20).FirstOrDefault(async i => i > 10 && i % 2 > 0));
#pragma warning restore 1998
#pragma warning disable 1998
Assert.AreEqual(0,await AsyncEnumerable.Range(0, 1).FirstOrDefault(async i => i > 3));
#pragma warning restore 1998
}
}