forked from mirror/DotRecast
40 lines
1.8 KiB
C#
40 lines
1.8 KiB
C#
using NUnit.Framework;
|
|
|
|
namespace DotRecast.Core.Test;
|
|
|
|
public class RcHashCodesTest
|
|
{
|
|
[Test]
|
|
public void TestCombineHashCodes()
|
|
{
|
|
Assert.That(RcHashCodes.CombineHashCodes(0, 0), Is.EqualTo(0));
|
|
Assert.That(RcHashCodes.CombineHashCodes(int.MaxValue, int.MaxValue), Is.EqualTo(32));
|
|
Assert.That(RcHashCodes.CombineHashCodes(int.MaxValue, int.MinValue), Is.EqualTo(-33));
|
|
Assert.That(RcHashCodes.CombineHashCodes(int.MinValue, int.MinValue), Is.EqualTo(0));
|
|
Assert.That(RcHashCodes.CombineHashCodes(int.MinValue, int.MaxValue), Is.EqualTo(-1));
|
|
Assert.That(RcHashCodes.CombineHashCodes(int.MaxValue / 2, int.MaxValue / 2), Is.EqualTo(32));
|
|
}
|
|
|
|
[Test]
|
|
public void TestIntHash()
|
|
{
|
|
Assert.That(RcHashCodes.WangHash(0), Is.EqualTo(4158654902));
|
|
Assert.That(RcHashCodes.WangHash(1), Is.EqualTo(357654460));
|
|
Assert.That(RcHashCodes.WangHash(2), Is.EqualTo(715307540));
|
|
Assert.That(RcHashCodes.WangHash(3), Is.EqualTo(1072960876));
|
|
|
|
Assert.That(RcHashCodes.WangHash(4), Is.EqualTo(1430614333));
|
|
Assert.That(RcHashCodes.WangHash(5), Is.EqualTo(1788267159));
|
|
Assert.That(RcHashCodes.WangHash(6), Is.EqualTo(2145921005));
|
|
Assert.That(RcHashCodes.WangHash(7), Is.EqualTo(2503556531));
|
|
|
|
Assert.That(RcHashCodes.WangHash(8), Is.EqualTo(2861226262));
|
|
Assert.That(RcHashCodes.WangHash(9), Is.EqualTo(3218863982));
|
|
Assert.That(RcHashCodes.WangHash(10), Is.EqualTo(3576533554));
|
|
Assert.That(RcHashCodes.WangHash(11), Is.EqualTo(3934169234));
|
|
|
|
//
|
|
Assert.That(RcHashCodes.WangHash(int.MaxValue), Is.EqualTo(1755403298));
|
|
Assert.That(RcHashCodes.WangHash(uint.MaxValue), Is.EqualTo(3971045735));
|
|
}
|
|
} |