Skip to content

Commit 5471dba

Browse files
committed
Merge branch 'feature/animator-has-parameter' into develop
2 parents f78f83a + 3841cb4 commit 5471dba

Some content is hidden

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

47 files changed

+938
-12
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using Adnc.AnimatorHelpers.Conditions;
22
using Adnc.AnimatorHelpers.Variables;
33
using Adnc.Utility.Testing;
4-
using AdncAnimatorHelpers.Editor.Testing.Utilities;
4+
using Adnc.AnimatorHelpers.Editors.Testing.Utilities;
55
using NUnit.Framework;
66
using UnityEngine;
77
using Object = UnityEngine.Object;

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

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
using AdncAnimatorHelpers.Editor.Testing.Utilities;
1+
using Adnc.Utility.Testing;
2+
using Adnc.AnimatorHelpers.Editors.Testing.Utilities;
23
using NUnit.Framework;
34
using UnityEngine;
45

5-
namespace Adnc.AnimatorHelpers.Editors.Testing.Examples {
6-
[Category("Examples")]
7-
public class TestAnimatorStub {
6+
namespace Adnc.AnimatorHelpers.Editors.Testing {
7+
public class TestAnimatorStub : TestBase {
88
private GameObject _go;
99
private AnimatorStub _animStub;
1010

@@ -19,10 +19,10 @@ public void Teardown () {
1919
}
2020

2121
[Test]
22-
public void FailsCreationIfNoGameObject () {
22+
public void DoesNotFailCreationIfNoGameObject () {
2323
var stub = new AnimatorStub(null);
2424

25-
Assert.IsFalse(stub.IsValid);
25+
Assert.IsTrue(stub.IsValid);
2626
}
2727

2828
[Test]
@@ -131,5 +131,16 @@ public void PlayAdvancesToTheNextState () {
131131
var stateInfo = stub.Animator.GetCurrentAnimatorStateInfo(0);
132132
Assert.IsTrue(stateInfo.IsName(stateName));
133133
}
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+
}
134145
}
135146
}

Assets/AdncAnimatorHelpers/Editor/Testing/HasParameter.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 105 additions & 0 deletions
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+
}

Assets/AdncAnimatorHelpers/Editor/Testing/HasParameter/TestAnimatorParameters.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
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 TestAnimatorParametersCollection : TestBase {
12+
private AnimatorParametersCollection _animParCol;
13+
private AnimatorStub _stub;
14+
15+
[SetUp]
16+
public void Setup () {
17+
_animParCol = new AnimatorParametersCollection();
18+
_stub = new AnimatorStub();
19+
20+
_stub.AnimatorCtrl.AddParameter(new AnimatorControllerParameter {
21+
defaultBool = true,
22+
name = "a",
23+
type = AnimatorControllerParameterType.Bool
24+
});
25+
}
26+
27+
[TearDown]
28+
public void Teardown () {
29+
Object.DestroyImmediate(_stub.Animator.gameObject);
30+
_stub = null;
31+
}
32+
33+
[Test]
34+
public void SetParameterReturnsAnimatorParameters () {
35+
_stub.InjectCtrl();
36+
var ps = _animParCol.SetParameters("a", _stub.Animator);
37+
38+
Assert.IsNotNull(ps);
39+
}
40+
41+
[Test]
42+
public void SetParameterStoresCachedAnimator () {
43+
_stub.InjectCtrl();
44+
var ps = _animParCol.SetParameters("a", _stub.Animator);
45+
var psCache = _animParCol.GetParameters("a");
46+
47+
Assert.AreSame(ps, psCache);
48+
}
49+
50+
[Test]
51+
public void SetAnimatorEmptyStringErrors () {
52+
Assert.Throws<ArgumentNullException>(() => {
53+
_animParCol.SetParameters("", _stub.Animator);
54+
});
55+
}
56+
57+
[Test]
58+
public void SetAnimatorNullStringErrors () {
59+
Assert.Throws<ArgumentNullException>(() => {
60+
_animParCol.SetParameters(null, _stub.Animator);
61+
});
62+
}
63+
64+
[Test]
65+
public void SetAnimatorNullAnimatorErrors () {
66+
Assert.Throws<ArgumentNullException>(() => {
67+
_animParCol.SetParameters("a", null);
68+
});
69+
}
70+
71+
[Test]
72+
public void GetMissingAnimatorParametersReturnsNull () {
73+
Assert.IsNull(_animParCol.GetParameters("a"));
74+
}
75+
76+
[Test]
77+
public void GetParametersNullReturnsError () {
78+
Assert.Throws<ArgumentNullException>(() => {
79+
_animParCol.GetParameters(null);
80+
});
81+
}
82+
83+
[Test]
84+
public void GetParametersEmptyStringReturnsError () {
85+
Assert.Throws<ArgumentNullException>(() => {
86+
_animParCol.GetParameters("");
87+
});
88+
}
89+
90+
[Test]
91+
public void GetParametersAutoGeneratesCacheIfItDoesNotExist () {
92+
_stub.InjectCtrl();
93+
var psCache = _animParCol.GetParameters("a", _stub.Animator);
94+
95+
Assert.IsNotNull(psCache);
96+
Assert.IsTrue(_animParCol.HasParameters("a"));
97+
}
98+
99+
[Test]
100+
public void GetParametersDoesNotAutoGenerateCacheIfItExists () {
101+
_stub.InjectCtrl();
102+
var ps = _animParCol.SetParameters("a", _stub.Animator);
103+
104+
Assert.AreSame(ps, _animParCol.GetParameters("a", _stub.Animator));
105+
}
106+
107+
[Test]
108+
public void HasParametersReturnsTrueIfParameters () {
109+
_stub.InjectCtrl();
110+
var ps = _animParCol.SetParameters("a", _stub.Animator);
111+
112+
Assert.IsTrue(_animParCol.HasParameters("a"));
113+
}
114+
115+
[Test]
116+
public void HasParametersReturnsFalseIfNoParameters () {
117+
Assert.IsFalse(_animParCol.HasParameters("a"));
118+
}
119+
}
120+
}

Assets/AdncAnimatorHelpers/Editor/Testing/HasParameter/TestAnimatorParametersCollection.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)