Files
Nitrox/Nitrox.Test/Server/Helper/XORRandomTest.cs
2025-07-06 00:23:46 +02:00

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}");
}
}