瀏覽代碼

Restore concat test for lazy eval

Oren Novotny 9 年之前
父節點
當前提交
e4e38c6957
共有 1 個文件被更改,包括 9 次插入3 次删除
  1. 9 3
      Ix.NET/Source/Tests/AsyncTests.Multiple.cs

+ 9 - 3
Ix.NET/Source/Tests/AsyncTests.Multiple.cs

@@ -104,9 +104,15 @@ namespace Tests
         [Fact]
         public void Concat6()
         {
-            // Note: Concat does an eager traverse of the enumerables to build up
-            // its sequences. If the outer enumerable throws it'll trhow here.
-            AssertThrows<Exception>(() => AsyncEnumerable.Concat(ConcatXss()), ex_ => ex_.Message == "Bang!");
+            var res = AsyncEnumerable.Concat(ConcatXss());
+
+            var e = res.GetEnumerator();
+            HasNext(e, 1);
+            HasNext(e, 2);
+            HasNext(e, 3);
+            HasNext(e, 4);
+            HasNext(e, 5);
+            AssertThrows<Exception>(() => e.MoveNext().Wait(WaitTimeoutMs), ex_ => ((AggregateException)ex_).Flatten().InnerExceptions.Single().Message == "Bang!");
         }
 
         static IEnumerable<IAsyncEnumerable<int>> ConcatXss()