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"); }
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"); }
public void HasTwoIdenticalCloseCombatWeaponsPair() { var warrior = new WitchHunterCaptain(); Assert.IsFalse(warrior.Equipment.HasTwoIdenticalCloseCombatWeapons()); warrior.AddEquipment(new WeepingBlades()); Assert.IsTrue(warrior.Equipment.HasTwoIdenticalCloseCombatWeapons()); }
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."); }
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"); }
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()); }