public async Task WhenNoCountIsSpecifiedOneDiceIsRolled() { var rng = new FakeDiceRng { 1, 2, 3 }; var diceRoller = new DiceRoller(rng); var result = await diceRoller.Roll("d6"); result.ExpressionTotal.Should().Be(1); result.DiceRolls.Should().BeEquivalentTo(rng.Take(1)); }
public async Task SubtractingAConstantFromDiceIsValid() { var rng = new FakeDiceRng { 1, 2, 3 }; var diceRoller = new DiceRoller(rng); var result = await diceRoller.Roll("2d6-10"); result.ExpressionTotal.Should().Be(-7); result.DiceRolls.Should().BeEquivalentTo(rng.Take(2)); }
public async Task MultiplyingDiceByAConstantIsValid() { var rng = new FakeDiceRng { 1, 2, 3 }; var diceRoller = new DiceRoller(rng); var result = await diceRoller.Roll("2d6*2"); result.ExpressionTotal.Should().Be(6); result.DiceRolls.Should().BeEquivalentTo(rng.Take(2)); }