Implements growth rates

This commit is contained in:
2022-09-20 17:31:20 +02:00
parent 52852af781
commit d2069fc938
5 changed files with 122 additions and 2 deletions

View File

@@ -0,0 +1,38 @@
using NUnit.Framework;
using PkmnLibSharp.StaticData;
namespace PkmnLibRSharpTests.StaticData
{
public class GrowthRateTests
{
[Test]
public void CreateAndDropLookupGrowthRate()
{
var growthRate = new LookupGrowthRate(new uint[] { 0, 1, 5, 10, 20, 100, 200, 500 });
growthRate.Dispose();
}
[Test]
public void LookupGrowthRateCalculateLevel()
{
var growthRate = new LookupGrowthRate(new uint[] { 0, 1, 5, 10, 20, 100, 200, 500 });
Assert.AreEqual(1, growthRate.CalculateLevel(0));
Assert.AreEqual(2, growthRate.CalculateLevel(1));
Assert.AreEqual(2, growthRate.CalculateLevel(2));
Assert.AreEqual(3, growthRate.CalculateLevel(5));
growthRate.Dispose();
}
[Test]
public void LookupGrowthRateCalculateExperience()
{
var growthRate = new LookupGrowthRate(new uint[] { 0, 1, 5, 10, 20, 100, 200, 500 });
Assert.AreEqual(0, growthRate.CalculateExperience(1));
Assert.AreEqual(1, growthRate.CalculateExperience(2));
Assert.AreEqual(5, growthRate.CalculateExperience(3));
Assert.AreEqual(10, growthRate.CalculateExperience(4));
growthRate.Dispose();
}
}
}

View File

@@ -20,5 +20,16 @@ namespace PkmnLibRSharpTests.StaticData
Assert.AreEqual(-3, move.Priority);
Assert.AreEqual(null, move.SecondaryEffect);
}
[Test]
public void TestMoveWithSecondaryEffect()
{
using var effect = new SecondaryEffect(0.25f, "foobar", Array.Empty<EffectParameter>());
using var move = new MoveData("foobar", new TypeIdentifier(), MoveCategory.Physical, 68, 23, 56,
MoveTarget.Any, -3, effect, Array.Empty<string>());
Assert.That(move.SecondaryEffect != null);
Assert.AreEqual("foobar", move.SecondaryEffect!.Name);
}
}
}