1- // Copyright (c) 2021 Koji Hasegawa.
1+ // Copyright (c) 2021-2025 Koji Hasegawa.
22// This software is released under the MIT License.
33
44using NUnit . Framework ;
5+ using UnityEngine . TestTools ;
56
67namespace 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