Files
Aurora.3/code/unit_tests/equipment_tests.dm
2022-04-24 16:13:50 +02:00

64 lines
1.4 KiB
Plaintext

#define SUCCESS 1
#define FAILURE 0
datum/unit_test/vision_glasses/
name = "EQUIPMENT: Vision Template"
var/mob/living/carbon/human/H = null
var/expectation = SEE_INVISIBLE_NOLIGHTING
var/glasses_type = null
async = 1
datum/unit_test/vision_glasses/start_test()
var/list/test = create_test_mob_with_mind(null, /mob/living/carbon/human)
if(isnull(test))
fail("Check Runtimed in Mob creation")
if(test["result"] == FAILURE)
fail(test["msg"])
async = 0
return 0
H = locate(test["mobref"])
var/obj/item/clothing/glasses/G = new glasses_type()
H.glasses = G
return 1
datum/unit_test/vision_glasses/check_result()
if(isnull(H) || H.life_tick < 2)
return 0
if(isnull(H.glasses))
fail("Mob doesn't have glasses on")
H.handle_vision() // Because Life has a client check that bypasses updating vision
if(H.see_invisible == expectation)
pass("Mob See invisible is [H.see_invisible]")
else
fail("Mob See invisible is [H.see_invisible] / expected [expectation]")
return 1
datum/unit_test/vision_glasses/NVG
name = "EQUIPMENT: NVG see_invis"
glasses_type = /obj/item/clothing/glasses/night
datum/unit_test/vision_glasses/mesons
name = "EQUIPMENT: Mesons see_invis"
glasses_type = /obj/item/clothing/glasses/meson
datum/unit_test/vision_glasses/plain
name = "EQUIPMENT: Plain glasses. see_invis"
glasses_type = /obj/item/clothing/glasses/regular
expectation = SEE_INVISIBLE_LIVING
#undef SUCCESS
#undef FAILURE