using NUnit.Framework;
using PkmnLibSharp.Library;

namespace PkmnLibSharpTests.Library
{
    public class NatureLibraryTests
    {
        [Test]
        public void ConstructDestruct()
        {
            var nl = new NatureLibrary(0);
            nl.Dispose();
        }
        
        [Test]
        public void LoadNature()
        {
            var nl = new NatureLibrary(1);
            nl.LoadNature("foo", new Nature());
            nl.Dispose();
        }

        [Test]
        public void GetNature()
        {
            var nl = new NatureLibrary(1);
            nl.LoadNature("foo", new Nature(Statistic.SpecialAttack, Statistic.SpecialDefense));
            Assert.AreEqual(Statistic.SpecialAttack, nl.GetNature("foo").IncreasedStat);
            nl.Dispose();
        }

        [Test]
        public void GetNatureName()
        {
            var nl = new NatureLibrary(1);
            nl.LoadNature("foo", new Nature(Statistic.SpecialAttack, Statistic.SpecialDefense));
            var nature = nl.GetNature("foo");
            Assert.AreEqual("foo", nl.GetNatureName(nature));
            nl.Dispose();
        }

    }
}