Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/simulation/components/tests/test_Health.js
Show First 20 Lines • Show All 58 Lines • ▼ Show 20 Lines | |||||
TS_ASSERT_EQUALS(cmpHealth.GetMaxHitpoints(), 50); | TS_ASSERT_EQUALS(cmpHealth.GetMaxHitpoints(), 50); | ||||
TS_ASSERT_EQUALS(cmpHealth.IsInjured(), false); | TS_ASSERT_EQUALS(cmpHealth.IsInjured(), false); | ||||
TS_ASSERT_EQUALS(cmpHealth.IsUnhealable(), true); | TS_ASSERT_EQUALS(cmpHealth.IsUnhealable(), true); | ||||
var change = cmpHealth.Reduce(25); | var change = cmpHealth.Reduce(25); | ||||
TS_ASSERT_EQUALS(injured_flag, true); | TS_ASSERT_EQUALS(injured_flag, true); | ||||
TS_ASSERT_EQUALS(change.killed, false); | TS_ASSERT_EQUALS(change.killed, false); | ||||
TS_ASSERT_EQUALS(change.change, -25); | TS_ASSERT_EQUALS(change.healthChange, -25); | ||||
TS_ASSERT_EQUALS(cmpHealth.GetHitpoints(), 25); | TS_ASSERT_EQUALS(cmpHealth.GetHitpoints(), 25); | ||||
TS_ASSERT_EQUALS(cmpHealth.GetMaxHitpoints(), 50); | TS_ASSERT_EQUALS(cmpHealth.GetMaxHitpoints(), 50); | ||||
TS_ASSERT_EQUALS(cmpHealth.IsInjured(), true); | TS_ASSERT_EQUALS(cmpHealth.IsInjured(), true); | ||||
TS_ASSERT_EQUALS(cmpHealth.IsUnhealable(), false); | TS_ASSERT_EQUALS(cmpHealth.IsUnhealable(), false); | ||||
change = cmpHealth.Increase(25); | change = cmpHealth.Increase(25); | ||||
TS_ASSERT_EQUALS(injured_flag, false); | TS_ASSERT_EQUALS(injured_flag, false); | ||||
Show All 26 Lines | |||||
// Assert we create a corpse with the proper template. | // Assert we create a corpse with the proper template. | ||||
TS_ASSERT_EQUALS(corpse_entity, "corpse|test"); | TS_ASSERT_EQUALS(corpse_entity, "corpse|test"); | ||||
// Check that we are not marked as injured. | // Check that we are not marked as injured. | ||||
TS_ASSERT_EQUALS(injured_flag, false); | TS_ASSERT_EQUALS(injured_flag, false); | ||||
TS_ASSERT_EQUALS(change.killed, true); | TS_ASSERT_EQUALS(change.killed, true); | ||||
TS_ASSERT_EQUALS(change.change, -50); | TS_ASSERT_EQUALS(change.healthChange, -50); | ||||
TS_ASSERT_EQUALS(cmpHealth.GetHitpoints(), 0); | TS_ASSERT_EQUALS(cmpHealth.GetHitpoints(), 0); | ||||
TS_ASSERT_EQUALS(cmpHealth.GetMaxHitpoints(), 50); | TS_ASSERT_EQUALS(cmpHealth.GetMaxHitpoints(), 50); | ||||
TS_ASSERT_EQUALS(cmpHealth.IsInjured(), false); | TS_ASSERT_EQUALS(cmpHealth.IsInjured(), false); | ||||
// Check that we can't be revived once dead. | // Check that we can't be revived once dead. | ||||
change = cmpHealth.Increase(25); | change = cmpHealth.Increase(25); | ||||
TS_ASSERT_EQUALS(change.new, 0); | TS_ASSERT_EQUALS(change.new, 0); | ||||
TS_ASSERT_EQUALS(cmpHealth.GetHitpoints(), 0); | TS_ASSERT_EQUALS(cmpHealth.GetHitpoints(), 0); | ||||
TS_ASSERT_EQUALS(cmpHealth.GetMaxHitpoints(), 50); | TS_ASSERT_EQUALS(cmpHealth.GetMaxHitpoints(), 50); | ||||
TS_ASSERT_EQUALS(cmpHealth.IsInjured(), false); | TS_ASSERT_EQUALS(cmpHealth.IsInjured(), false); | ||||
// Check that we can't die twice. | // Check that we can't die twice. | ||||
change = cmpHealth.Reduce(50); | change = cmpHealth.Reduce(50); | ||||
TS_ASSERT_EQUALS(change.killed, false); | TS_ASSERT_EQUALS(change.killed, false); | ||||
TS_ASSERT_EQUALS(change.change, 0); | TS_ASSERT_EQUALS(change.healthChange, 0); | ||||
TS_ASSERT_EQUALS(cmpHealth.GetHitpoints(), 0); | TS_ASSERT_EQUALS(cmpHealth.GetHitpoints(), 0); | ||||
TS_ASSERT_EQUALS(cmpHealth.GetMaxHitpoints(), 50); | TS_ASSERT_EQUALS(cmpHealth.GetMaxHitpoints(), 50); | ||||
TS_ASSERT_EQUALS(cmpHealth.IsInjured(), false); | TS_ASSERT_EQUALS(cmpHealth.IsInjured(), false); | ||||
cmpHealth = setEntityUp(); | cmpHealth = setEntityUp(); | ||||
// Check that we still die with > Max HP of damage. | // Check that we still die with > Max HP of damage. | ||||
change = cmpHealth.Reduce(60); | change = cmpHealth.Reduce(60); | ||||
TS_ASSERT_EQUALS(change.killed, true); | TS_ASSERT_EQUALS(change.killed, true); | ||||
TS_ASSERT_EQUALS(change.change, -50); | TS_ASSERT_EQUALS(change.healthChange, -50); | ||||
TS_ASSERT_EQUALS(cmpHealth.GetHitpoints(), 0); | TS_ASSERT_EQUALS(cmpHealth.GetHitpoints(), 0); | ||||
TS_ASSERT_EQUALS(cmpHealth.GetMaxHitpoints(), 50); | TS_ASSERT_EQUALS(cmpHealth.GetMaxHitpoints(), 50); | ||||
TS_ASSERT_EQUALS(cmpHealth.IsInjured(), false); | TS_ASSERT_EQUALS(cmpHealth.IsInjured(), false); | ||||
cmpHealth = setEntityUp(); | cmpHealth = setEntityUp(); | ||||
// Check that increasing by more than required puts us at the max HP | // Check that increasing by more than required puts us at the max HP | ||||
change = cmpHealth.Reduce(30); | change = cmpHealth.Reduce(30); | ||||
change = cmpHealth.Increase(30); | change = cmpHealth.Increase(30); | ||||
TS_ASSERT_EQUALS(injured_flag, false); | TS_ASSERT_EQUALS(injured_flag, false); | ||||
TS_ASSERT_EQUALS(change.new, 50); | TS_ASSERT_EQUALS(change.new, 50); | ||||
TS_ASSERT_EQUALS(cmpHealth.GetHitpoints(), 50); | TS_ASSERT_EQUALS(cmpHealth.GetHitpoints(), 50); | ||||
TS_ASSERT_EQUALS(cmpHealth.GetMaxHitpoints(), 50); | TS_ASSERT_EQUALS(cmpHealth.GetMaxHitpoints(), 50); | ||||
TS_ASSERT_EQUALS(cmpHealth.IsInjured(), false); | TS_ASSERT_EQUALS(cmpHealth.IsInjured(), false); | ||||
TS_ASSERT_EQUALS(cmpHealth.IsUnhealable(), true); | TS_ASSERT_EQUALS(cmpHealth.IsUnhealable(), true); |
Wildfire Games · Phabricator