Skip to content

Commit 0d02757

Browse files
committed
Get rid of Task.IsComplete for detection of NonDO source
1 parent 7474313 commit 0d02757

1 file changed

Lines changed: 18 additions & 17 deletions

File tree

Orm/Xtensive.Orm.Tests/Storage/AsyncQueries/ExecuteAsyncExtensionTest.cs

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
using Xtensive.Core;
1313
using Xtensive.Orm.Configuration;
1414
using Xtensive.Orm.Tests.Storage.ConcurrentCommandProcessorExecutionModel;
15+
using Xtensive.Orm.Tests.Storage.Prefetch;
1516

1617
namespace Xtensive.Orm.Tests.Storage
1718
{
@@ -31,7 +32,7 @@ protected override void PopulateData()
3132
using (var transaction = session.OpenTransaction()) {
3233
var container = new EntitySetContainer(session);
3334
foreach (var i in Enumerable.Range(-100, 200)) {
34-
container.EntitySet.Add(new TestEntity(session) {Value = i});
35+
_ = container.EntitySet.Add(new TestEntity(session) {Value = i});
3536
}
3637
transaction.Complete();
3738
}
@@ -40,27 +41,28 @@ protected override void PopulateData()
4041
[Test]
4142
public async Task QueryableTest()
4243
{
43-
IQueryable<int> queryableEnumeable = new EnumerableQuery<int>(Enumerable.Range(-100, 200).ToArray()).Where(v => v < 5 && v > 0);
44-
var task = queryableEnumeable.ExecuteAsync();
45-
Assert.That(task.IsCompleted, Is.True);
44+
var queryableEnumeable = (IQueryable<int>) new EnumerableQuery<int>(Enumerable.Range(-100, 200).ToArray()).Where(v => v < 5 && v > 0);
45+
var result = await queryableEnumeable.ExecuteAsync();
46+
4647

47-
int before = 1;
48-
foreach (var value in await task) {
48+
var before = 1;
49+
foreach (var value in result) {
4950
Assert.That(value, Is.EqualTo(before));
5051
before++;
5152
}
53+
54+
_ = Assert.ThrowsAsync<NotSupportedException>(async () => { await foreach (var i in result.AsAsyncEnumerable()) { } });
5255
}
5356

5457
[Test]
5558
public async Task DoQueryableTest()
5659
{
5760
using (var session = Domain.OpenSession())
5861
using (var transaction = session.OpenTransaction()) {
59-
var task = session.Query.All<TestEntity>().Where(e => e.Value < 5 && e.Value > 0).ExecuteAsync();
60-
Assert.That(task.IsCompleted, Is.False);
62+
var result = await session.Query.All<TestEntity>().Where(e => e.Value < 5 && e.Value > 0).ExecuteAsync();
6163

62-
int before = 1;
63-
foreach (var value in await task) {
64+
var before = 1;
65+
await foreach (var value in result.AsAsyncEnumerable()) {
6466
Assert.That(value.Value, Is.EqualTo(before));
6567
before++;
6668
}
@@ -73,11 +75,10 @@ public async Task PersistentCollectionTest()
7375
using (var session = Domain.OpenSession())
7476
using (var transaction = session.OpenTransaction()) {
7577
var container = session.Query.All<EntitySetContainer>().First();
76-
var task = container.EntitySet.Where(e => e.Value < 5 && e.Value > 0).ExecuteAsync();
77-
Assert.That(task.IsCompleted, Is.False);
78+
var result = await container.EntitySet.Where(e => e.Value < 5 && e.Value > 0).ExecuteAsync();
7879

79-
int before = 1;
80-
foreach (var value in await task) {
80+
var before = 1;
81+
await foreach (var value in result.AsAsyncEnumerable()) {
8182
Assert.That(value.Value, Is.EqualTo(before));
8283
before++;
8384
}
@@ -91,10 +92,10 @@ public async Task DelayedQueryTest()
9192
await using (var transaction = session.OpenTransaction()) {
9293
var delayed = session.Query.CreateDelayedQuery(
9394
q => q.All<TestEntity>().Where(e => e.Value < 5 && e.Value > 0));
94-
var task = delayed.ExecuteAsync();
95+
var result = await delayed.ExecuteAsync();
9596

96-
int before = 1;
97-
foreach (var value in await task) {
97+
var before = 1;
98+
await foreach (var value in result.AsAsyncEnumerable()) {
9899
Assert.That(value.Value, Is.EqualTo(before));
99100
before++;
100101
}

0 commit comments

Comments
 (0)