diff --git a/code/modules/unit_tests/_unit_tests.dm b/code/modules/unit_tests/_unit_tests.dm index 4f0298c36cc..3572b413dfb 100644 --- a/code/modules/unit_tests/_unit_tests.dm +++ b/code/modules/unit_tests/_unit_tests.dm @@ -130,6 +130,7 @@ #include "outfit_sanity.dm" #include "paintings.dm" #include "pills.dm" +#include "plane_dupe_detector.dm" #include "plantgrowth_tests.dm" #include "preference_species.dm" #include "preferences.dm" diff --git a/code/modules/unit_tests/plane_dupe_detector.dm b/code/modules/unit_tests/plane_dupe_detector.dm new file mode 100644 index 00000000000..c5d8d54e44f --- /dev/null +++ b/code/modules/unit_tests/plane_dupe_detector.dm @@ -0,0 +1,12 @@ +///Checks if we don't have two planes on the same layer +/datum/unit_test/plane_dupe_detector + +/datum/unit_test/plane_dupe_detector/Run() + var/list/plane_integer_list = list() + for(var/atom/movable/screen/plane_master/plane_path as anything in subtypesof(/atom/movable/screen/plane_master)) + if(!initial(plane_path.plane)) + continue + if(plane_integer_list.Find("[initial(plane_path.plane)]")) + var/atom/movable/screen/plane_master/duplicate_plane_path = plane_integer_list["[initial(plane_path.plane)]"] + TEST_FAIL("PLANE CONFLICT DETECTED!! The [initial(plane_path.name)] and [initial(duplicate_plane_path.name)] both use plane [initial(plane_path.plane)].") + plane_integer_list["[initial(plane_path.plane)]"] = plane_path