示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }