/* Usage: Override /Run() to run your test code Call Fail() to fail the test (You should specify a reason) You may use /New() and /Destroy() for setup/teardown respectively You can use the run_loc_bottom_left and run_loc_top_right to get turfs for testing */ /datum/unit_test //Bit of metadata for the future maybe var/list/procs_tested //usable vars var/turf/run_loc_bottom_left var/turf/run_loc_top_right //internal shit var/succeeded = TRUE var/list/fail_reasons /datum/unit_test/New() run_loc_bottom_left = locate(1, 1, 1) run_loc_top_right = locate(5, 5, 1) /datum/unit_test/Destroy() //clear the test area for(var/atom/movable/AM in block(run_loc_bottom_left, run_loc_top_right)) qdel(AM) return ..() /datum/unit_test/proc/Run() Fail("Run() called parent or not implemented") /datum/unit_test/proc/Fail(reason = "No reason") succeeded = FALSE if(!istext(reason)) reason = "FORMATTED: [reason != null ? reason : "NULL"]" LAZYADD(fail_reasons, reason)