本文整理汇总了C#中CommandEventHandler.ProcessCommand方法的典型用法代码示例。如果您正苦于以下问题:C# CommandEventHandler.ProcessCommand方法的具体用法?C# CommandEventHandler.ProcessCommand怎么用?C# CommandEventHandler.ProcessCommand使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CommandEventHandler
的用法示例。
在下文中一共展示了CommandEventHandler.ProcessCommand方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: It_Just_Freaking_Works
public void It_Just_Freaking_Works()
{
// Yay happy path!
var statisticsProvider = new SwissStatisticsProvider();
var rankingEngine = new SwissRankingEngine(statisticsProvider);
var contextBuilder = new SwissTournamanetContextBuilder(statisticsProvider, rankingEngine);
var commandEventHandler = new CommandEventHandler<SwissTournamentContext>(contextBuilder);
var context = new SwissTournamentContext(0, TournamentState.None, null, null, null);
// Create the tournament
context = commandEventHandler.ProcessCommand(
context: context,
commandEvent: new CommandEvent(
sequence: 0,
aggregateId: "T1",
name: TournamentCommand.CreateTournament.ToString(),
properties: new Dictionary<string, string>
{
{ "Timestamp", new DateTimeOffset(1982, 7, 22, 01, 14, 22, TimeSpan.FromHours(-7)).ToString() }
})
);
Assert.Equal(TournamentState.TournamentCreated, context.State);
Assert.NotEqual(0, context.TournamentSeed);
// Add players
context = commandEventHandler.ProcessCommand(
context: context,
commandEvent: new CommandEvent(
sequence: 0,
aggregateId: "T1",
name: TournamentCommand.AddPlayer.ToString(),
properties: new Dictionary<string, string>
{
{ "Player", "A" }
})
);
context = commandEventHandler.ProcessCommand(
context: context,
commandEvent: new CommandEvent(
sequence: 0,
aggregateId: "T1",
name: TournamentCommand.AddPlayer.ToString(),
properties: new Dictionary<string, string>
{
{ "Player", "B" }
})
);
context = commandEventHandler.ProcessCommand(
context: context,
commandEvent: new CommandEvent(
sequence: 0,
aggregateId: "T1",
name: TournamentCommand.AddPlayer.ToString(),
properties: new Dictionary<string, string>
{
{ "Player", "C" }
})
);
context = commandEventHandler.ProcessCommand(
context: context,
commandEvent: new CommandEvent(
sequence: 0,
aggregateId: "T1",
name: TournamentCommand.AddPlayer.ToString(),
properties: new Dictionary<string, string>
{
{ "Player", "D" }
})
);
context = commandEventHandler.ProcessCommand(
context: context,
commandEvent: new CommandEvent(
sequence: 0,
aggregateId: "T1",
name: TournamentCommand.AddPlayer.ToString(),
properties: new Dictionary<string, string>
{
{ "Player", "E" }
})
);
Assert.Equal(TournamentState.TournamentStarted, context.State);
Assert.NotEmpty(context.Players);
var roundOnePairings = rankingEngine.GetPairings(context);
// Record match results for round 1
context = commandEventHandler.ProcessCommand(
context: context,
commandEvent: new CommandEvent(
sequence: 0,
aggregateId: "T1",
name: TournamentCommand.RecordMatchResults.ToString(),
//.........这里部分代码省略.........