Skip to content

Commit 62d0bd6

Browse files
committed
Merge branch 'release/1.1'
2 parents 2d6839e + 77d645c commit 62d0bd6

File tree

54 files changed

+1270
-20
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+1270
-20
lines changed

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

+27-18
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using Adnc.AnimatorHelpers.Conditions;
22
using Adnc.AnimatorHelpers.Variables;
33
using Adnc.Utility.Testing;
4+
using Adnc.AnimatorHelpers.Editors.Testing.Utilities;
45
using NUnit.Framework;
56
using UnityEngine;
67
using Object = UnityEngine.Object;
@@ -10,35 +11,41 @@ public class TestAnimatorPlayback : TestBase {
1011
private const string ANIMATOR_STUB_LOC = "AnimatorTesting/AnimatorStub";
1112

1213
private AnimatorPlayback _playback;
13-
private Animator _anim;
14+
private AnimatorStub _stub;
1415

1516
[SetUp]
1617
public void SetupAnimatorPlayback () {
1718
_playback = ScriptableObject.CreateInstance<AnimatorPlayback>();
18-
var stub = Resources.Load<GameObject>(ANIMATOR_STUB_LOC);
19-
_anim = Object.Instantiate(stub).GetComponent<Animator>();
19+
20+
_stub = new AnimatorStub(new GameObject("AnimatorStub"));
21+
_stub.AnimatorCtrl.AddParameter("bool", AnimatorControllerParameterType.Bool);
22+
_stub.AnimatorCtrl.AddParameter("float", AnimatorControllerParameterType.Float);
23+
_stub.AnimatorCtrl.AddParameter("int", AnimatorControllerParameterType.Int);
24+
_stub.AnimatorCtrl.AddParameter("trigger", AnimatorControllerParameterType.Trigger);
25+
26+
_stub.InjectCtrl();
2027
}
2128

2229
[TearDown]
2330
public void TeardownAnimatorPlayback () {
24-
Object.DestroyImmediate(_anim.gameObject);
31+
Object.DestroyImmediate(_stub.Animator.gameObject);
2532
_playback = null;
26-
_anim = null;
33+
_stub = null;
2734
}
2835

2936
[Test]
3037
public void StubBoolIsFalse () {
31-
Assert.IsFalse(_anim.GetBool("bool"));
38+
Assert.IsFalse(_stub.Animator.GetBool("bool"));
3239
}
3340

3441
[Test]
3542
public void StubFloatIsZero () {
36-
Assert.IsTrue(Mathf.Abs(_anim.GetFloat("float")) < 0.1f);
43+
Assert.IsTrue(Mathf.Abs(_stub.Animator.GetFloat("float")) < 0.1f);
3744
}
3845

3946
[Test]
4047
public void StubIntIsZero () {
41-
Assert.IsTrue(_anim.GetInteger("int") == 0);
48+
Assert.IsTrue(_stub.Animator.GetInteger("int") == 0);
4249
}
4350

4451
[Test]
@@ -48,9 +55,9 @@ public void PlaySetsAnimatorBool () {
4855
value = true
4956
});
5057

51-
_playback.Play(_anim);
58+
_playback.Play(_stub.Animator);
5259

53-
Assert.IsTrue(_anim.GetBool("bool"));
60+
Assert.IsTrue(_stub.Animator.GetBool("bool"));
5461
}
5562

5663
[Test]
@@ -60,9 +67,9 @@ public void PlaySetsAnimatorFloat () {
6067
value = 1
6168
});
6269

63-
_playback.Play(_anim);
70+
_playback.Play(_stub.Animator);
6471

65-
Assert.AreEqual(_anim.GetFloat("float"), 1);
72+
Assert.AreEqual(_stub.Animator.GetFloat("float"), 1);
6673
}
6774

6875
[Test]
@@ -72,9 +79,9 @@ public void PlaySetsAnimatorInt () {
7279
value = 1
7380
});
7481

75-
_playback.Play(_anim);
82+
_playback.Play(_stub.Animator);
7683

77-
Assert.AreEqual(_anim.GetInteger("int"), 1);
84+
Assert.AreEqual(_stub.Animator.GetInteger("int"), 1);
7885
}
7986

8087
[Test]
@@ -85,7 +92,7 @@ public void IsConditionMetTrueWithNoAnimatorNull () {
8592
[Test]
8693
public void IsConditionMetIsTrueWithNoConditions () {
8794
_playback.conditions.RemoveAt(0);
88-
Assert.IsTrue(_playback.IsConditionsMet(_anim));
95+
Assert.IsTrue(_playback.IsConditionsMet(_stub.Animator));
8996
}
9097

9198
[Test]
@@ -100,7 +107,7 @@ public void IsConditionMetFalseWhenConditionsNotMet () {
100107
variableType = ConditionVarType.Bool
101108
});
102109

103-
Assert.IsFalse(_playback.IsConditionsMet(_anim));
110+
Assert.IsFalse(_playback.IsConditionsMet(_stub.Animator));
104111
}
105112

106113
[Test]
@@ -115,9 +122,11 @@ public void IsConditionMetTrueWhenConditionsAreMet () {
115122
variableType = ConditionVarType.Bool
116123
});
117124

118-
_anim.SetBool("bool", true);
125+
_stub.Animator.SetBool("bool", true);
119126

120-
Assert.IsTrue(_playback.IsConditionsMet(_anim));
127+
Assert.IsTrue(_playback.IsConditionsMet(_stub.Animator));
121128
}
129+
130+
122131
}
123132
}

Assets/AdncAnimatorHelpers/Editor/Testing/AnimatorStub.meta

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
using Adnc.Utility.Testing;
2+
using Adnc.AnimatorHelpers.Editors.Testing.Utilities;
3+
using NUnit.Framework;
4+
using UnityEngine;
5+
6+
namespace Adnc.AnimatorHelpers.Editors.Testing {
7+
public class TestAnimatorStub : TestBase {
8+
private GameObject _go;
9+
private AnimatorStub _animStub;
10+
11+
[SetUp]
12+
public void Setup () {
13+
_go = new GameObject("AnimatorStub");
14+
}
15+
16+
[TearDown]
17+
public void Teardown () {
18+
Object.DestroyImmediate(_go);
19+
}
20+
21+
[Test]
22+
public void DoesNotFailCreationIfNoGameObject () {
23+
var stub = new AnimatorStub(null);
24+
25+
Assert.IsTrue(stub.IsValid);
26+
}
27+
28+
[Test]
29+
public void CreatesIfGameObjectPassedIn () {
30+
var stub = new AnimatorStub(_go);
31+
32+
Assert.IsTrue(stub.IsValid);
33+
}
34+
35+
[Test]
36+
public void AttachRuntimeController () {
37+
var stub = new AnimatorStub(_go);
38+
39+
stub.InjectCtrl();
40+
41+
Assert.AreSame(stub.Animator.runtimeAnimatorController, stub.AnimatorCtrl);
42+
}
43+
44+
[Test]
45+
public void GetAnimatorParameter () {
46+
var stub = new AnimatorStub(_go);
47+
const string param = "test";
48+
49+
stub.AnimatorCtrl.AddParameter(param, AnimatorControllerParameterType.Bool);
50+
stub.InjectCtrl();
51+
var result = stub.Animator.GetBool(param);
52+
53+
Assert.IsFalse(result);
54+
}
55+
56+
[Test]
57+
public void SetAnimatorParameter () {
58+
var stub = new AnimatorStub(_go);
59+
const string param = "test";
60+
61+
stub.AnimatorCtrl.AddParameter(param, AnimatorControllerParameterType.Bool);
62+
stub.InjectCtrl();
63+
stub.Animator.SetBool(param, true);
64+
var result = stub.Animator.GetBool(param);
65+
66+
Assert.IsTrue(result);
67+
}
68+
69+
[Test]
70+
public void CreateNewLayerReturnsLayer () {
71+
var stub = new AnimatorStub(_go);
72+
var layer = stub.AddLayer("Test");
73+
74+
Assert.IsNotNull(layer);
75+
}
76+
77+
[Test]
78+
public void CreateNewLayerAddsAnotherLayer () {
79+
var stub = new AnimatorStub(_go);
80+
stub.AddLayer("Test");
81+
82+
Assert.AreEqual(stub.AnimatorCtrl.layers.Length, 2);
83+
}
84+
85+
[Test]
86+
public void CreateNewLayerSetsName () {
87+
var layerName = "Test";
88+
var stub = new AnimatorStub(_go);
89+
var layer = stub.AddLayer(layerName);
90+
91+
Assert.AreEqual(layerName, layer.name);
92+
}
93+
94+
[Test]
95+
public void CreateNewLayerSetsStateMachine () {
96+
var stub = new AnimatorStub(_go);
97+
var layer = stub.AddLayer("Test");
98+
99+
Assert.IsNotNull(layer.stateMachine);
100+
}
101+
102+
[Test]
103+
public void CreateNewLayerCreatesAtLeastOneState () {
104+
var stub = new AnimatorStub(_go);
105+
var layer = stub.AddLayer("Test");
106+
107+
Assert.IsTrue(layer.stateMachine.states.Length >= 1);
108+
}
109+
110+
[Test]
111+
public void CreateNewLayerSetsDefaultState () {
112+
var stub = new AnimatorStub(_go);
113+
var layer = stub.AddLayer("Test");
114+
115+
Assert.IsNotNull(layer.stateMachine.defaultState);
116+
}
117+
118+
[Test]
119+
public void PlayAdvancesToTheNextState () {
120+
var stub = new AnimatorStub(_go);
121+
var layer = stub.AnimatorCtrl.layers[0];
122+
const string stateName = "New State";
123+
var state = layer.stateMachine.AddState(stateName);
124+
var trans = layer.stateMachine.defaultState.AddTransition(state);
125+
126+
layer.stateMachine.defaultState.AddTransition(state);
127+
trans.hasExitTime = true;
128+
stub.InjectCtrl();
129+
stub.Animator.Update(10);
130+
131+
var stateInfo = stub.Animator.GetCurrentAnimatorStateInfo(0);
132+
Assert.IsTrue(stateInfo.IsName(stateName));
133+
}
134+
135+
[Test]
136+
public void RuntimeControllerNameSameAsCreationName () {
137+
var stub = new AnimatorStub(_go);
138+
139+
stub.AnimatorCtrl.name = "asdf";
140+
stub.InjectCtrl();
141+
142+
Assert.AreEqual(stub.AnimatorCtrl.name, stub.Animator.runtimeAnimatorController.name);
143+
Assert.AreNotEqual(stub.Animator.gameObject.name, stub.Animator.runtimeAnimatorController.name);
144+
}
145+
}
146+
}

Assets/AdncAnimatorHelpers/Editor/Testing/AnimatorStub/TestAnimatorStub.cs.meta

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/AdncAnimatorHelpers/Editor/Testing/HasParameter.meta

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
using System;
2+
using Adnc.AnimatorHelpers.Editors.Testing.Utilities;
3+
using Adnc.AnimatorHelpers.HasParameters;
4+
using Adnc.Utility.Testing;
5+
using NUnit.Framework;
6+
using UnityEngine;
7+
using Object = UnityEngine.Object;
8+
9+
namespace Adnc.AnimatorHelpers.Editors.Testing.HasParameters {
10+
[TestFixture(Category = "HasParameter")]
11+
public class TestAnimatorParameters : TestBase {
12+
private AnimatorStub _stub;
13+
14+
[SetUp]
15+
public void Setup () {
16+
_stub = new AnimatorStub();
17+
}
18+
19+
[TearDown]
20+
public void Teardown () {
21+
Object.DestroyImmediate(_stub.Animator.gameObject);
22+
_stub = null;
23+
}
24+
25+
[Test]
26+
public void ErrorsOnNullAnimatorConstructor () {
27+
Assert.Throws<ArgumentNullException>(() => { new AnimatorParameters(null); });
28+
}
29+
30+
[Test]
31+
public void DoesNotCrashOnNullAnimatorParameters () {
32+
_stub.InjectCtrl();
33+
var par = new AnimatorParameters(_stub.Animator);
34+
}
35+
36+
[Test]
37+
public void StoresAllParameters () {
38+
_stub.AnimatorCtrl.AddParameter(new AnimatorControllerParameter {
39+
name = "a",
40+
defaultBool = true,
41+
type = AnimatorControllerParameterType.Bool
42+
});
43+
44+
_stub.InjectCtrl();
45+
var par = new AnimatorParameters(_stub.Animator);
46+
47+
Assert.IsTrue(par.parameters.dic.ContainsKey("a"));
48+
}
49+
50+
[Test]
51+
public void StoresAllBools () {
52+
_stub.AnimatorCtrl.AddParameter(new AnimatorControllerParameter {
53+
name = "a",
54+
defaultBool = true,
55+
type = AnimatorControllerParameterType.Bool
56+
});
57+
58+
_stub.InjectCtrl();
59+
var par = new AnimatorParameters(_stub.Animator);
60+
61+
Assert.IsTrue(par.bools.dic.ContainsKey("a"));
62+
}
63+
64+
[Test]
65+
public void StoresAllFloats () {
66+
_stub.AnimatorCtrl.AddParameter(new AnimatorControllerParameter {
67+
name = "a",
68+
defaultFloat = 1,
69+
type = AnimatorControllerParameterType.Float
70+
});
71+
72+
_stub.InjectCtrl();
73+
var par = new AnimatorParameters(_stub.Animator);
74+
75+
Assert.IsTrue(par.floats.dic.ContainsKey("a"));
76+
}
77+
78+
[Test]
79+
public void StoresAllInts () {
80+
_stub.AnimatorCtrl.AddParameter(new AnimatorControllerParameter {
81+
name = "a",
82+
defaultInt = 1,
83+
type = AnimatorControllerParameterType.Int
84+
});
85+
86+
_stub.InjectCtrl();
87+
var par = new AnimatorParameters(_stub.Animator);
88+
89+
Assert.IsTrue(par.ints.dic.ContainsKey("a"));
90+
}
91+
92+
[Test]
93+
public void StoresAllTriggers () {
94+
_stub.AnimatorCtrl.AddParameter(new AnimatorControllerParameter {
95+
name = "a",
96+
type = AnimatorControllerParameterType.Trigger
97+
});
98+
99+
_stub.InjectCtrl();
100+
var par = new AnimatorParameters(_stub.Animator);
101+
102+
Assert.IsTrue(par.triggers.dic.ContainsKey("a"));
103+
}
104+
}
105+
}

0 commit comments

Comments
 (0)