public Logic(PostStopFailer <T> stage) : base(stage.Shape) { _stage = stage; SetHandler(stage.Outlet, () => Pull(stage.Inlet)); SetHandler(stage.Inlet, () => Push(stage.Outlet, Grab(stage.Inlet))); }
public void Interpreter_must_not_blow_up_when_PostStop_fails() { var op = new PostStopFailer <string>(() => { throw new TestException("Boom!"); }); WithOneBoundedSetup(op, (lastEvents, upstream, downstream) => { upstream.OnComplete(); lastEvents().Should().Equal(new OnComplete()); }); }
public void Interpreter_must_continue_wit_stream_shutdown_when_PostStop_fails() { var op = new PostStopFailer <string>(() => { throw new TestException("Boom!"); }); WithOneBoundedSetup(op, (lastEvents, upstream, downstream) => { lastEvents().Should().BeEmpty(); upstream.OnComplete(); lastEvents().Should().Equal(new OnComplete()); }); }