public void DealCriticalDamage_WhenCriticalHit(int value1, int value2)
        {
            //Arrange
            var engine = new CriticalStrikeWeapon("Laser", 2000, 22, 8, 4, 200, 100);

            //Assert
            Assert.AreEqual(engine.DealDamage(value1, value2), 12);
        }
        public void ThrowError_WhenParametersInvalid(int value1, int value2)
        {
            //Arrange
            var engine = new CriticalStrikeWeapon("Cannon", 2000, 22, 8, 4, 200, 2);

            //Assert
            Assert.ThrowsException <ArgumentOutOfRangeException>(() => engine.DealDamage(value1, value2));
        }
        public void DealNormalDamage_WhenDirectHit()
        {
            //Arrange
            var engine = new CriticalStrikeWeapon("Laser", 2000, 22, 8, 4, 200, 0);

            //Assert
            Assert.AreEqual(engine.DealDamage(1, 1), 8);
        }