浏览代码

rewrote this test to indicate that errors are on the observer, not rethrown

Brendan Forster 9 年之前
父节点
当前提交
dfdc570a10
共有 1 个文件被更改,包括 8 次插入2 次删除
  1. 8 2
      Rx.NET/Source/Tests.System.Reactive/Tests/Linq/ObservableExTest.cs

+ 8 - 2
Rx.NET/Source/Tests.System.Reactive/Tests/Linq/ObservableExTest.cs

@@ -618,12 +618,18 @@ namespace ReactiveTests.Tests
             );
         }
 
-        [Fact(Skip ="")]
+        [Fact]
         public void Iterate_Void_Func_Throw()
         {
             var scheduler = new TestScheduler();
 
-            ReactiveAssert.Throws<InvalidOperationException>(() => scheduler.Start(() => ObservableEx.Create(() => { throw new InvalidOperationException(); })));
+            var obs = scheduler.Start(() => ObservableEx.Create(() => { throw new InvalidOperationException(); }));
+
+            Assert.Equal(1, obs.Messages.Count);
+
+            var notification = obs.Messages[0].Value;
+            Assert.Equal(NotificationKind.OnError, notification.Kind);
+            Assert.IsType<InvalidOperationException>(notification.Exception);
         }
 
         static IEnumerable<IObservable<Object>> _IteratorScenario_Void(int x, int y)