rework Attribute to track its own bonuses

This commit is contained in:
2023-07-30 00:04:07 -05:00
parent 4245513c7c
commit 37436793ce
2 changed files with 24 additions and 31 deletions

View File

@@ -7,19 +7,21 @@ using UnityEngine.TestTools;
public class AttributeTest
{
[Test]
[TestCase(1000000, 0, 0, 0, 0, ExpectedResult = 1000000)]
[TestCase(1000000, 1, 0, 0, 0, ExpectedResult = 1000001)]
[TestCase(1000000, 0, 2, 0, 0, ExpectedResult = 1000002)]
[TestCase(1000000, 0, 0, 10000, 0, ExpectedResult = 2000000)]
[TestCase(1000000, 0, 0, 0, 3, ExpectedResult = 1000003)]
[TestCase(0, 1000000, 1000000, 5000, 1000, ExpectedResult = 3001000)]
[TestCase(1000000, 0, 0, -10000, 0, ExpectedResult = 0)]
[TestCase(1000000, 0, 0, -20000, 0, ExpectedResult = 0)]
[TestCase(1000000, 0, 0, -20000, 50, ExpectedResult = 0)]
public long Calc(long startStat, long levelUp, long baseBonus, long permyriadBonus, long flatBonus)
[TestCase(1000000, 0, 0, 0, ExpectedResult = 1000000)]
[TestCase(1000000, 1, 0, 0, ExpectedResult = 1000001)]
[TestCase(1000000, 0, 2, 0, ExpectedResult = 1000200)]
[TestCase(1000000, 0, 0, 10000, ExpectedResult = 1010000)]
[TestCase(0, 1000000, 5000, 1000000, ExpectedResult = 2500000)]
[TestCase(1000000, 0, -10000, 0, ExpectedResult = 0)]
[TestCase(1000000, 0, -20000, 0, ExpectedResult = 0)]
[TestCase(1000000, 0, -20000, 0, ExpectedResult = 0)]
public long Value(long startStat, long baseBonus, long permyriadBonus, long flatBonus)
{
var attr = new Attribute(startStat);
attr.LevelUp(levelUp);
return attr.Calc(baseBonus, permyriadBonus, flatBonus);
var attr = ScriptableObject.CreateInstance<Attribute>();
attr.Base = startStat;
attr.BaseBonus = baseBonus;
attr.PermyriadBonus = permyriadBonus;
attr.FlatBonus = flatBonus;
return attr.Value;
}
}