public void FlatMap_Error() { Flux.Error <int>(new Exception("Forced failure")) .FlatMap(v => Flux.Just(1)) .Test() .AssertNoValues().AssertErrorMessage("Forced failure").AssertNotComplete(); }
public void OnErrorResumeWith_Error() { Flux.Range(1, 5) .ConcatWith(Flux.Error <int>(new Exception())) .OnErrorResumeWith(e => Flux.Range(6, 5)) .Test().AssertResult(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); }
public void ConcatMap_End_Error_Fused() { var ts = Flux.Range(1, 3) .ConcatMap(v => v != 2 ? Flux.Range(1, 3) : Flux.Error <int>(new Exception("Forced failure")), ConcatErrorMode.End) .Test(); ts.AssertValues(1, 2, 3, 1, 2, 3) .AssertError(e => e.Message.Equals("Forced failure")) .AssertNotComplete(); }
public void ConcatMap_Conditional_Boundary_Error_Fused() { var ts = Flux.Range(1, 3) .ConcatMap(v => v != 2 ? Flux.Range(1, 3) : Flux.Error <int>(new Exception("Forced failure")), ConcatErrorMode.Boundary) .Filter(v => true).Test(); ts.AssertValues(1, 2, 3) .AssertError(e => e.Message.Equals("Forced failure")) .AssertNotComplete(); }
public void OnErrorResumeWith_Error_Backpressure() { var ts = Flux.Range(1, 5) .ConcatWith(Flux.Error <int>(new Exception())) .OnErrorResumeWith(e => Flux.Range(6, 5)) .Test(4); ts.AssertValues(1, 2, 3, 4); ts.Request(4); ts.AssertValues(1, 2, 3, 4, 5, 6, 7, 8); ts.Request(2); ts.AssertResult(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); }
public void Filter_Error() { Flux.Error <int>(new Exception("Forced failure")) .Filter(v => (v & 1) == 0).Test() .AssertNoValues().AssertErrorMessage("Forced failure").AssertNotComplete(); }
public override IPublisher <T> CreateFailedPublisher() => Flux.Error <T>(new TestException());