public void woundCalculator_can_calculate_wound_probability() { Target target = new(3); Shooter shooter = new(4); Weapon weapon = new(2, 5); WoundCalculator calculator = new(target, shooter, weapon); WoundCalculatorResult result = calculator.Process(new Dice()); Assert.AreEqual(weapon.Attacks, result.NumberOfShots); Assert.IsTrue(result.NumberOfShots >= result.NumberOfHits); Assert.IsTrue(result.NumberOfHits >= result.NumberOfWounds); Assert.IsTrue(result.NumberOfWounds >= result.numberOfNonSavedWounds); }
public void woundCalculator_counts_are_correct_if_not_saved() { Save save = new(3); Target target = new(3, save); Shooter shooter = new(2); Weapon weapon = new(1, 6); WoundCalculator calculator = new(target, shooter, weapon); WoundCalculatorResult result = calculator.Process(new OnlyRollTwo()); Assert.AreEqual(1, result.NumberOfShots); Assert.AreEqual(1, result.NumberOfHits); Assert.AreEqual(1, result.NumberOfWounds); Assert.AreEqual(1, result.numberOfNonSavedWounds); }
public void woundCalculator_counts_are_correct_if_hit_but_no_wound() { int _ = 3; Target target = new(_); Shooter shooter = new(2); Weapon weapon = new(1, _); WoundCalculator calculator = new(target, shooter, weapon); WoundCalculatorResult result = calculator.Process(new OnlyRollTwo()); Assert.AreEqual(1, result.NumberOfShots); Assert.AreEqual(1, result.NumberOfHits); Assert.AreEqual(0, result.NumberOfWounds); Assert.AreEqual(0, result.numberOfNonSavedWounds); }