本文整理汇总了C#中FiniteStateMachine.Input方法的典型用法代码示例。如果您正苦于以下问题:C# FiniteStateMachine.Input方法的具体用法?C# FiniteStateMachine.Input怎么用?C# FiniteStateMachine.Input使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FiniteStateMachine
的用法示例。
在下文中一共展示了FiniteStateMachine.Input方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Input_handles_value_types
public void Input_handles_value_types()
{
var machine = new FiniteStateMachine<string, int>();
machine.CurrentState = "Start";
machine.Transitions.Add( new StateTransition<string, int>{InputValidator = i => i.Equals(0), FromState = "Start", ToState = "End"} );
machine.Input(0);
}
示例2: Input_throws_ArgumentException_if_more_than_1_transition_found_for_current_state_and_input
public void Input_throws_ArgumentException_if_more_than_1_transition_found_for_current_state_and_input()
{
var machine = new FiniteStateMachine<UpdateState, string>();
machine.Transitions.Add(new StateTransition<UpdateState, string>
{
FromState = UpdateState.Ready,
ToState = UpdateState.Cancelling,
InputValidator = s => s.Equals("Start")
});
machine.Transitions.Add(new StateTransition<UpdateState, string>
{
FromState = UpdateState.Ready,
ToState = UpdateState.DownloadingUpdate,
InputValidator = s => s.Equals("Start")
});
machine.Input("Start");
}
示例3: Unknown_input_throws_ArgumentException
public void Unknown_input_throws_ArgumentException()
{
var machine = new FiniteStateMachine<string, string>();
machine.Input("CheckForUpdates");
}
示例4: Transitions_for_mapped_input
public void Transitions_for_mapped_input()
{
var machine = new FiniteStateMachine<UpdateState, string>();
machine.Transitions.Add( new StateTransition<UpdateState, string>(){FromState = UpdateState.Ready, InputValidator = s => s.Equals("CheckForUpdates"), ToState = UpdateState.DownloadingUpdate});
machine.Input("CheckForUpdates");
Assert.AreEqual(UpdateState.DownloadingUpdate, machine.CurrentState);
}