public static void TestOnErrorResumeNext_AlwaysSwitch() { IObservable<int> stream1 = new[] { 1, 2 }.ToObservable(); IObservable<int> stream2 = new[] { 3, 4 }.ToObservable(); int[] expected = new[] {1, 2, 3, 4}; IObservable<int> errored = stream1.Concat(Observable.Throw<int>(new Exception("test"))).OnErrorResumeNext(stream2); CollectionAssert.AreEqual(expected, errored.ToEnumerable()); IObservable<int> noerror = stream1.OnErrorResumeNext(stream2); CollectionAssert.AreEqual(expected, noerror.ToEnumerable()); }
public void OnErrorResumeNext2() { var xs = new[] { 1, 2 }.Concat(EnumerableEx.Throw<int>(new MyException())); var ys = new[] { 3, 4 }; var res = xs.OnErrorResumeNext(ys); Assert.True(Enumerable.SequenceEqual(res, new[] { 1, 2, 3, 4 })); }
public void OnErrorResumeNext1() { var xs = new[] { 1, 2 }; var ys = new[] { 3, 4 }; var res = xs.OnErrorResumeNext(ys); Assert.True(Enumerable.SequenceEqual(res, new[] { 1, 2, 3, 4 })); }