public void Hero_EquipmentBoostsMaxHp_CurrentHpAdjustedCorrectly() { var hpBooster = new InMemoryEquipment { Modifiers = new EquipmentStatModifier[1] { new EquipmentStatModifier { Amount = 2, StatType = StatType.MaxHP.ToString(), ModifierType = StatMathOperator.Additive } } }; var hero = new Hero(new InMemoryHeroCharacter { Class = TestClasses.Soldier, Stats = new StatAddends() .With(StatType.MaxHP, 10) }, new RuntimeDeck()); hero.Equip(hpBooster); Assert.AreEqual(12, hero.CurrentHp); hero.Unequip(hpBooster); Assert.AreEqual(10, hero.CurrentHp); }
public void HeroEquipment_CanEquipForMatchingClass_IsTrue() { var heroEquipment = new HeroEquipment(TestClasses.Soldier); var gun = new InMemoryEquipment().Initialized(TestClasses.Soldier); Assert.IsTrue(heroEquipment.CanEquip(gun)); }
public void HeroEquipment_CanEquipForNonMatchingClass_IsFalse() { var heroEquipment = new HeroEquipment(TestClasses.Soldier); var sword = new InMemoryEquipment().Initialized(TestClasses.Paladin); Assert.IsFalse(heroEquipment.CanEquip(sword)); }
public void HeroEquipment_EquipWeapon_IsEquipped() { var heroEquipment = new HeroEquipment(TestClasses.Soldier); var gun = new InMemoryEquipment().Initialized(TestClasses.Soldier); heroEquipment.Equip(gun); Assert.AreEqual(1, heroEquipment.All.Length); }