public void InitialState() { Prototype prototype = new Prototype(); Alpha alpha = new Alpha(); Release release = new Release(); FsmSystem <State> fsm = new FsmSystem <State>(); fsm.AddTransition(prototype, Transitions.Fix, alpha); fsm.AddTransition(alpha, Transitions.Optimize, release); fsm.SetInitialState(prototype); fsm.PerformTransition(Transitions.Fix); fsm.PerformTransition(Transitions.Optimize); Assert.AreEqual(fsm.GetCurrentState(), release); }