public void Skills()
        {
            IHero withchHunterCaptain           = new WitchHunterCaptain();
            IReadOnlyCollection <ISkill> skills = withchHunterCaptain.AllowedSkills;

            Assert.AreEqual(3, SkillProvider.Instance.StrengthSkills.Count(), "This test will fail when all skills are added");
        }
        public void WitchHunterCaptain()
        {
            //SkillProvider.Instance.Start();
            var warrior = new WitchHunterCaptain();

            Assert.AreEqual(4, warrior.Movement.BaseValue, "Movement.BaseValue");
            Assert.AreEqual(4, warrior.Movement.MaximumValue, "Movement.MaximumValue");

            Assert.AreEqual(4, warrior.WeaponSkill.CalculatedValue, "WeaponSkill.CalculatedValue");
            Assert.AreEqual(6, warrior.WeaponSkill.MaximumValue, "WeaponSkill.MaximumValue");

            Assert.AreEqual(4, warrior.BallisticSkill.CalculatedValue, "BallisticSkill.CalculatedValue");
            Assert.AreEqual(6, warrior.BallisticSkill.MaximumValue, "BallisticSkill.MaximumValue");

            Assert.AreEqual(3, warrior.Strength.CalculatedValue, "Strength");
            Assert.AreEqual(4, warrior.Strength.MaximumValue, "StrengthMax");

            Assert.AreEqual(3, warrior.Toughness.CalculatedValue, "Toughness.CalculatedValue");
            Assert.AreEqual(4, warrior.Toughness.MaximumValue, "Toughness.MaximumValue");

            Assert.AreEqual(1, warrior.Wounds.CalculatedValue, "Wounds.CalculatedValue");
            Assert.AreEqual(3, warrior.Wounds.MaximumValue, "Wounds.MaximumValue");

            Assert.AreEqual(1, warrior.Attacks.CalculatedValue, "Attack");
            Assert.AreEqual(4, warrior.Attacks.MaximumValue, "AttackMax");

            Assert.AreEqual(4, warrior.Initiative.CalculatedValue, "Initiative");
            Assert.AreEqual(6, warrior.Initiative.MaximumValue, "Initiative.MaximumValue");

            Assert.AreEqual(8, warrior.LeaderShip.BaseValue, "LeaderShip");
            Assert.AreEqual(9, warrior.LeaderShip.MaximumValue, "LeadershipMax");
        }
Exemple #3
0
        public void MaximumCloseCombatWeaponsReached()
        {
            var warrior = new WitchHunterCaptain();

            ICloseCombatWeapon singleHandenWeapon = new Dagger();
            ICloseCombatWeapon twoHandWeapon      = new WeepingBlades();

            Assert.IsFalse(warrior.MaximumCloseCombatWeaponsReached());
            warrior.AddEquipment(singleHandenWeapon);
            Assert.IsFalse(warrior.MaximumCloseCombatWeaponsReached());

            warrior.AddEquipment(singleHandenWeapon);
            warrior.AddEquipment(singleHandenWeapon);

            Assert.IsTrue(warrior.MaximumCloseCombatWeaponsReached());

            warrior.RemoveEquipment(singleHandenWeapon);
            warrior.RemoveEquipment(singleHandenWeapon);
            warrior.RemoveEquipment(singleHandenWeapon);

            Assert.AreEqual(0, warrior.Equipment.Count);

            warrior.AddEquipment(singleHandenWeapon);
            warrior.AddEquipment(twoHandWeapon);

            Assert.IsTrue(warrior.MaximumCloseCombatWeaponsReached());

            warrior.RemoveEquipment(singleHandenWeapon);
            Assert.IsTrue(warrior.MaximumCloseCombatWeaponsReached(), "Weeping blades is a pair");
        }
        public void WitchHunterCaptainInjury()
        {
            var warrior = new WitchHunterCaptain();

            warrior.AddInjury(new NervousCondition());

            Assert.AreEqual(3, warrior.Initiative.CalculatedValue, "Initiative");
        }
Exemple #5
0
        public void HasTwoIdenticalCloseCombatWeaponsPair()
        {
            var warrior = new WitchHunterCaptain();

            Assert.IsFalse(warrior.Equipment.HasTwoIdenticalCloseCombatWeapons());
            warrior.AddEquipment(new WeepingBlades());
            Assert.IsTrue(warrior.Equipment.HasTwoIdenticalCloseCombatWeapons());
        }
Exemple #6
0
        public void HasHeavyArmorAndShieldTrue()
        {
            var warrior = new WitchHunterCaptain();

            warrior.AddEquipment(new Shield());
            warrior.AddEquipment(new HeavyArmour());

            Assert.IsTrue(warrior.Equipment.HasHeavyArmorAndShield());
        }
        public void WitchHunterCaptainWithSkillMightyBlow()
        {
            var warrior = new WitchHunterCaptain();

            warrior.AddSkill(new MightyBlow());

            Assert.AreEqual(4, warrior.Strength.CalculatedValue, "Strength");

            Assert.AreEqual("MightyBlow", warrior.Skills.ElementAt(0).SkillName());

            Assert.AreEqual(warrior.Skills.ElementAt(0).Description,
                            "The warrior knows how to use his strength to maximum effect and has a +1 Strength bonus in close combat.");
        }
Exemple #8
0
        public void WarriorArmourAndShield()
        {
            var warrior = new WitchHunterCaptain();

            Assert.AreEqual(0, warrior.Save.CalculatedValue, "No armour should default in 0");

            warrior.AddEquipment(new HeavyArmour());
            Assert.AreEqual(2, warrior.Save.CalculatedValue);
            Assert.IsFalse(warrior.Equipment.HasHeavyArmorAndShield());

            warrior.AddEquipment(new Shield());
            Assert.IsTrue(warrior.Equipment.HasHeavyArmorAndShield());
            Assert.AreEqual(3, warrior.Save.CalculatedValue, "Combination of 2 And 1");
        }
Exemple #9
0
        public void HasTwoIdenticalCloseCombatWeapons()
        {
            var warrior = new WitchHunterCaptain();
            var dagger  = new Dagger();

            Assert.IsFalse(warrior.Equipment.HasTwoIdenticalCloseCombatWeapons());
            warrior.AddEquipment(new Sword());
            Assert.IsFalse(warrior.Equipment.HasTwoIdenticalCloseCombatWeapons());

            warrior.AddEquipment(dagger);
            Assert.IsFalse(warrior.Equipment.HasTwoIdenticalCloseCombatWeapons());

            warrior.RemoveEquipment(dagger);
            warrior.AddEquipment(new Sword());
            Assert.IsTrue(warrior.Equipment.HasTwoIdenticalCloseCombatWeapons());
        }