public ExceptionsTests()
        {
            Definition = new StateMachineDefinition();
            Definition.GetOrCreateState("s1")
            .Setup(_ => _.StartPoint = true);

            Definition.GetOrCreateState("s2")
            .Setup(_ => _.EndPoint = true);

            var tran1 = new Transition()
            {
                id = "t1", SourceStateId = "s1", TargetStateId = "s2"
            };

            Definition.Transitions.Add(tran1);

            tran1
            .Trigger("TestTrigger")
            .SetParameter <string>("TargetState", "s2");

            var tran2 = new Transition()
            {
                id = "t2", SourceStateId = "s1", TargetStateId = "s2"
            };

            Definition.Transitions.Add(tran2);

            tran2
            .Trigger("TestTrigger")
            .SetParameter <string>("TargetState", "s2");
        }
        public BaseSMTestClass()
        {
            Definition = new StateMachineDefinition();
            Definition.GetOrCreateState("state1")
            .Setup(_ => _.StartPoint = true)
            .Action("TestInitAction");

            Definition.GetOrCreateState("state2")
            .Action("TestActionSetPropTo2");

            Definition.GetOrCreateState("state2_1");

            Definition.GetOrCreateState("state3")
            .Setup(_ => _.EndPoint = true)
            .Action("TestAction")
            .Setup(_ => _.Order = 0)
            .SetParameter <string>("int", "10");

            Definition.GetOrCreateTran("tran1", "state1", "state2")
            .Trigger("TestTrigger")
            .SetParameter <string>("TargetState", "state2");

            Definition.GetOrCreateTran("tran2", "state2", "state3")
            .Trigger("TestTrigger")
            .SetParameter <string>("TargetState", "state3");

            Definition.GetOrCreateTran("tran2_1", "state2", "state2_1")
            .Trigger("TestTrigger")
            .SetParameter <string>("TargetState", "state2_1");

            Definition.GetOrCreateTran("tran2_11", "state2_1", "state3")
            .Trigger("TestTrigger")
            .SetParameter <string>("TargetState", "state3");

            Definition.GetOrCreateTran("tran3", "state3", "state1")
            .Trigger("TestTrigger")
            .SetParameter <string>("TargetState", "state1");
        }