Skip to content

Commit bcfcfc9

Browse files
committed
Refactor parameterized test examples
1 parent 204a648 commit bcfcfc9

File tree

1 file changed

+37
-26
lines changed

1 file changed

+37
-26
lines changed

Assets/BasicExample/Tests/Runtime/Entities/Enums/ElementTest.cs

Lines changed: 37 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
// Copyright (c) 2021 Koji Hasegawa.
1+
// Copyright (c) 2021-2025 Koji Hasegawa.
22
// This software is released under the MIT License.
33

44
using NUnit.Framework;
5+
using UnityEngine.TestTools;
56

67
namespace BasicExample.Entities.Enums
78
{
@@ -14,40 +15,50 @@ namespace BasicExample.Entities.Enums
1415
[TestFixture]
1516
public class ElementTest
1617
{
17-
[TestCase(Element.Wood, Element.Fire, 2.0f)]
18-
[TestCase(Element.Wood, Element.Water, 0.5f)]
19-
[TestCase(Element.Wood, Element.None, 1.0f)]
20-
[TestCase(Element.Fire, Element.Water, 2.0f)]
21-
[TestCase(Element.Fire, Element.Wood, 0.5f)]
22-
[TestCase(Element.Fire, Element.None, 1.0f)]
23-
[TestCase(Element.Water, Element.Wood, 2.0f)]
24-
[TestCase(Element.Water, Element.Fire, 0.5f)]
25-
[TestCase(Element.Water, Element.None, 1.0f)]
26-
public void GetDamageMultiplier_木火水の相性によるダメージ倍率は正しい(Element def, Element atk, float expected)
18+
[TestCase(Element.Wood, Element.Fire)]
19+
[TestCase(Element.Fire, Element.Water)]
20+
[TestCase(Element.Water, Element.Wood)]
21+
[TestCase(Element.Earth, Element.Metal)]
22+
[TestCase(Element.Metal, Element.Earth)]
23+
public void GetDamageMultiplier_弱点属性からの攻撃_ダメージ2倍(Element defence, Element attack)
2724
{
28-
var actual = def.GetDamageMultiplier(atk);
29-
30-
Assert.That(actual, Is.EqualTo(expected));
25+
var actual = defence.GetDamageMultiplier(attack);
26+
Assert.That(actual, Is.EqualTo(2.0f));
3127
}
3228

33-
[TestCase(Element.Earth, Element.Metal, ExpectedResult = 2.0f)]
34-
[TestCase(Element.Earth, Element.None, ExpectedResult = 0.5f)]
35-
[TestCase(Element.Metal, Element.Earth, ExpectedResult = 2.0f)]
36-
[TestCase(Element.Metal, Element.None, ExpectedResult = 0.5f)]
37-
public float GetDamageMultiplier_土金の相性によるダメージ倍率は正しい(Element def, Element atk)
29+
[TestCase(Element.Wood, Element.Water)]
30+
[TestCase(Element.Fire, Element.Wood)]
31+
[TestCase(Element.Water, Element.Fire)]
32+
public void GetDamageMultiplier_得意属性からの攻撃_ダメージ半減(Element defence, Element attack)
3833
{
39-
var actual = def.GetDamageMultiplier(atk);
40-
41-
return actual;
34+
var actual = defence.GetDamageMultiplier(attack);
35+
Assert.That(actual, Is.EqualTo(0.5f));
4236
}
4337

4438
[Test]
45-
public void GetDamageMultiplier_無属性の相性によるダメージ倍率は正しい(
46-
[Values(Element.None)] Element def,
47-
[Values] Element atk)
39+
[ParametrizedIgnore(Element.Earth, Element.Metal)]
40+
[ParametrizedIgnore(Element.Metal, Element.Earth)]
41+
public void GetDamageMultiplier_土金の得意属性_ダメージ半減(
42+
[Values(Element.Earth, Element.Metal)] Element defence,
43+
[Values] Element attack)
4844
{
49-
var actual = def.GetDamageMultiplier(atk);
45+
var actual = defence.GetDamageMultiplier(attack);
46+
Assert.That(actual, Is.EqualTo(0.5f));
47+
}
5048

49+
[Test]
50+
[ParametrizedIgnore(Element.Wood, Element.Fire)]
51+
[ParametrizedIgnore(Element.Fire, Element.Water)]
52+
[ParametrizedIgnore(Element.Water, Element.Wood)]
53+
[ParametrizedIgnore(Element.Wood, Element.Water)]
54+
[ParametrizedIgnore(Element.Fire, Element.Wood)]
55+
[ParametrizedIgnore(Element.Water, Element.Fire)]
56+
public void GetDamageMultiplier_相性なし_ダメージは等倍(
57+
[Values(Element.None, Element.Wood, Element.Fire, Element.Water)]
58+
Element defence,
59+
[Values] Element attack)
60+
{
61+
var actual = defence.GetDamageMultiplier(attack);
5162
Assert.That(actual, Is.EqualTo(1.0f));
5263
}
5364

0 commit comments

Comments
 (0)