Beispiel #1
0
    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);
    }