Skip to content

Commit 149cf44

Browse files
committed
Added test for PlayCoroutine on animator playback
1 parent 110b454 commit 149cf44

File tree

3 files changed

+36
-1
lines changed

3 files changed

+36
-1
lines changed

Assets/AdncAnimatorVariableStates/Editor/Testing/AnimatorPlayback/TestAnimatorPlayback.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,13 @@ public void IsConditionMetTrueWithNoAnimatorNull () {
8484

8585
[Test]
8686
public void IsConditionMetIsTrueWithNoConditions () {
87+
_playback.conditions.RemoveAt(0);
8788
Assert.IsTrue(_playback.IsConditionsMet(_anim));
8889
}
8990

9091
[Test]
9192
public void IsConditionMetFalseWhenConditionsNotMet () {
93+
_playback.conditions.RemoveAt(0);
9294
_playback.conditions.Add(new Condition {
9395
compareValues = OperatorAll.AreEqual,
9496
variableBool = new VarBool {
@@ -103,6 +105,7 @@ public void IsConditionMetFalseWhenConditionsNotMet () {
103105

104106
[Test]
105107
public void IsConditionMetTrueWhenConditionsAreMet () {
108+
_playback.conditions.RemoveAt(0);
106109
_playback.conditions.Add(new Condition {
107110
compareValues = OperatorAll.AreEqual,
108111
variableBool = new VarBool {

Assets/AdncAnimatorVariableStates/Scripts/AnimatorPlayback/AnimatorPlayback.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public IEnumerator PlayCoroutine (Animator anim) {
7979
/// <param name="anim"></param>
8080
/// <returns></returns>
8181
public bool IsConditionsMet (Animator anim) {
82-
var isValid = false;
82+
var isValid = true;
8383
foreach (var condition in conditions) {
8484
isValid = condition.IsConditionMet(anim);
8585
if (!isValid) break;

Assets/AdncAnimatorVariableStates/Testing/AnimatorPlayback/TestAnimatorPlayback.cs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Collections;
2+
using Adnc.AnimatorVariables.Conditions;
23
using Adnc.AnimatorVariables.Variables;
34
using Adnc.Utility.Testing;
45
using NUnit.Framework;
@@ -11,6 +12,7 @@ public class TestAnimatorPlayback : TestBase {
1112

1213
private AnimatorPlayback _playback;
1314
private Animator _anim;
15+
private bool _isPlayCoroutineActive;
1416

1517
[SetUp]
1618
public void SetupAnimatorPlayback () {
@@ -38,5 +40,35 @@ public IEnumerator PlaySetsAnimatorTrigger () {
3840

3941
Assert.IsFalse(_anim.GetCurrentAnimatorStateInfo(0).IsName("New State"));
4042
}
43+
44+
[UnityTest]
45+
public IEnumerator PlayCoroutineWaitsForCondition () {
46+
yield return new WaitForEndOfFrame();
47+
48+
_playback.conditions[0].variableType = ConditionVarType.Bool;
49+
_playback.conditions[0].variableBool = new VarBool {
50+
name = "bool",
51+
value = true
52+
};
53+
54+
Assert.AreEqual(1, _playback.conditions.Count);
55+
Assert.IsNotNull(_playback.conditions[0].variableBool.name);
56+
57+
yield return PlayCoroutineWrapper();
58+
59+
Assert.IsFalse(_isPlayCoroutineActive);
60+
}
61+
62+
IEnumerator PlayCoroutineWrapper () {
63+
_playback.waitForCondition = true;
64+
_isPlayCoroutineActive = true;
65+
66+
var c = _playback.PlayCoroutine(_anim);
67+
_anim.SetBool("bool", true);
68+
69+
yield return c;
70+
71+
_isPlayCoroutineActive = false;
72+
}
4173
}
4274
}

0 commit comments

Comments
 (0)