public void TestNotOperator() { var c = StepFunctionBuilder.ChoiceState() .Choice(StepFunctionBuilder.Choice() .Transition(StepFunctionBuilder.Next("NextState")) .Condition(StepFunctionBuilder.Not(StepFunctionBuilder.Eq("$.varstr", "value")))) .Build(); var choices = c.Choices.ToArray(); Assert.False(choices[0].Condition.Match(JObject.FromObject(new { varstr = "value" }))); //Equal }
public void ChoiceStateWithNotCondition() { StateMachine stateMachine = StepFunctionBuilder.StateMachine() .StartAt("InitialState") .State("InitialState", StepFunctionBuilder.ChoiceState() .DefaultStateName("DefaultState") .Choice(StepFunctionBuilder.Choice().Transition(StepFunctionBuilder.Next("NextState")) .Condition(StepFunctionBuilder.Not(StepFunctionBuilder.Gte("$.var", "value"))))) .State("NextState", StepFunctionBuilder.SucceedState()) .State("DefaultState", StepFunctionBuilder.SucceedState()) .Build(); AssertStateMachine(stateMachine, "ChoiceStateWithNotCondition.json"); }
public void ChoiceStateWithComplexCondition() { StateMachine stateMachine = StepFunctionBuilder.StateMachine() .StartAt("InitialState") .State("InitialState", StepFunctionBuilder.ChoiceState() .DefaultStateName("DefaultState") .Choice(StepFunctionBuilder.Choice().Transition(StepFunctionBuilder.Next("NextState")) .Condition(StepFunctionBuilder.And( StepFunctionBuilder.Gte("$.var", "value"), StepFunctionBuilder.Lte("$.other-var", "foo"), StepFunctionBuilder.Or( StepFunctionBuilder.Lt("$.numeric", 9000.1), StepFunctionBuilder.Not(StepFunctionBuilder.Gte("$.numeric", 42)) ) )))) .State("NextState", StepFunctionBuilder.SucceedState()) .State("DefaultState", StepFunctionBuilder.SucceedState()) .Build(); AssertStateMachine(stateMachine, "ChoiceStateWithComplexCondition.json"); }