public void Error() { var count = 0; ObservableSource.Error <int>(new InvalidOperationException()) .SwitchIfEmpty(ObservableSource.FromAction <int>(() => ++ count)) .Test() .AssertFailure(typeof(InvalidOperationException)); Assert.AreEqual(0, count); }
public void Dynamic_Source() { var count = 0; var source = ObservableSource.FromAction <int>(() => ++ count) as IDynamicValue <int>; for (int i = 0; i < 10; i++) { var v = source.GetValue(out var success); Assert.False(success); } }
public void Empty_Many_Fallbacks() { var count = 0; ObservableSource.Empty <int>() .SwitchIfEmpty(ObservableSource.FromAction <int>(() => ++ count), ObservableSource.Range(6, 5)) .Test() .AssertResult(6, 7, 8, 9, 10); Assert.AreEqual(1, count); }
public void Regular_Basic() { var count = 0; var source = ObservableSource.FromAction <int>(() => ++ count); for (int i = 0; i < 10; i++) { Assert.AreEqual(i, count); source.Test().AssertResult(); Assert.AreEqual(i + 1, count); } }
public void Fused_Basic() { var count = 0; var source = ObservableSource.FromAction <int>(() => ++ count); for (int i = 0; i < 10; i++) { Assert.AreEqual(i, count); source.Test(fusionMode: FusionSupport.Any) .AssertFuseable() .AssertFusionMode(FusionSupport.Async) .AssertResult(); Assert.AreEqual(i + 1, count); } }
public void Regular_Error() { var count = 0; var source = ObservableSource.FromAction <int>(() => { ++count; throw new InvalidOperationException(); }); for (int i = 0; i < 10; i++) { Assert.AreEqual(i, count); source.Test() .AssertFailure(typeof(InvalidOperationException)); Assert.AreEqual(i + 1, count); } }
public void Fused_Error() { var count = 0; var source = ObservableSource.FromAction <int>(() => { ++count; throw new InvalidOperationException(); }); for (int i = 0; i < 10; i++) { Assert.AreEqual(i, count); source.Test(fusionMode: FusionSupport.Any) .AssertFuseable() .AssertFusionMode(FusionSupport.Async) .AssertFailure(typeof(InvalidOperationException)); Assert.AreEqual(i + 1, count); } }
public void Dynamic_Source_Error() { var count = 0; var source = ObservableSource.FromAction <int>(() => { count++; throw new InvalidOperationException(); }) as IDynamicValue <int>; for (int i = 0; i < 10; i++) { try { source.GetValue(out var success); Assert.Fail(); } catch (InvalidOperationException) { // expected } } }