diff --git a/exercises/concept/roll-the-die/.meta/config.json b/exercises/concept/roll-the-die/.meta/config.json index 4dc4e64cd9..6051e60933 100644 --- a/exercises/concept/roll-the-die/.meta/config.json +++ b/exercises/concept/roll-the-die/.meta/config.json @@ -5,7 +5,8 @@ "contributors": [ "ErikSchierboom", "yzAlvin", - "aage" + "aage", + "karanchadha10" ], "files": { "solution": [ diff --git a/exercises/concept/roll-the-die/RollTheDieTests.cs b/exercises/concept/roll-the-die/RollTheDieTests.cs index 03b497538e..6f00245f4e 100644 --- a/exercises/concept/roll-the-die/RollTheDieTests.cs +++ b/exercises/concept/roll-the-die/RollTheDieTests.cs @@ -1,4 +1,5 @@ using Exercism.Tests; +using System.Collections.Generic; public class RollTheDieTests { @@ -6,19 +7,33 @@ public class RollTheDieTests [Task(1)] public void RollDie() { + var rollCount = 1000; + var rolls = new HashSet(rollCount); var player = new Player(); - for (var i = 0; i < 100; i++) + for (var i = 0; i < rollCount; i++) { + var roll = player.RollDie(); + rolls.Add(roll); Assert.InRange(player.RollDie(), 1, 18); } + Assert.Equal(18, rolls.Count); } [Fact] [Task(2)] public void GenerateSpellStrength() { + var rollCount = 100; + var minUniqueValues = rollCount - 5; // Allow up to 5 duplicates + var rolls = new HashSet(rollCount); var player = new Player(); - var strength = player.GenerateSpellStrength(); - Assert.InRange(strength, 0.0, 100.0); + for (var i = 0; i < rollCount; i++) + { + var strength = player.GenerateSpellStrength(); + rolls.Add(strength); + Assert.InRange(strength, 0.0, 100.0); + } + + Assert.InRange(rolls.Count, minUniqueValues, rollCount); } }