Skip to content

Commit

Permalink
extenden NextBoolTests
Browse files Browse the repository at this point in the history
  • Loading branch information
georgimanov committed Oct 30, 2016
1 parent 1d1b005 commit bcc1303
Showing 1 changed file with 24 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,32 +8,48 @@ namespace MoreDotNet.Tests.Extensions.Common.RandomExtensions

public class NextBoolTests
{
private const int Counter = 10;
private const int NumberOfTests = 10;

[Fact]
public void NextBool_ShouldHThrow_NullReferenceException()
public void NextBool_RandomIsNull_ShouldThrowArgumentNullException()
{
Random random = null;

Assert.Throws<NullReferenceException>(() => random.Next());
Assert.Throws<ArgumentNullException>(() => random.NextBool());
}

[Fact]
public void NextBool_ShouldReturn_True()
[Theory]
[InlineData(double.NegativeInfinity)]
[InlineData(double.NaN)]
[InlineData(-NumberOfTests)]
[InlineData(0)]
public void NextBool_ArgumentValueNotPositive_ShouldReturnFalse(double param)
{
var random = new Random();
var result = random.NextBool(param);

Assert.False(result);
}

[Theory]
[InlineData(double.PositiveInfinity)]
[InlineData(NumberOfTests)]
[InlineData(1)]
public void NextBool_ArgumentValuePositive_ShouldReturnTrue(double param)
{
var random = new Random();
var result = random.NextBool(1);
var result = random.NextBool(param);

Assert.True(result);
}

[Fact]
public void NextBool_ShouldReturn_TrueOrFalse_AtLeastOnce()
public void NextBool_IteratesGenerations_ShouldReturnTrueOrFalseAtLeastOnce()
{
var random = new Random();
int returnedTrueAsResult = 0;
int returnedFalseAsResult = 0;
for (int i = 0; i < Counter; i++)
for (int i = 0; i < NumberOfTests; i++)
{
if (random.NextBool())
{
Expand All @@ -48,14 +64,5 @@ public void NextBool_ShouldReturn_TrueOrFalse_AtLeastOnce()
Assert.True(returnedTrueAsResult > 0);
Assert.True(returnedFalseAsResult > 0);
}

[Fact]
public void NextBool_ShouldReturn_False()
{
var random = new Random();
var result = random.NextBool(0);

Assert.False(result);
}
}
}

0 comments on commit bcc1303

Please # to comment.