25 lines
719 B
C#
25 lines
719 B
C#
using System;
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
using NitroxServer.Helper;
|
|
|
|
namespace Nitrox.Test.Server.Helper;
|
|
|
|
[TestClass]
|
|
public class XORRandomTest
|
|
{
|
|
[TestMethod]
|
|
public void TestMeanGeneration()
|
|
{
|
|
// arbitrary values under there but we can't compare the generated values with UnityEngine.Random because it's unaccessible
|
|
XORRandom.InitSeed("cheescake".GetHashCode());
|
|
float mean = 0;
|
|
int count = 1000000;
|
|
for (int i = 0; i < count; i++)
|
|
{
|
|
mean += XORRandom.NextFloat();
|
|
}
|
|
mean /= count;
|
|
Assert.IsTrue(Math.Abs(0.5f - mean) < 0.001f, $"Float number generation isn't uniform enough: {mean}");
|
|
}
|
|
}
|