Added test cases for interval checking
This commit is contained in:
parent
6b8a27b565
commit
488025ad6c
@ -153,6 +153,76 @@ namespace FastRngTests.Double
|
|||||||
Assert.That(await distUniform.NextNumber(20.0, 1), Is.InRange(1, 20));
|
Assert.That(await distUniform.NextNumber(20.0, 1), Is.InRange(1, 20));
|
||||||
Assert.That(await distNormal.NextNumber(20.0, 1), Is.InRange(1, 20));
|
Assert.That(await distNormal.NextNumber(20.0, 1), Is.InRange(1, 20));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
[Category(TestCategories.LONG_RUNNING)]
|
||||||
|
public async Task TestRange05()
|
||||||
|
{
|
||||||
|
var distUniform = new Uniform(this.rng);
|
||||||
|
var distLorentz = new CauchyLorentzX1(this.rng);
|
||||||
|
|
||||||
|
var rngContains0 = false;
|
||||||
|
var rngContains1 = false;
|
||||||
|
|
||||||
|
var uniformContains0 = false;
|
||||||
|
var uniformContains1 = false;
|
||||||
|
|
||||||
|
var lorentzContains0 = false;
|
||||||
|
var lorentzContains1 = false;
|
||||||
|
|
||||||
|
for (int i = 0; i < 100_000_000; i++)
|
||||||
|
{
|
||||||
|
var rngValue = await rng.GetUniform();
|
||||||
|
var uniform = await distUniform.NextNumber();
|
||||||
|
var lorentz = await distLorentz.NextNumber();
|
||||||
|
|
||||||
|
switch (rngValue)
|
||||||
|
{
|
||||||
|
case 0.0:
|
||||||
|
rngContains0 = true;
|
||||||
|
break;
|
||||||
|
case 1.0:
|
||||||
|
rngContains1 = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (uniform)
|
||||||
|
{
|
||||||
|
case 0.0:
|
||||||
|
uniformContains0 = true;
|
||||||
|
break;
|
||||||
|
case 1.0:
|
||||||
|
uniformContains1 = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (lorentz)
|
||||||
|
{
|
||||||
|
case 0.0:
|
||||||
|
lorentzContains0 = true;
|
||||||
|
break;
|
||||||
|
case 1.0:
|
||||||
|
lorentzContains1 = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TestContext.WriteLine($"Uniform generator contained 0? {rngContains0} (expected=false)");
|
||||||
|
TestContext.WriteLine($"Uniform generator contained 1? {rngContains1} (expected=true)");
|
||||||
|
TestContext.WriteLine($"Uniform distribution contained 0? {uniformContains0} (expected=false)");
|
||||||
|
TestContext.WriteLine($"Uniform distribution contained 1? {uniformContains1} (expected=true)");
|
||||||
|
TestContext.WriteLine($"Lorentz distribution contained 0? {lorentzContains0} (expected=false)");
|
||||||
|
TestContext.WriteLine($"Lorentz distribution contained 1? {lorentzContains1} (expected=true)");
|
||||||
|
|
||||||
|
Assert.That(rngContains0, Is.False, "Uniform generator contained 0");
|
||||||
|
Assert.That(rngContains1, Is.True, "Uniform generator does not contained 1");
|
||||||
|
|
||||||
|
Assert.That(uniformContains0, Is.False, "Uniform distribution contained 0");
|
||||||
|
Assert.That(uniformContains1, Is.True, "Uniform distribution does not contained 1");
|
||||||
|
|
||||||
|
Assert.That(lorentzContains0, Is.False, "Lorentz distribution contained 0");
|
||||||
|
Assert.That(lorentzContains1, Is.True, "Lorentz distribution does not contained 1");
|
||||||
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
[Category(TestCategories.COVER)]
|
[Category(TestCategories.COVER)]
|
||||||
|
@ -153,6 +153,76 @@ namespace FastRngTests.Float
|
|||||||
Assert.That(await distUniform.NextNumber(20.0f, 1), Is.InRange(1, 20));
|
Assert.That(await distUniform.NextNumber(20.0f, 1), Is.InRange(1, 20));
|
||||||
Assert.That(await distNormal.NextNumber(20.0f, 1), Is.InRange(1, 20));
|
Assert.That(await distNormal.NextNumber(20.0f, 1), Is.InRange(1, 20));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
[Category(TestCategories.LONG_RUNNING)]
|
||||||
|
public async Task TestRange05()
|
||||||
|
{
|
||||||
|
var distUniform = new Uniform(this.rng);
|
||||||
|
var distLorentz = new CauchyLorentzX1(this.rng);
|
||||||
|
|
||||||
|
var rngContains0 = false;
|
||||||
|
var rngContains1 = false;
|
||||||
|
|
||||||
|
var uniformContains0 = false;
|
||||||
|
var uniformContains1 = false;
|
||||||
|
|
||||||
|
var lorentzContains0 = false;
|
||||||
|
var lorentzContains1 = false;
|
||||||
|
|
||||||
|
for (int i = 0; i < 100_000_000; i++)
|
||||||
|
{
|
||||||
|
var rngValue = await rng.GetUniform();
|
||||||
|
var uniform = await distUniform.NextNumber();
|
||||||
|
var lorentz = await distLorentz.NextNumber();
|
||||||
|
|
||||||
|
switch (rngValue)
|
||||||
|
{
|
||||||
|
case 0.0f:
|
||||||
|
rngContains0 = true;
|
||||||
|
break;
|
||||||
|
case 1.0f:
|
||||||
|
rngContains1 = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (uniform)
|
||||||
|
{
|
||||||
|
case 0.0f:
|
||||||
|
uniformContains0 = true;
|
||||||
|
break;
|
||||||
|
case 1.0f:
|
||||||
|
uniformContains1 = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (lorentz)
|
||||||
|
{
|
||||||
|
case 0.0f:
|
||||||
|
lorentzContains0 = true;
|
||||||
|
break;
|
||||||
|
case 1.0f:
|
||||||
|
lorentzContains1 = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TestContext.WriteLine($"Uniform generator contained 0? {rngContains0} (expected=false)");
|
||||||
|
TestContext.WriteLine($"Uniform generator contained 1? {rngContains1} (expected=true)");
|
||||||
|
TestContext.WriteLine($"Uniform distribution contained 0? {uniformContains0} (expected=false)");
|
||||||
|
TestContext.WriteLine($"Uniform distribution contained 1? {uniformContains1} (expected=true)");
|
||||||
|
TestContext.WriteLine($"Lorentz distribution contained 0? {lorentzContains0} (expected=false)");
|
||||||
|
TestContext.WriteLine($"Lorentz distribution contained 1? {lorentzContains1} (expected=true)");
|
||||||
|
|
||||||
|
Assert.That(rngContains0, Is.False, "Uniform generator contained 0");
|
||||||
|
Assert.That(rngContains1, Is.True, "Uniform generator does not contained 1");
|
||||||
|
|
||||||
|
Assert.That(uniformContains0, Is.False, "Uniform distribution contained 0");
|
||||||
|
Assert.That(uniformContains1, Is.True, "Uniform distribution does not contained 1");
|
||||||
|
|
||||||
|
Assert.That(lorentzContains0, Is.False, "Lorentz distribution contained 0");
|
||||||
|
Assert.That(lorentzContains1, Is.True, "Lorentz distribution does not contained 1");
|
||||||
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
[Category(TestCategories.COVER)]
|
[Category(TestCategories.COVER)]
|
||||||
|
Loading…
Reference in New Issue
Block a user