PkmnLibSharp/PkmnLibSharpTests/Library/LearnableMovesTests.cs

64 lines
2.1 KiB
C#

using System.Linq;
using NUnit.Framework;
using PkmnLibSharp.Library;
using PkmnLibSharp.Library.Moves;
namespace PkmnLibSharpTests.Library
{
public class LearnableMovesTests
{
private static MoveData CreateTestMove(string name)
{
return new MoveData(name, 0, MoveCategory.Physical, 100, 100, 5, MoveTarget.Any,
0, 0, "", new EffectParameter[0], new string[0]);
}
[Test]
public void AddLevelMoves()
{
var moves = new LearnableMoves(100);
moves.AddLevelMove(1, CreateTestMove("foo"));
moves.AddLevelMove(5, CreateTestMove("bar"));
moves.Dispose();
}
[Test]
public void AddAndGetLevelMoves()
{
var moves = new LearnableMoves(100);
var fooMove = CreateTestMove("foo");
var barMove = CreateTestMove("bar");
moves.AddLevelMove(1, fooMove);
moves.AddLevelMove(1, barMove);
moves.AddLevelMove(5, barMove);
Assert.AreEqual(2, moves.GetMovesForLevel(1).Count);
Assert.AreEqual("foo", moves.GetMovesForLevel(1)[0].Name);
Assert.AreEqual("bar", moves.GetMovesForLevel(1)[1].Name);
Assert.AreEqual(1, moves.GetMovesForLevel(5).Count);
Assert.AreEqual(0, moves.GetMovesForLevel(2).Count);
moves.Dispose();
}
[Test]
public void GetDistinctLevelMoves()
{
var moves = new LearnableMoves(100);
var fooMove = CreateTestMove("foo");
var barMove = CreateTestMove("bar");
moves.AddLevelMove(1, fooMove);
moves.AddLevelMove(1, barMove);
moves.AddLevelMove(5, barMove);
var distinctMoves = moves.DistinctLevelMoves;
Assert.AreEqual(2, distinctMoves.Count);
Assert.AreEqual("foo", distinctMoves[0].Name);
Assert.AreEqual("bar", distinctMoves[1].Name);
moves.Dispose();
}
}
}