public void Executing_an_emtpy_chain_should_run_closing_action() { var emptyChain = new PlainChain <Message>(new ILink <Message> [0]); emptyChain.SetClosingAction(m => { Results.Add($"Closed: {m.Name}"); }); var message = new Message { Name = "SomeMessage" }; emptyChain.ExecuteAll(message); Results.Count.ShouldEqual(1); Results.Index[0].ShouldEqual("Closed: SomeMessage"); }
public void L4_should_stop_execution() { var message = new Message { Name = "M1" }; var c = new PlainChain <Message>(new ILink <Message>[] { new L4(), new L1(), }); c.SetClosingAction(m => { Results.Add("ClosingMessage"); }); c.ExecuteAll(message); Results.Count.ShouldEqual(1); Results.Index[0].ShouldEqual("L4: M1"); }