public void removeBuffWhenInjureTest() { CardEngine game = new CardEngine(null, null, 0) { logger = new UnityLogger() }; Card card = new Card(0); card.setLife(5); card.setCurrentLife(5); TestBuff buff = new TestBuff(new LifeModifier(3, true)); card.addBuff(game, buff); Assert.AreEqual(3, card.getLife()); Assert.AreEqual(3, card.getCurrentLife()); card.removeBuff(game, buff); Assert.AreEqual(5, card.getLife()); Assert.AreEqual(5, card.getCurrentLife()); card.addBuff(game, buff); Assert.AreEqual(3, card.getLife()); Assert.AreEqual(3, card.getCurrentLife()); //不满血 card.setCurrentLife(1); card.removeBuff(game, buff); Assert.AreEqual(5, card.getLife()); Assert.AreEqual(1, card.getCurrentLife()); }
public void addAndSetATKBuffRevertTest() { Card card = new Card(0); TestBuff[] buffs = new TestBuff[3]; buffs[0] = new TestBuff(new AttackModifier(2)); card.addBuff(null, buffs[0]); buffs[1] = new TestBuff(new AttackModifier(0, true)); card.addBuff(null, buffs[1]); buffs[2] = new TestBuff(new AttackModifier(2)); card.addBuff(null, buffs[2]); Assert.AreEqual(2, card.getAttack()); card.removeBuff(null, buffs[1]); Assert.AreEqual(4, card.getAttack()); }
public void subAttackBuffApplyAndRevertTest() { Card card = new Card(0); card.setAttack(2); TestBuff[] buffs = new TestBuff[3]; for (int i = 0; i < buffs.Length; i++) { buffs[i] = new TestBuff(new AttackModifier(-2)); card.addBuff(null, buffs[i]); } Assert.AreEqual(0, card.getAttack()); for (int i = 0; i < buffs.Length; i++) { card.removeBuff(null, buffs[i]); } Assert.AreEqual(2, card.getAttack()); }
public void haloAndSetBuffTest() { CardEngine game = new CardEngine(null, null, 0) { logger = new UnityLogger() }; Card card = new Card(0); card.setLife(1); card.setCurrentLife(1); TestBuff haloBuff = new TestBuff(new LifeModifier(1)); card.addBuff(game, haloBuff); TestBuff setBuff = new TestBuff(new LifeModifier(1, true)); card.addBuff(game, setBuff); //刷新Buff card.removeBuff(game, haloBuff); card.addBuff(game, haloBuff); Assert.AreEqual(2, card.getCurrentLife()); Assert.AreEqual(2, card.getLife()); }