Преглед на файлове

Fix test to ensure enumerable executes

Oren Novotny преди 9 години
родител
ревизия
22de16a87b
променени са 1 файла, в които са добавени 9 реда и са изтрити 1 реда
  1. 9 1
      Ix.NET/Source/Tests/AsyncTests.Bugs.cs

+ 9 - 1
Ix.NET/Source/Tests/AsyncTests.Bugs.cs

@@ -99,7 +99,7 @@ namespace Tests
 #endif
 
         [Fact]
-        public void CorrectDispose()
+        public async void CorrectDispose()
         {
             var disposed = new TaskCompletionSource<bool>();
 
@@ -111,11 +111,19 @@ namespace Tests
             var ys = xs.Select(x => x + 1);
 
             var e = ys.GetEnumerator();
+
+            // We have to call move next because otherwise the internal enumerator is never allocated
+            await e.MoveNext();
             e.Dispose();
 
+            await disposed.Task;
+
             Assert.True(disposed.Task.Result);
 
             Assert.False(e.MoveNext().Result);
+
+            var next = await e.MoveNext();
+            Assert.False(next);
         }
 
         [Fact]