瀏覽代碼

Add test for support of large enumerables

Jens Chr 6 年之前
父節點
當前提交
2709284b55
共有 1 個文件被更改,包括 28 次插入0 次删除
  1. 28 0
      Ix.NET/Source/System.Linq.Async.Tests/System/Linq/Operators/ToObservable.cs

+ 28 - 0
Ix.NET/Source/System.Linq.Async.Tests/System/Linq/Operators/ToObservable.cs

@@ -300,6 +300,34 @@ namespace Tests
             Assert.Equal(1, moveNextCount);
             Assert.False(fail);
         }
+        
+        [Fact]
+        public void ToObservable_SupportsLargeEnumerable()
+        {
+            using var evt = new ManualResetEvent(false);
+
+            var fail = false;
+
+            var xs = AsyncEnumerable.Range(0, 10000).ToObservable();
+            xs.Subscribe(new MyObserver<int>(
+                x =>
+                {
+                    // ok
+                },
+                ex =>
+                {
+                    fail = true;
+                    evt.Set();
+                },
+                () =>
+                {
+                    evt.Set();
+                }
+            ));
+
+            evt.WaitOne();
+            Assert.False(fail);
+        }
 
         private sealed class MyObserver<T> : IObserver<T>
         {