public void TestOnExecuteDone() { bool myFlag = false; IChainCommand cmd = new BasicChainCommand(); cmd.OnExecuteDone(delegate () { myFlag = true; }); cmd.Execute(); Assert.IsTrue((myFlag)); }
public void TestChainedExecute() { IChainCommand cmd1 = new BasicChainCommand(); bool myFlag = false; cmd1.OnExecuteDone(delegate () { myFlag = true; }); IChainCommand cmd2 = new BasicChainCommand(); Mock<BasicChainCommand> cmd3 = new Mock<BasicChainCommand>() { CallBase = true }; cmd1.Chain(cmd2).Chain(cmd3.Object); cmd1.Execute(); cmd3.Verify(c => c.Execute(), Times.Once); Check.That(myFlag).IsTrue(); }