mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-21 03:55:05 +01:00
Create interaction test harness. (#27643)
* Create interaction test harness. * retrofit tests, add janicart attack chain tests * extract puppeteer to separate file * move puppeteer creation to constructor
This commit is contained in:
committed by
GitHub
parent
5c549adeb6
commit
33eaf8ae42
@@ -0,0 +1,17 @@
|
||||
/datum/game_test/attack_chain_cult_dagger/Run()
|
||||
var/datum/test_puppeteer/cultist = new(src)
|
||||
var/datum/test_puppeteer/target = cultist.spawn_puppet_nearby()
|
||||
|
||||
cultist.puppet.mind.add_antag_datum(/datum/antagonist/cultist)
|
||||
cultist.spawn_obj_in_hand(/obj/item/melee/cultblade/dagger)
|
||||
cultist.set_intent("harm")
|
||||
cultist.click_on(target)
|
||||
|
||||
TEST_ASSERT(target.check_attack_log("Attacked with ritual dagger"), "non-cultist missing dagger attack log")
|
||||
TEST_ASSERT_NOTEQUAL(target.puppet.health, target.puppet.getMaxHealth(), "cultist attacking non-cultist with dagger caused no damage")
|
||||
|
||||
target.rejuvenate()
|
||||
target.puppet.mind.add_antag_datum(/datum/antagonist/cultist)
|
||||
|
||||
cultist.click_on(target)
|
||||
TEST_ASSERT_EQUAL(target.puppet.health, target.puppet.getMaxHealth(), "cultist attacking cultist with dagger caused damage")
|
||||
@@ -0,0 +1,26 @@
|
||||
/datum/game_test/attack_chain_vehicles/Run()
|
||||
var/datum/test_puppeteer/player = new(src)
|
||||
var/obj/item/key/janitor/janicart_key = player.spawn_obj_in_hand(/obj/item/key/janitor)
|
||||
var/obj/vehicle/janicart/janicart = player.spawn_obj_nearby(/obj/vehicle/janicart)
|
||||
|
||||
player.click_on(janicart)
|
||||
TEST_ASSERT_EQUAL(janicart.inserted_key, janicart_key, "did not find janicart key in vehicle")
|
||||
|
||||
var/move_delay = janicart.vehicle_move_delay
|
||||
player.spawn_obj_in_hand(/obj/item/borg/upgrade/vtec)
|
||||
player.click_on(janicart)
|
||||
TEST_ASSERT(janicart.vehicle_move_delay < move_delay, "VTEC upgrade not applied properly")
|
||||
|
||||
TEST_ASSERT_NULL(janicart.mybag, "unexpected trash bag on janicart")
|
||||
var/obj/item/storage/bag/trash/bag = player.spawn_obj_in_hand(/obj/item/storage/bag/trash)
|
||||
player.click_on(janicart)
|
||||
TEST_ASSERT_EQUAL(janicart.mybag, bag, "trash bag not attached to janicart")
|
||||
|
||||
var/obj/item/kitchen/knife/knife = player.spawn_obj_in_hand(/obj/item/kitchen/knife)
|
||||
player.set_intent("harm")
|
||||
player.click_on(janicart)
|
||||
TEST_ASSERT(janicart.obj_integrity < janicart.max_integrity, "knife attack not performed")
|
||||
|
||||
player.set_intent("help")
|
||||
player.click_on(janicart)
|
||||
TEST_ASSERT(knife in bag, "knife not placed in trash bag")
|
||||
Reference in New Issue
Block a user