Refactored

This commit is contained in:
Thorsten Sommer 2020-09-26 21:38:54 +02:00
parent 87fe9be021
commit 59b568011d

View File

@ -1,6 +1,5 @@
using System;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using FastRng.Double;
@ -139,129 +138,6 @@ namespace FastRngTests.Double
Assert.That(await rng.NextNumber(10.0, 1, dist), Is.InRange(1, 10));
Assert.That(await rng.NextNumber(20.0, 1, dist), Is.InRange(1, 20));
}
[Test]
[Category(TestCategories.COVER)]
[Category(TestCategories.NORMAL)]
public async Task TestRange05Uint()
{
var dist = new Uniform();
var distribution = new uint[101];
var runs = 1_000_000;
for (var n = 0; n < runs; n++)
distribution[await rng.NextNumber(0, 100, dist)]++;
for (var n = 0; n < distribution.Length - 1; n++)
Assert.That(distribution[n], Is.GreaterThan(0));
}
[Test]
[Category(TestCategories.COVER)]
[Category(TestCategories.NORMAL)]
public async Task TestRange05Ulong()
{
var dist = new Uniform();
var distribution = new uint[101];
var runs = 1_000_000;
for (var n = 0; n < runs; n++)
distribution[await rng.NextNumber(0UL, 100, dist)]++;
for (var n = 0; n < distribution.Length - 1; n++)
Assert.That(distribution[n], Is.GreaterThan(0));
}
[Test]
[Category(TestCategories.COVER)]
[Category(TestCategories.NORMAL)]
public async Task TestRange05Float()
{
var dist = new Uniform();
var distribution = new uint[101];
var runs = 1_000_000;
for (var n = 0; n < runs; n++)
distribution[(uint)Math.Floor(await rng.NextNumber(0.0, 100.0, dist))]++;
for (var n = 0; n < distribution.Length - 1; n++)
Assert.That(distribution[n], Is.GreaterThan(0));
}
[Test]
[Category(TestCategories.NORMAL)]
public async Task TestDistribution001Uint()
{
var dist = new Uniform();
var distribution = new uint[101];
var runs = 1_000_000;
for (var n = 0; n < runs; n++)
distribution[await rng.NextNumber(0, 100, dist)]++;
Assert.That(distribution[..^1].Max() - distribution[..^1].Min(), Is.InRange(0, 600));
}
[Test]
[Category(TestCategories.NORMAL)]
public async Task TestDistribution001Ulong()
{
var dist = new Uniform();
var distribution = new uint[101];
var runs = 1_000_000;
for (var n = 0; n < runs; n++)
distribution[await rng.NextNumber(0UL, 100, dist)]++;
Assert.That(distribution[..^1].Max() - distribution[..^1].Min(), Is.InRange(0, 600));
}
[Test]
[Category(TestCategories.NORMAL)]
public async Task TestDistribution001Float()
{
var dist = new Uniform();
var distribution = new uint[101];
var runs = 1_000_000;
for (var n = 0; n < runs; n++)
distribution[(uint)Math.Floor(await rng.NextNumber(0.0, 100.0, dist))]++;
Assert.That(distribution[..^1].Max() - distribution[..^1].Min(), Is.InRange(0, 600));
}
[Test]
[Category(TestCategories.LONG_RUNNING)]
public async Task TestDistribution002Uint()
{
var dist = new Uniform();
var distribution = new uint[101];
var runs = 100_000_000;
for (var n = 0; n < runs; n++)
distribution[await rng.NextNumber(0, 100, dist)]++;
Assert.That(distribution[..^1].Max() - distribution[..^1].Min(), Is.InRange(0, 6_000));
}
[Test]
[Category(TestCategories.LONG_RUNNING)]
public async Task TestDistribution002Ulong()
{
var dist = new Uniform();
var distribution = new uint[101];
var runs = 100_000_000;
for (var n = 0; n < runs; n++)
distribution[await rng.NextNumber(0UL, 100, dist)]++;
Assert.That(distribution[..^1].Max() - distribution[..^1].Min(), Is.InRange(0, 6_000));
}
[Test]
[Category(TestCategories.LONG_RUNNING)]
public async Task TestDistribution002Float()
{
var dist = new Uniform();
var distribution = new uint[101];
var runs = 100_000_000;
for (var n = 0; n < runs; n++)
distribution[(uint)Math.Floor(await rng.NextNumber(0.0, 100.0, dist))]++;
Assert.That(distribution[..^1].Max() - distribution[..^1].Min(), Is.InRange(0, 6_000));
}
[Test]
[Category(TestCategories.COVER)]