示例#1
0
        public void WithInitiative_CorrectInitiative()
        {
            var result = new RawOutcomeCalculation(new List <IEvaluator>(), new RawOutcome {
                Initiative = 1
            }).Get();

            Assert.Equal(1, result.Initiative);
        }
示例#2
0
        public void AppliesEvaluator_ValueSet()
        {
            var token = new RawTokenResult {
                Type = RawTokenType.OpenDouble
            };
            var evaluator = new EvaluatorFake(outcome => outcome.Tokens.Count(x => x.Type == RawTokenType.OpenDouble));

            var result = new RawOutcomeCalculation(new List <IEvaluator> {
                evaluator
            },
                                                   new RawOutcome {
                Tokens = new List <RawTokenResult> {
                    token
                }
            }).Get();

            Assert.Equal(1, result.Value);
        }
示例#3
0
        public void WithBlock_CorrectProvided()
        {
            var token = new RawTokenResult {
                Type = RawTokenType.Block
            };

            var result = new RawOutcomeCalculation(new List <IEvaluator>(), new RawOutcome {
                Tokens = new List <RawTokenResult> {
                    token
                }
            }).Get();

            Assert.Equal(0, result.Value);
            Assert.Equal(0, result.Initiative);
            Assert.Equal(0, result.Damage);
            Assert.Equal(1, result.Block);
            Assert.Equal(0, result.Surge);
            Assert.Equal(0, result.Charge);
            Assert.Equal(0, result.OpenWings);
            Assert.Equal(0, result.OpenTactics);
        }
示例#4
0
        public void WithHigherQuantity_FactorsInQuantity()
        {
            var tokens = new List <RawTokenResult>
            {
                new RawTokenResult {
                    Type = RawTokenType.Charge, Quantity = 3
                },
                new RawTokenResult {
                    Type = RawTokenType.Block, Quantity = 3
                },
                new RawTokenResult {
                    Type = RawTokenType.Surge, Quantity = 3
                }
            };

            var result = new RawOutcomeCalculation(new List <IEvaluator>(), new RawOutcome {
                Tokens = tokens
            }).Get();

            Assert.Equal(3, result.Damage);
            Assert.Equal(3, result.Charge);
            Assert.Equal(3, result.Block);
            Assert.Equal(3, result.Surge);
        }