public void Test_FighterCanRemoveLastingDamageBoost() { FighterStatsClass stats = new FighterStatsClass(); int normalDamage = stats.GetCurrentAttackDamage(); string sourceA = "Item A"; float boostA = 0.2f; stats.AddLastingDamageBoost(sourceA, boostA); stats.RemoveLastingDamageBoost(sourceA); int damageAfterRemoval = stats.GetCurrentAttackDamage(); Assert.IsEmpty(stats.lastingDamageBoosts.Keys, "Lasting damage boosts still contain a boost after it was removed!"); Assert.AreEqual(normalDamage, damageAfterRemoval, "Lasting damage boost couldn't be removed!"); }
public void Test_FighterCannotRemoveNonexistantLastingDamageBoost() { FighterStatsClass stats = new FighterStatsClass(); string sourceA = "Item A"; float boostA = 0.2f; stats.AddLastingDamageBoost(sourceA, boostA); int boostedDamage = stats.GetCurrentAttackDamage(); stats.RemoveLastingDamageBoost("wrongSource"); int damageAfterAttemptedRemoval = stats.GetCurrentAttackDamage(); Assert.AreEqual(boostedDamage, damageAfterAttemptedRemoval, "Attack damage was modified after trying to remove a non-existant lasting damage boost!"); Assert.IsNotEmpty(stats.lastingDamageBoosts.Keys, "Lasting damage boost of different source was removed when trying to remove one of a non-existant source!"); LogAssert.Expect(LogType.Warning, "Fighter cannot remove lasting damage boost of a source that never gave him a boost. Attacke damage will not be modified."); }