public void TestExecuteWithCallback() { var processor = new MockCommandProcessor(); var command = new MockCommand(true); var countDown = new CountdownEvent(1); processor.Init(Assert.IsNull); processor.Execute(1, command, state => { Assert.IsFalse(state); //new state should be false countDown.Signal(); }); Assert.IsTrue(countDown.Wait(500)); }