public void When_Debugger_Disabled_then_Logs_not_Received() { BehaviourDebugger.DisableDebugger(); var modelSequence = new ModelOfAction <MyAction>(null); var executor = BTExecutorFactory.CreateBTExecutor(modelSequence); Assert.DoesNotThrow(delegate { executor.Tick(); executor.Tick(); }); mockDebugger.Verify(m => m.LogTick(It.IsAny <MyAction>()), Times.Never); }
public void When_Debugger_is_null_then_does_not_throw() { BehaviourDebugger.SetActiveDebugger(null); var modelSequence = new ModelOfAction<MyAction>(null); var executor = BTExecutorFactory.CreateBTExecutor(modelSequence); Assert.DoesNotThrow(delegate { executor.Tick(); executor.Tick(); }); mockDebugger.Verify(m => m.LogTick(It.IsAny<MyAction>()), Times.Never); }
public void When_Ticked_then_Guard_Logs_Tick_with_Debugger() { var guard = new ModelOfAction <MyAction>(null); var modelSequence = new ModelDynamicPriorityList(null, new ModelOfAction <MyAction>(guard), new ModelOfAction <MyAction>(null)); var executor = BTExecutorFactory.CreateBTExecutor(modelSequence); executor.Tick(); mockDebugger.ResetCalls(); guard.Action.ReturnStatusForInternalTick = Status.Success; executor.Tick(); mockDebugger.Verify(m => m.LogTick(It.Is((ExecutionTask task) => task.ModelTask == guard)), Times.Exactly(1)); }
public void When_Ticked_then_Guard_Logs_Tick_with_Debugger() { var guard = new ModelOfAction<MyAction>(null); var modelSequence = new ModelDynamicPriorityList(null, new ModelOfAction<MyAction>(guard), new ModelOfAction<MyAction>(null)); var executor = BTExecutorFactory.CreateBTExecutor(modelSequence); executor.Tick(); mockDebugger.ResetCalls(); guard.Action.ReturnStatusForInternalTick = Status.Success; executor.Tick(); mockDebugger.Verify(m => m.LogTick(It.Is((ExecutionTask task) => task.ModelTask == guard)), Times.Exactly(1)); }
public void When_failed_then_return() { var myfailingAction = new ModelOfAction <MyAction>(null); var modelSequence = new ModelSequence(null, myfailingAction, new ModelOfAction <MyAction>(null)); var executor = BTExecutorFactory.CreateBTExecutor(modelSequence); executor.Tick(); myfailingAction.Action.ReturnStatusForInternalTick = Status.Failure; executor.Tick(); executor.Tick(); Assert.AreEqual(Status.Failure, executor.GetStatus()); }
public void When_failed_then_return() { var myfailingAction = new ModelOfAction<MyAction>(null); var modelSequence = new ModelSequence(null, myfailingAction, new ModelOfAction<MyAction>(null)); var executor = BTExecutorFactory.CreateBTExecutor(modelSequence); executor.Tick(); myfailingAction.Action.ReturnStatusForInternalTick = Status.Failure; executor.Tick(); executor.Tick(); Assert.AreEqual(Status.Failure, executor.GetStatus()); }