Beispiel #1
0
        public void Successfully_CountSuccessesAndFailures()
        {
            var node = new SuccessNode(greaterEqual5, equal1)
            {
                Expression = _4d6
            };

            EvaluateNode(node, Data(SuccessConf), 4, "4d6.success(>=5).failure(=1) => 4 + $5 + #1 + $6 => 1 success");
        }
Beispiel #2
0
        public void ThrowInvalidSuccess_WhenFailuresButNoSuccessConditions()
        {
            var node = new SuccessNode(null, equal1)
            {
                Expression = _4d6
            };

            EvaluateNode(node, Data(SuccessConf), DiceErrorCode.InvalidSuccess);
        }
Beispiel #3
0
        public void Successfully_CountSuccesses()
        {
            var node = new SuccessNode(greaterEqual5, null)
            {
                Expression = _4d6
            };

            EvaluateNode(node, Data(SuccessConf), 4, "4d6.success(>=5) => 4 + $5 + 1 + $6 => 2 successes");
        }
Beispiel #4
0
        public void CountSuccesses_WhenKeepingSuccessDice()
        {
            var success = new SuccessNode(greaterEqual5, equal1)
            {
                Expression = _4d6
            };
            var node = new KeepNode(KeepType.DropLow, One)
            {
                Expression = success
            };

            EvaluateNode(node, Data(StatConf), 4, "4d6.success(>=5).failure(=1).dropLowest(1) => $5 + 3 + $6 + 1* => 2 successes");
        }
Beispiel #5
0
        public void Successfully_IgnoreDroppedDice()
        {
            var drop = new KeepNode(KeepType.DropLow, One)
            {
                Expression = _4d6
            };
            var node = new SuccessNode(greaterEqual5, equal1)
            {
                Expression = drop
            };

            EvaluateNode(node, Data(SuccessConf), 4, "4d6.dropLowest(1).success(>=5).failure(=1) => 4 + $5 + 1* + $6 => 2 successes");
        }