private void ValidateIsNotNull(IGuardCondition guardCondition) { if (guardCondition == null) { throw new ArgumentNullException(nameof(guardCondition)); } }
public void AddGuardConditionTo(Transition <TState, TTrigger> transition, IGuardCondition guardCondition) { ValidateContainsTransition(transition); ValidateIsNotIn(InternalState.EvaluatingTransitions); _transitionValidator.AddGuardConditionTo(transition, guardCondition); }
public void AddGuardConditionTo(Transition <TState, TTrigger> transition, IGuardCondition guardCondition) { ValidateIsNotNull(guardCondition); ValidateContainsTransition(transition); _transitionValidator.AddGuardConditionTo(transition, guardCondition); }
public void AddGuardConditionTo(Transition <TState, TTrigger> transition, IGuardCondition guardCondition) { if (_guardConditions.ContainsKey(transition) == false) { _guardConditions.Add(transition, new List <IGuardCondition>()); } _guardConditions[transition].Add(guardCondition); }
public void AddGuardConditionTo(Transition <TState, TTrigger> transition, IGuardCondition guardCondition) { ValidateHasTransition(transition); ValidateGuardConditionIsNotNull(guardCondition); ValidateIsNotIn(PlainStateMachineInternalState.EvaluatingTransitions); if (_guardConditions.ContainsKey(transition) == false) { _guardConditions.Add(transition, new List <IGuardCondition>()); } _guardConditions[transition].Add(guardCondition); }
public void SetUp() { _stateMachine = NewStateMachine(); _stateId1 = NewStateId(); _stateId2 = NewStateId(); _stateId3 = NewStateId(); _stateId4 = NewStateId(); _stateId5 = NewStateId(); _trigger1 = NewTrigger(); _trigger2 = NewTrigger(); _trigger3 = NewTrigger(); _trigger4 = NewTrigger(); _trigger5 = NewTrigger(); _stateObject1 = Substitute.For <IState>(); _stateObject2 = Substitute.For <IState>(); _stateObject3 = Substitute.For <IState>(); _stateObject4 = Substitute.For <IState>(); _stateObject5 = Substitute.For <IState>(); _guardCondition1 = Substitute.For <IGuardCondition>(); _guardCondition2 = Substitute.For <IGuardCondition>(); _guardCondition3 = Substitute.For <IGuardCondition>(); _guardCondition4 = Substitute.For <IGuardCondition>(); _guardCondition5 = Substitute.For <IGuardCondition>(); _stateEventHandler1 = Substitute.For <IStateEventHandler>(); _stateEventHandler2 = Substitute.For <IStateEventHandler>(); _stateEventHandler3 = Substitute.For <IStateEventHandler>(); _stateEventHandler4 = Substitute.For <IStateEventHandler>(); _stateEventHandler5 = Substitute.For <IStateEventHandler>(); _event1 = Substitute.For <IEvent>(); _onBeforeStateChangesSubscriptor1 = Substitute.For <StateChanged <TState, TTrigger> >(); _onBeforeStateChangesSubscriptor2 = Substitute.For <StateChanged <TState, TTrigger> >(); _onBeforeStateChangesSubscriptor3 = Substitute.For <StateChanged <TState, TTrigger> >(); _onStateChangedSubscriptor1 = Substitute.For <StateChanged <TState, TTrigger> >(); _onStateChangedSubscriptor2 = Substitute.For <StateChanged <TState, TTrigger> >(); _onStateChangedSubscriptor3 = Substitute.For <StateChanged <TState, TTrigger> >(); _startCallback = Substitute.For <Action>(); _stopCallback = Substitute.For <Action>(); _updateCallback = Substitute.For <Action>(); _triggerCallback = Substitute.For <Action <bool> >(); _sendEventCallback = Substitute.For <Action <bool> >(); }
/** * Condition specific callback from GuardConditions to WaitSet. */ internal ReturnCode wlReq_DetachGuardCondition(IGuardCondition guardCond) { ReturnCode result; Debug.Assert(guardList.Contains(guardCond)); result = SacsSuperClass.uResultToReturnCode( DDS.OpenSplice.User.WaitSet.Notify(rlReq_UserPeer, IntPtr.Zero)); if (result == DDS.ReturnCode.Ok) { guardList.Remove(guardCond); } else { ReportStack.Report(result, "Could not detach GuardCondition from WaitSet."); } return(result); }
public bool ContainsGuardConditionOn(Transition <TState, TTrigger> transition, IGuardCondition guardCondition) { if (_guardConditions.ContainsKey(transition)) { return(_guardConditions[transition].Contains(guardCondition)); } return(false); }
public bool RemoveGuardConditionFrom(Transition <TState, TTrigger> transition, IGuardCondition guardCondition) { ValidateHasTransition(transition); ValidateGuardConditionIsNotNull(guardCondition); if (ContainsGuardConditionOn(transition, guardCondition)) { ValidateIsNotIn(PlainStateMachineInternalState.EvaluatingTransitions); _guardConditions[transition].Remove(guardCondition); if (_guardConditions[transition].Count == 0) { _guardConditions.Remove(transition); } return(true); } return(false); }
public bool ContainsGuardConditionOn(Transition <TState, TTrigger> transition, IGuardCondition guardCondition) { return(_transitionValidator.ContainsGuardConditionOn(transition, guardCondition)); }
public bool RemoveGuardConditionFrom(Transition <TState, TTrigger> transition, IGuardCondition guardCondition) { return(_transitionValidator.RemoveGuardConditionFrom(transition, guardCondition)); }
private void ValidateCanRemoveGuardCondition(Transition <TState, TTrigger> transition, IGuardCondition guardCondition) { if (_guardConditions.ContainsKey(transition) && _guardConditions[transition].Contains(guardCondition) && _isRemoveLocked) { throw new UnableToRemoveStateMachineElementException(_stateMachine, guardCondition); } }
public bool RemoveGuardConditionFrom(Transition <TState, TTrigger> transition, IGuardCondition guardCondition) { ValidateCanRemoveGuardCondition(transition, guardCondition); if (_guardConditions.ContainsKey(transition)) { bool removed = _guardConditions[transition].Remove(guardCondition); if (_guardConditions[transition].Count == 0) { _guardConditions.Remove(transition); } return(removed); } return(false); }
private void ValidateCanAddGuardCondition(Transition <TState, TTrigger> transition, IGuardCondition guardCondition) { if (_guardConditions.ContainsKey(transition) && _isAddLocked) { throw new UnableToAddStateMachineElementException(_stateMachine, guardCondition); } }