diff --git a/PkmnLibSharpTests/Library/MoveLibraryTests.cs b/PkmnLibSharpTests/Library/MoveLibraryTests.cs new file mode 100644 index 0000000..73cf0a5 --- /dev/null +++ b/PkmnLibSharpTests/Library/MoveLibraryTests.cs @@ -0,0 +1,74 @@ +using System; +using NUnit.Framework; +using Pkmnlib; +using PkmnLibSharp; +using PkmnLibSharp.Library; + +namespace PkmnLibSharpTests.Library +{ + public class MoveLibraryTests + { + [Test] + public void ConstructDestruct() + { + var item = MoveLibrary.Create(100); + item.Dispose(); + } + + [Test] + public void Insert() + { + var move = MoveData.Create("foobar", 0, MoveCategory.Physical, 60, 100, 20, AttackTarget.Adjacent, 1, + 0.5f, "test", new EffectParameter[0], new string[0]); + var library = MoveLibrary.Create(100); + library.Insert("foobar", move); + Assert.AreEqual(1, library.Count); + library.Dispose(); + } + + [Test] + public void Delete() + { + var move = MoveData.Create("foobar", 0, MoveCategory.Physical, 60, 100, 20, AttackTarget.Adjacent, 1, + 0.5f, "test", new EffectParameter[0], new string[0]); + var library = MoveLibrary.Create(100); + library.Insert("foobar", move); + Assert.AreEqual(1, library.Count); + library.Delete("foobar"); + Assert.AreEqual(0, library.Count); + library.Dispose(); + } + + [Test] + public void Get() + { + var move = MoveData.Create("foobar", 0, MoveCategory.Physical, 60, 100, 20, AttackTarget.Adjacent, 1, + 0.5f, "test", new EffectParameter[0], new string[0]); + var library = MoveLibrary.Create(100); + library.Insert("foobar", move); + Assert.AreEqual(1, library.Count); + var m = library.Get("foobar"); + Assert.AreEqual(m.Name, "foobar"); + Assert.Throws(() => + { + library.Get("barfoo"); + }); + library.Dispose(); + } + + [Test] + public void TryGet() + { + var move = MoveData.Create("foobar", 0, MoveCategory.Physical, 60, 100, 20, AttackTarget.Adjacent, 1, + 0.5f, "test", new EffectParameter[0], new string[0]); + var library = MoveLibrary.Create(100); + library.Insert("foobar", move); + Assert.AreEqual(1, library.Count); + Assert.True(library.TryGet("foobar", out move)); + Assert.AreEqual(move.Name, "foobar"); + Assert.False(library.TryGet("barfoo", out move)); + library.Dispose(); + } + + } +} \ No newline at end of file