diff --git a/Source/MoreDotNet.Test/Extensions/Common/RandomExtensions/NextBoolTests.cs b/Source/MoreDotNet.Test/Extensions/Common/RandomExtensions/NextBoolTests.cs index 049ff22..eb85b45 100644 --- a/Source/MoreDotNet.Test/Extensions/Common/RandomExtensions/NextBoolTests.cs +++ b/Source/MoreDotNet.Test/Extensions/Common/RandomExtensions/NextBoolTests.cs @@ -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(() => random.Next()); + Assert.Throws(() => 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()) { @@ -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); - } } }