public void SpecialItem_Add() { SpecialItem specialItem = new SpecialItemCombat("useless item", 1, 0); SpecialItem specialItemSame = new SpecialItemCombat("useless item", 1, 0); Hero hero = new Hero("hero"); hero.AddLoot(specialItem); Assert.AreEqual(true, hero.GetSpecialItems.Contains(specialItem)); Assert.AreEqual(true, hero.GetSpecialItems.Contains(specialItemSame)); }
public void HeroStrenghtDifference() { Hero Belterius = new Hero("Belterius"); Enemy evilHuman = new Enemy("Common Human", 10, 10, EnemyTypes.Human); int heroBaseAgility = Belterius.BaseAgility; //Base test int expectedStrenghtDifference = heroBaseAgility - LDVELH_WPF.Hero.UnharmedCombatDebuff - evilHuman.BaseAgility; Assert.AreEqual(expectedStrenghtDifference, Belterius.FindStrenghtDifference(evilHuman)); //Item test SpecialItem shield = new SpecialItemCombat("iron shield", 4, 0); Belterius.AddLoot(shield); expectedStrenghtDifference = (heroBaseAgility + ((SpecialItemCombat)shield).AgilityBonus - LDVELH_WPF.Hero.UnharmedCombatDebuff) - evilHuman.BaseAgility; Assert.AreEqual(expectedStrenghtDifference, Belterius.FindStrenghtDifference(evilHuman)); //PsychicPower test Belterius.AddCapacity(CapacityType.PsychicPower); expectedStrenghtDifference = (heroBaseAgility + ((SpecialItemCombat)shield).AgilityBonus + Capacity.PhychicPowerStrenght - LDVELH_WPF.Hero.UnharmedCombatDebuff) - evilHuman.BaseAgility; Assert.AreEqual(expectedStrenghtDifference, Belterius.FindStrenghtDifference(evilHuman)); //Weapon Mastery (with and without weapon) test Belterius.AddCapacity(CapacityType.WeaponMastery); expectedStrenghtDifference = (heroBaseAgility + ((SpecialItemCombat)shield).AgilityBonus + Capacity.PhychicPowerStrenght - LDVELH_WPF.Hero.UnharmedCombatDebuff) - evilHuman.BaseAgility; //No weapon related to the Weapon mastery so no bonus Assert.AreEqual(expectedStrenghtDifference, Belterius.FindStrenghtDifference(evilHuman)); Weapon wmWeapon = new Weapon("perfect weapon", Belterius.WeaponMastery); Belterius.WeaponHolder.Add(wmWeapon); expectedStrenghtDifference = (heroBaseAgility + ((SpecialItemCombat)shield).AgilityBonus + Capacity.PhychicPowerStrenght + Capacity.WeaponMasteryStrenght) - evilHuman.BaseAgility; Assert.AreEqual(expectedStrenghtDifference, Belterius.FindStrenghtDifference(evilHuman)); //Multiples Items, Weapon Mastery, and psychic immune //WARNING TEST WILL FAIL IF ORC IS NOT IMMUN TO PSYCHIC ANYMORE, can check in Ennemy isWeakToPsychic SpecialItem ring = new SpecialItemCombat("magic ring", 6, 0); Belterius.AddLoot(ring); Enemy evilOrc = new Enemy("Common Orc", 15, 10, EnemyTypes.Orc); expectedStrenghtDifference = (heroBaseAgility + ((SpecialItemCombat)shield).AgilityBonus + ((SpecialItemCombat)ring).AgilityBonus + Capacity.WeaponMasteryStrenght) - evilOrc.BaseAgility; Assert.AreEqual(expectedStrenghtDifference, Belterius.FindStrenghtDifference(evilOrc)); }
public void SpecialItem_Remove() { SpecialItem specialItem = new SpecialItemCombat("useless item", 1, 0); Hero hero = new Hero("hero"); hero.AddLoot(specialItem); Assert.AreEqual(true, hero.GetSpecialItems.Contains(specialItem)); SpecialItem specialItemRemoval = new SpecialItemCombat("useless item", 1, 0); hero.RemoveLoot(specialItemRemoval); Assert.AreEqual(false, hero.GetSpecialItems.Contains(specialItem)); }