From 0a22959e317525cdf3c279d32964be1bbbfd6a2f Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Mon, 4 May 2020 17:27:30 +0200 Subject: [PATCH] Tests for MoveLibrary --- PkmnLibSharpTests/Library/MoveLibraryTests.cs | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 PkmnLibSharpTests/Library/MoveLibraryTests.cs 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