public Logic(PreStartFailer <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_call_OnError_when_PreStart_fails() { var op = new PreStartFailer <string>(() => { throw new TestException("Boom!"); }); WithOneBoundedSetup(op, (lastEvents, upstream, downstream) => { var events = lastEvents().ToArray(); events[0].Should().Be(new Cancel()); events[1].Should().BeOfType <OnError>(); ((OnError)events[1]).Cause.Should().BeOfType <TestException>(); ((OnError)events[1]).Cause.Message.Should().Be("Boom!"); }); }