Exemplo n.º 1
0
        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");
        }
Exemplo n.º 2
0
        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");
        }