public void PassiveMagicSkillTest() { // Check the basics Assert.AreEqual(0, passiveMagicSkill.Id); Assert.AreEqual("A +10 Buff to the user's strength.", passiveMagicSkill.Description); Assert.AreEqual("ShadowStrength (Cost: 10, Body +10 for 10 sec)", passiveMagicSkill.ToString()); // Check if the combination matches Assert.IsFalse(passiveMagicSkill.Match(new int[] { })); Assert.IsFalse(passiveMagicSkill.Match(new int[] { coin.Id })); Assert.IsFalse(passiveMagicSkill.Match(new int[] { herb.Id, coin.Id })); Assert.IsFalse(passiveMagicSkill.Match(new int[] { coin.Id, herb.Id })); Assert.IsTrue(passiveMagicSkill.Match(new int[] { herb.Id })); // Player triggers a Skill that is not learned yet bool triggered = player.TriggerMagicSkill(passiveMagicSkill.Id); Assert.IsFalse(triggered); // Player learns the Skill and triggers it player.LearnMagicSkill(passiveMagicSkill.Id); triggered = player.TriggerMagicSkill(passiveMagicSkill.Id); Assert.IsTrue(triggered); // Check the effect on the modified attribute Assert.AreEqual(10, player.Stats.Body.Value); // Player triggers it again right away, which is not possible due to cooldown time triggered = player.TriggerMagicSkill(passiveMagicSkill.Id); Assert.IsFalse(triggered); // Enemy uses the same passive skill enemy.LearnMagicSkill(passiveMagicSkill.Id); triggered = enemy.TriggerMagicSkill(passiveMagicSkill.Id); Assert.IsTrue(triggered); // Advance in Time and trigger again GameTime.time = 5; triggered = player.TriggerMagicSkill(passiveMagicSkill.Id); Assert.IsTrue(triggered); // Take the use costs into account GameTime.time = 10; triggered = player.TriggerMagicSkill(passiveMagicSkill.Id); Assert.IsFalse(triggered); }
public void OffensiveMagicSkillTest() { // Check the basics Assert.AreEqual(1, offensiveMagicSkill.Id); // Check if the combination matches Assert.IsFalse(offensiveMagicSkill.Match(new int[] { })); Assert.IsFalse(offensiveMagicSkill.Match(new int[] { coin.Id })); Assert.IsFalse(offensiveMagicSkill.Match(new int[] { herb.Id, coin.Id })); Assert.IsFalse(offensiveMagicSkill.Match(new int[] { coin.Id, herb.Id })); Assert.IsTrue(offensiveMagicSkill.Match(new int[] { herb.Id })); // Player triggers a Skill that is not learned yet bool triggered = player.TriggerMagicSkill(offensiveMagicSkill.Id); Assert.IsFalse(triggered); // Player learns the Skill and triggers it player.LearnMagicSkill(offensiveMagicSkill.Id); triggered = player.TriggerMagicSkill(offensiveMagicSkill.Id); Assert.IsTrue(triggered); // Player triggers it again right away, which is not possible due to cooldown time triggered = player.TriggerMagicSkill(offensiveMagicSkill.Id); Assert.IsFalse(triggered); // Enemy uses the same passive skill enemy.LearnMagicSkill(offensiveMagicSkill.Id); triggered = enemy.TriggerMagicSkill(offensiveMagicSkill.Id); Assert.IsTrue(triggered); // Advance in Time and trigger again GameTime.time += 5; triggered = player.TriggerMagicSkill(offensiveMagicSkill.Id); Assert.IsTrue(triggered); }