public void Update_NeedsAllConditionsToComplete() { var conditionRunner = new ActionStateConditionRunner(); var firstCondition = new TestActionStateCondition(); var secondCondition = new TestActionStateCondition(); conditionRunner.AddCondition(firstCondition); conditionRunner.AddCondition(secondCondition); firstCondition.ForceComplete(); conditionRunner.Update(1.0f); Assert.IsFalse(conditionRunner.IsComplete()); }
public void Update_CallsStartOnConditionsOnceTheirTrackIsRunning() { var conditionRunner = new ActionStateConditionRunner(); var firstCondition = new TestActionStateCondition(); var secondCondition = new TestActionStateCondition(); conditionRunner.AddCondition(firstCondition); conditionRunner.PushNewTrack(); conditionRunner.AddCondition(secondCondition); firstCondition.ForceComplete(); conditionRunner.Update(1.0f); conditionRunner.Update(1.0f); Assert.IsTrue(secondCondition.StartCalled); }
public void Update_OnlyEndsConditionOnceOnCompletion() { var conditionRunner = new ActionStateConditionRunner(); var firstCondition = new TestActionStateCondition(); var secondCondition = new TestActionStateCondition(); conditionRunner.AddCondition(firstCondition); conditionRunner.AddCondition(secondCondition); firstCondition.ForceComplete(); conditionRunner.Update(1.0f); conditionRunner.Update(1.0f); Assert.AreEqual(1, firstCondition.EndCalls); }
public void PushNewTrack_DoesNotUpdateNewTrackUntilPriorComplete() { var conditionRunner = new ActionStateConditionRunner(); var firstCondition = new TestActionStateCondition(); var secondCondition = new TestActionStateCondition(); conditionRunner.AddCondition(firstCondition); conditionRunner.PushNewTrack(); conditionRunner.AddCondition(secondCondition); firstCondition.ForceComplete(); secondCondition.ForceComplete(); conditionRunner.Update(1.0f); Assert.IsFalse(conditionRunner.IsComplete()); }
private void InitialiseConditions() { var inputBinder = Info.Owner.GetComponent <IInputBinderInterface>(); if (inputBinder != null) { _conditionRunner.AddCondition(new InputReceivedActionStateCondition(ValidProgressingInputs, inputBinder)); } }
public void PushNewTrack_UpdateAfterPriorCompletesTrack() { var conditionRunner = new ActionStateConditionRunner(); var firstCondition = new TestActionStateCondition(); var secondCondition = new TestActionStateCondition(); conditionRunner.AddCondition(firstCondition); conditionRunner.PushNewTrack(); conditionRunner.AddCondition(secondCondition); firstCondition.ForceComplete(); secondCondition.ForceComplete(); conditionRunner.Update(1.0f); conditionRunner.Update(1.0f); Assert.IsTrue(conditionRunner.IsComplete()); }
public void AddActionStateCondition_CallsStartIfOneTrack() { var conditionRunner = new ActionStateConditionRunner(); var condition = new TestActionStateCondition(); conditionRunner.AddCondition(condition); Assert.IsTrue(condition.StartCalled); }
public void Complete_IncompleteCondition_False() { var conditionRunner = new ActionStateConditionRunner(); var condition = new TestActionStateCondition(); conditionRunner.AddCondition(condition); Assert.IsFalse(conditionRunner.IsComplete()); }
public void Update_ConditionDoesNotComplete_CompleteFalse() { var conditionRunner = new ActionStateConditionRunner(); var condition = new TestActionStateCondition(); conditionRunner.AddCondition(condition); conditionRunner.Update(1.0f); Assert.IsFalse(conditionRunner.IsComplete()); }
public void AddActionStateCondition_DoesNotCallStartIfNotOnRunningTrack() { var conditionRunner = new ActionStateConditionRunner(); var condition = new TestActionStateCondition(); conditionRunner.PushNewTrack(); conditionRunner.AddCondition(condition); Assert.IsFalse(condition.StartCalled); }
public void ConditionCompletes_NeedsUpdateToCallEnd() { var conditionRunner = new ActionStateConditionRunner(); var condition = new TestActionStateCondition(); conditionRunner.AddCondition(condition); condition.ForceComplete(); Assert.AreEqual(0, condition.EndCalls); }
public void ConditionCompletes_NeedsUpdateToBeNotified() { var conditionRunner = new ActionStateConditionRunner(); var condition = new TestActionStateCondition(); conditionRunner.AddCondition(condition); condition.ForceComplete(); Assert.IsFalse(conditionRunner.IsComplete()); }
public void Update_ConditionDoesComplete_CallsEnd() { var conditionRunner = new ActionStateConditionRunner(); var condition = new TestActionStateCondition(); conditionRunner.AddCondition(condition); condition.ForceComplete(); conditionRunner.Update(1.0f); Assert.AreEqual(1, condition.EndCalls); }
public void Update_CallsUpdateWithFloat() { var conditionRunner = new ActionStateConditionRunner(); var condition = new TestActionStateCondition(); const float deltaTime = 12.0f; conditionRunner.AddCondition(condition); conditionRunner.Update(deltaTime); Assert.IsTrue(condition.UpdateCalled); Assert.AreEqual(deltaTime, condition.UpdateDelta); }