public void Test_FighterIsOnLastBreathWhileHealthBelowThreshhold() { FighterStatsClass stats = new FighterStatsClass(); int lastBreathDamage = Mathf.FloorToInt(stats.GetMaxHealth() - (stats.GetLastBreathThreshold() * stats.GetMaxHealth())); stats.ReceiveDamage(lastBreathDamage); Assert.AreEqual(FighterState.lastBreath, stats.GetCurrentFighterState(), "Fighter didn't get to last breath after his health dropped below the threshold!"); }
public void Test_FighterCanRevoverFromLastBreath() { FighterStatsClass stats = new FighterStatsClass(); int lastBreathDamage = Mathf.FloorToInt(stats.GetMaxHealth() - (stats.GetLastBreathThreshold() * stats.GetMaxHealth())); const int heal = 10; stats.ReceiveDamage(lastBreathDamage); Assert.AreEqual(FighterState.lastBreath, stats.GetCurrentFighterState(), "Fighter didn't get to last breath after his health dropped below the threshold!"); stats.GetHealedBy(heal); Assert.AreEqual(FighterState.alive, stats.GetCurrentFighterState(), "Fighter didn't recover from last breath after his health exceeded the threshold!"); }