コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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));
        }