60 lines
1.8 KiB
C#
60 lines
1.8 KiB
C#
|
using System;
|
||
|
using NUnit.Framework;
|
||
|
using Pkmnlib;
|
||
|
using PkmnLibSharp;
|
||
|
using PkmnLibSharp.Library;
|
||
|
|
||
|
namespace PkmnLibSharpTests.Library
|
||
|
{
|
||
|
public class EffectParameterTests
|
||
|
{
|
||
|
[Test]
|
||
|
public void CreateInt([Range(-10000000, 10000000, 1000000)] long value)
|
||
|
{
|
||
|
var p = new EffectParameter(value);
|
||
|
Assert.AreEqual(EffectParameterType.Int, p.ParameterType);
|
||
|
Assert.AreEqual(value, p.AsInt());
|
||
|
p.Dispose();
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void CreateBool()
|
||
|
{
|
||
|
var p = new EffectParameter(true);
|
||
|
Assert.AreEqual(EffectParameterType.Bool, p.ParameterType);
|
||
|
Assert.AreEqual(true, p.AsBool());
|
||
|
p.Dispose();
|
||
|
p = new EffectParameter(false);
|
||
|
Assert.AreEqual(EffectParameterType.Bool, p.ParameterType);
|
||
|
Assert.AreEqual(false, p.AsBool());
|
||
|
p.Dispose();
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void CreateFloat([Range(-5, 5, 0.25f)] float value)
|
||
|
{
|
||
|
var p = new EffectParameter(value);
|
||
|
Assert.AreEqual(EffectParameterType.Float, p.ParameterType);
|
||
|
Assert.AreEqual(value, p.AsFloat());
|
||
|
p.Dispose();
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void CreateString()
|
||
|
{
|
||
|
var p = new EffectParameter("foobar");
|
||
|
Assert.AreEqual(EffectParameterType.String, p.ParameterType);
|
||
|
Assert.AreEqual("foobar", p.AsString());
|
||
|
p.Dispose();
|
||
|
}
|
||
|
|
||
|
[Test]
|
||
|
public void ThrowOnWrongType()
|
||
|
{
|
||
|
var p = new EffectParameter(10);
|
||
|
var ex = Assert.Throws<NativeException>(() => { p.AsString(); });
|
||
|
Assert.AreEqual("[CreatureLib] - 'Cast effect parameter to string, but was Int'", ex.Message);
|
||
|
p.Dispose();
|
||
|
}
|
||
|
}
|
||
|
}
|