public async Task Awaiting_Result_Iterates_Source()
        {
            var target = new ThrowingAsyncEnumerable <int>();

            await Assert.ThrowsAsync <NotImplementedException>(async() =>
            {
                await target.SingleOrDefault();
            });
        }
        public async Task Awaiting_Result_Iterates_Source_Task_Predicate()
        {
            var target = new ThrowingAsyncEnumerable <bool>();

            await Assert.ThrowsAsync <NotImplementedException>(async() =>
            {
                await target.SingleOrDefault(QuickFunctions <bool> .IdentityTasked);
            });
        }
        public void Eagerly_Validates_Source()
        {
            var target = new ThrowingAsyncEnumerable <int>();

            Assert.Throws <ArgumentNullException>(() =>
            {
                var iter = AsyncEnumerable.Cast <int, object>((IAsyncEnumerable <int>)null);
            });
        }
Esempio n. 4
0
        public async Task Awaiting_Result_Starts_Iteration_No_Predicate()
        {
            var target = new ThrowingAsyncEnumerable <long>();

            await Assert.ThrowsAsync <NotImplementedException>(async() =>
            {
                await target.LongCount();
            });
        }
Esempio n. 5
0
        public async Task Awaiting_Result_Starts_Iteration_Plain_Predicate()
        {
            var target = new ThrowingAsyncEnumerable <bool>();

            await Assert.ThrowsAsync <NotImplementedException>(async() =>
            {
                await target.LongCount(QuickFunctions <bool> .Identity);
            });
        }
        public void Eager_Validation_Task()
        {
            var target = new ThrowingAsyncEnumerable <int>();

            Assert.Throws <ArgumentNullException>(() =>
            {
                var iter = AsyncEnumerable.Append(target, (Task <int>)null);
            });
        }
Esempio n. 7
0
        public void Eager_Validation_Source_ValueTaskPredicate()
        {
            var target = new ThrowingAsyncEnumerable <bool>();

            Assert.Throws <ArgumentNullException>(() =>
            {
                var noIterate = AsyncEnumerable.Any((IAsyncEnumerable <bool>)null, QuickFunctions <bool> .IdentityWrapped);
            });
        }
Esempio n. 8
0
        public async Task Awaiting_Task_Forces_Iteration()
        {
            var target = new ThrowingAsyncEnumerable <bool>();

            await Assert.ThrowsAsync <NotImplementedException>(async() =>
            {
                var all = await target.Any(QuickFunctions <bool> .Identity);
            });
        }
Esempio n. 9
0
        public void Eager_Validation_Predicate_ValueTaskPredicate()
        {
            var target = new ThrowingAsyncEnumerable <bool>();

            Assert.Throws <ArgumentNullException>(() =>
            {
                var noIterate = AsyncEnumerable.Any(target, (Func <bool, ValueTask <bool> >)null);
            });
        }
Esempio n. 10
0
        public void Eager_Validation_Source_NoPredicate()
        {
            var target = new ThrowingAsyncEnumerable <bool>();

            Assert.Throws <ArgumentNullException>(() =>
            {
                var noIterate = AsyncEnumerable.Any((IAsyncEnumerable <bool>)null);
            });
        }
        public async Task Awaiting_Causes_Iteration()
        {
            var target = new ThrowingAsyncEnumerable <int>();

            await Assert.ThrowsAsync <NotImplementedException>(async() =>
            {
                await using (var items = AsyncEnumerable.Cast <int, object>(target).GetAsyncEnumerator())
                {
                    await items.MoveNextAsync();
                }
            });
        }
Esempio n. 12
0
        public async Task Starting_Iteration_Iterates_Source()
        {
            var target = new ThrowingAsyncEnumerable <long>();

            await Assert.ThrowsAsync <NotImplementedException>(async() =>
            {
                await using (var iter = target.Distinct().GetAsyncEnumerator())
                {
                    await iter.MoveNextAsync();
                }
            });
        }
        public async Task Starting_Iteration_Forces_Iteration()
        {
            var target = new ThrowingAsyncEnumerable <int>();

            await Assert.ThrowsAsync <NotImplementedException>(async() =>
            {
                await using (var iter = target.Append(0).GetAsyncEnumerator())
                {
                    await iter.MoveNextAsync();
                }
            });
        }
        public async Task Starting_Iteration_Iterates_Source_Explicit()
        {
            var target = new ThrowingAsyncEnumerable <int>();

            await Assert.ThrowsAsync <NotImplementedException>(async() =>
            {
                await using (var iter = target.DefaultIfEmpty(19).GetAsyncEnumerator())
                {
                    await iter.MoveNextAsync();
                }
            });
        }
        public async Task Starting_Iteration_Iterates_Source_Task_Selector()
        {
            var target = new ThrowingAsyncEnumerable <int>();

            await using (var iter = target.Select(a => Task.FromResult(a)).GetAsyncEnumerator())
            {
                await Assert.ThrowsAsync <NotImplementedException>(async() =>
                {
                    await iter.MoveNextAsync();
                });
            }
        }
        public async Task Starting_Iteration_Iterates_Source_ValueTask_Selector_Indexer()
        {
            var target = new ThrowingAsyncEnumerable <int>();

            await using (var iter = target.Select((a, i) => new ValueTask <int>(a)).GetAsyncEnumerator())
            {
                await Assert.ThrowsAsync <NotImplementedException>(async() =>
                {
                    await iter.MoveNextAsync();
                });
            }
        }
Esempio n. 17
0
        public async Task Awaiting_Second_Causes_Iteration()
        {
            var first  = AsyncEnumerable.Empty <int>();
            var second = new ThrowingAsyncEnumerable <int>();

            await Assert.ThrowsAsync <NotImplementedException>(async() =>
            {
                await using (var item = first.Concat(second).GetAsyncEnumerator())
                {
                    await item.MoveNextAsync();
                }
            });
        }