Files
Bubberstation/code/modules/unit_tests/full_heal.dm
SkyratBot 3464b6bfb2 [MIRROR] Refactors Regenerate Organs, and a few organ helpers [MDB IGNORE] (#20094)
* Refactors Regenerate Organs, and a few organ helpers

* MERGE CONFLICTS

* GETORGANSLOT > GET_ORGAN_SLOT

* GETORGAN > get_organ_by_type

* lint repairs

* more lint

* Update tgstation.dme

* Update surgery_step.dm

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-01 02:51:06 +01:00

61 lines
2.2 KiB
Plaintext

/// Tests the fully heal flag [HEAL_ORGANS].
/datum/unit_test/full_heal_heals_organs
/datum/unit_test/full_heal_heals_organs/Run()
var/mob/living/carbon/human/dummy = allocate(/mob/living/carbon/human/consistent)
for(var/obj/item/organ/internal/organ in dummy.organs)
organ.apply_organ_damage(50)
dummy.fully_heal(HEAL_ORGANS)
for(var/obj/item/organ/internal/organ in dummy.organs)
if(organ.damage <= 0)
continue
TEST_FAIL("Organ [organ] did not get healed by fullyheal flag HEAL_ORGANS.")
/// Tests the fully heal flag [HEAL_REFRESH_ORGANS].
/datum/unit_test/full_heal_regenerates_organs
/datum/unit_test/full_heal_regenerates_organs/Run()
var/mob/living/carbon/human/dummy = allocate(/mob/living/carbon/human/consistent)
var/list/we_started_with = list()
for(var/obj/item/organ/internal/organ in dummy.organs)
if(organ.organ_flags & ORGAN_VITAL) // leave this for now
continue
we_started_with += organ.type
qdel(organ)
TEST_ASSERT(length(we_started_with), "Dummy didn't spawn with any organs to regenerate.")
dummy.fully_heal(HEAL_REFRESH_ORGANS)
for(var/obj/item/organ/organ_type as anything in we_started_with)
if(dummy.get_organ_by_type(organ_type))
continue
TEST_FAIL("Organ [initial(organ_type.name)] didn't regenerate in the dummy after fullyheal flag HEAL_REFRESH_ORGANS.")
/// Tests the fully heal combination flag [HEAL_DAMAGE].
/datum/unit_test/full_heal_damage_types
/datum/unit_test/full_heal_damage_types/Run()
var/mob/living/carbon/human/dummy = allocate(/mob/living/carbon/human/consistent)
dummy.apply_damages(brute = 10, burn = 10, tox = 10, oxy = 10, clone = 10, stamina = 10)
dummy.fully_heal(HEAL_DAMAGE)
if(dummy.getBruteLoss())
TEST_FAIL("The dummy still had brute damage after a fully heal!")
if(dummy.getFireLoss())
TEST_FAIL("The dummy still had burn damage after a fully heal!")
if(dummy.getToxLoss())
TEST_FAIL("The dummy still had toxins damage after a fully heal!")
if(dummy.getOxyLoss())
TEST_FAIL("The dummy still had oxy damage after a fully heal!")
if(dummy.getCloneLoss())
TEST_FAIL("The dummy still had clone damage after a fully heal!")
if(dummy.getStaminaLoss())
TEST_FAIL("The dummy still had stamina damage after a fully heal!")