本文整理汇总了C#中CommandProcessor.PublishOrderedCommands方法的典型用法代码示例。如果您正苦于以下问题:C# CommandProcessor.PublishOrderedCommands方法的具体用法?C# CommandProcessor.PublishOrderedCommands怎么用?C# CommandProcessor.PublishOrderedCommands使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CommandProcessor
的用法示例。
在下文中一共展示了CommandProcessor.PublishOrderedCommands方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PublishOrderedCommands_TwoCommandsAreSendInOrder_CommandsAreExecutedInOrder
// [TestMethod]
///TODO: Fix this test!
public void PublishOrderedCommands_TwoCommandsAreSendInOrder_CommandsAreExecutedInOrder()
{
var resetEvent = new ManualResetEventSlim(false);
var commandsCompleted = new bool[2];
var filterManager = new FilterManager();
var processor = new CommandProcessor(null, filterManager);
var command = new TestCommand(CommandState.New, shouldCompleteAfterExecute:false) { Order = 13};
command.RegisterForStateChange(Observer.Create<CommandState>(b =>
{
if (b == CommandState.Successed)
{
commandsCompleted[0] = true;
}
}));
var command2 = new TestCommand(CommandState.New, shouldCompleteAfterExecute: true) { Order = 2 };
command2.RegisterForStateChange(Observer.Create<CommandState>(b =>
{
if (b == CommandState.Successed)
{
commandsCompleted[1] = true;
resetEvent.Set();
}
}));
processor.PublishOrderedCommands(new[] { command, command2 });
resetEvent.Wait();
Assert.IsTrue(commandsCompleted.All(f => f));
}
示例2: PublishOrderedCommands_OneCommandInCommands_ThisCommandIsExecuted
public void PublishOrderedCommands_OneCommandInCommands_ThisCommandIsExecuted()
{
var resetEvent = new ManualResetEventSlim(false);
var filterManager = new FilterManager();
var processor = new CommandProcessor(null, filterManager);
var command = new TestCommand(CommandState.New);
command.RegisterForStateChange(Observer.Create<CommandState>(b =>
{
if (b == CommandState.Executing)
{
resetEvent.Set();
}
}));
processor.PublishOrderedCommands(new[] {command});
resetEvent.Wait();
Assert.AreEqual(CommandState.Executing, command.CurrentState);
}