public void Roll_D100() { //Arrange var manager = new DiceRollManager(); CheckRoll(manager, DieType.D100, 100); }
public void Roll_D8() { //Arrange var manager = new DiceRollManager(); CheckRoll(manager, DieType.D8, 8); }
private static void CheckRoll(DiceRollManager manager, DieType die, ushort upperBound) { //Act var rolls = manager.RollDie(die, 1000); //Assert rolls.ForEach(roll => roll.RollValue.Should().BeInRange(0, upperBound)); }
static void Main(string[] args) { var diceRollManager = new DiceRollManager(new DieNumberGenerator()); var diceSet = diceRollManager.RollAll(); while (Console.ReadLine() != "stop") { Console.WriteLine($"Current dice: { string.Join(' ', diceSet.Values.Select(v => v.ToString())) }"); Console.WriteLine("Enter the value of dice to keep: "); var diceToKeep = Console.ReadLine().Split(' ').ToList().Select(s => int.Parse(s)); diceSet = diceRollManager.RollAllButKeep(diceToKeep); } }
public void RollDice_Returns_Rolls(string dieTypeStr, uint numberOfRolls, ushort upperBound) { //Arrange var manager = new DiceRollManager(); var results = new List <DiceRolls>(); for (int i = 0; i < 1000; i++) { var input = new Dictionary <string, uint> { { dieTypeStr, numberOfRolls } }; //Act var result = manager.RollDice(input); results.Add(result); } //Assert var values = results.SelectMany(x => x.DiceRollResults.Values).SelectMany(x => x).ToList(); values.ForEach(x => x.RollValue.Should().BeInRange(1, upperBound)); }