95 lines
3.2 KiB
C#
95 lines
3.2 KiB
C#
using System.Collections.Generic;
|
|
using NUnit.Framework;
|
|
using PkmnLibSharp.StaticData;
|
|
using PkmnLibSharp.StaticData.Libraries;
|
|
|
|
namespace PkmnLibRSharpTests.StaticData.Libraries
|
|
{
|
|
public class TypeLibraryTests
|
|
{
|
|
[Test]
|
|
public void CreateTypeLibrary()
|
|
{
|
|
using var typeLibrary = new TypeLibrary(0);
|
|
}
|
|
|
|
[Test]
|
|
public void RegisterType()
|
|
{
|
|
using var typeLibrary = new TypeLibrary(0);
|
|
typeLibrary.RegisterType("foobar");
|
|
}
|
|
|
|
[Test]
|
|
public void RegisterTypeRetrieve()
|
|
{
|
|
using var typeLibrary = new TypeLibrary(0);
|
|
var typeIdentifier1 = typeLibrary.RegisterType("foo");
|
|
Assert.AreEqual(typeIdentifier1, new TypeIdentifier(1));
|
|
var typeIdentifier2 = typeLibrary.RegisterType("bar");
|
|
Assert.AreEqual(typeIdentifier2, new TypeIdentifier(2));
|
|
Assert.AreEqual(typeIdentifier1, typeLibrary.GetTypeId("foo"));
|
|
Assert.AreEqual(typeIdentifier2, typeLibrary.GetTypeId("bar"));
|
|
}
|
|
|
|
[Test]
|
|
public void GetUnknownTypeErrors()
|
|
{
|
|
using var typeLibrary = new TypeLibrary(0);
|
|
typeLibrary.RegisterType("foo");
|
|
Assert.Throws<KeyNotFoundException>(() =>
|
|
{
|
|
typeLibrary.GetTypeId("bar");
|
|
});
|
|
}
|
|
|
|
[Test]
|
|
public void GetTypeName()
|
|
{
|
|
using var typeLibrary = new TypeLibrary(0);
|
|
var typeIdentifier1 = typeLibrary.RegisterType("foo");
|
|
Assert.AreEqual("foo", typeLibrary.GetTypeName(typeIdentifier1));
|
|
}
|
|
|
|
[Test]
|
|
public void GetUnknownTypeNameErrors()
|
|
{
|
|
using var typeLibrary = new TypeLibrary(0);
|
|
typeLibrary.RegisterType("foo");
|
|
Assert.Throws<KeyNotFoundException>(() =>
|
|
{
|
|
typeLibrary.GetTypeName(new TypeIdentifier(100));
|
|
});
|
|
}
|
|
|
|
[Test]
|
|
public void SetEffectiveness()
|
|
{
|
|
using var typeLibrary = new TypeLibrary(0);
|
|
var typeIdentifier1 = typeLibrary.RegisterType("foo");
|
|
var typeIdentifier2 = typeLibrary.RegisterType("bar");
|
|
typeLibrary.SetEffectiveness(typeIdentifier1, typeIdentifier2, 0.5f);
|
|
}
|
|
|
|
[Test]
|
|
public void GetEffectiveness()
|
|
{
|
|
using var typeLibrary = new TypeLibrary(0);
|
|
var typeIdentifier1 = typeLibrary.RegisterType("foo");
|
|
var typeIdentifier2 = typeLibrary.RegisterType("bar");
|
|
typeLibrary.SetEffectiveness(typeIdentifier1, typeIdentifier2, 0.5f);
|
|
Assert.AreEqual(0.5f, typeLibrary.GetSingleEffectiveness(typeIdentifier1, typeIdentifier2));
|
|
}
|
|
|
|
[Test]
|
|
public void GetMultipleEffectiveness()
|
|
{
|
|
using var typeLibrary = new TypeLibrary(0);
|
|
var typeIdentifier1 = typeLibrary.RegisterType("foo");
|
|
var typeIdentifier2 = typeLibrary.RegisterType("bar");
|
|
typeLibrary.SetEffectiveness(typeIdentifier1, typeIdentifier2, 0.5f);
|
|
Assert.AreEqual(0.25f,
|
|
typeLibrary.GetEffectiveness(typeIdentifier1, new[] { typeIdentifier2, typeIdentifier2 }));
|
|
}
|
|
}
|
|
} |