public void WithInitiative_CorrectInitiative() { var result = new RawOutcomeCalculation(new List <IEvaluator>(), new RawOutcome { Initiative = 1 }).Get(); Assert.Equal(1, result.Initiative); }
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); }
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); }
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); }