Exemplo n.º 1
0
        public void Successfully_RerollN_WhenConditionMet()
        {
            var node = new RerollNode(2, less5, Two)
            {
                Expression = _1d20
            };

            EvaluateNode(node, Data(RerollConf), 3, "1d20.rerollN(2, <5) => 1!* + 2* + 1! => 1");
        }
Exemplo n.º 2
0
        public void Successfully_RerollOnce_WhenConditionMet()
        {
            var node = new RerollNode(1, less5)
            {
                Expression = _1d20
            };

            EvaluateNode(node, Data(RerollConf), 2, "1d20.rerollOnce(<5) => 1!* + 2 => 2");
        }
Exemplo n.º 3
0
        public void Successfully_NotReroll_WhenConditionNotMet()
        {
            var node = new RerollNode(0, less5)
            {
                Expression = _1d20
            };

            EvaluateNode(node, Data(Roll9Conf), 1, "1d20.reroll(<5) => 9 => 9");
        }
Exemplo n.º 4
0
        public void Successfully_Reroll_WhenConditionMet()
        {
            var node = new RerollNode(0, less5)
            {
                Expression = _1d20
            };

            EvaluateNode(node, Data(RerollConf), 4, "1d20.reroll(<5) => 1!* + 2* + 1!* + 10 => 10");
        }
Exemplo n.º 5
0
        public void Successfully_AbortRerollWhenMaxRerollsReached()
        {
            var conf = new RollerConfig()
            {
                MaxRerolls = 2, GetRandomBytes = GetRNG(Roll1())
            };
            var node = new RerollNode(0, equal1)
            {
                Expression = _1d20
            };

            EvaluateNode(node, Data(conf), 3, "1d20.reroll(=1) => 1!* + 1!* + 1! => 1");
        }
Exemplo n.º 6
0
        public void ThrowTooManyDice_WhenRerollingMoreThanMaxDice()
        {
            var conf = new RollerConfig()
            {
                MaxDice = 10, GetRandomBytes = GetRNG(Roll1())
            };
            var node = new RerollNode(0, equal1)
            {
                Expression = _1d20
            };

            EvaluateNode(node, Data(conf), DiceErrorCode.TooManyDice);
        }