mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 00:29:02 +01:00
[MIRROR] Adds unit test for reagent transfer and fixes infinite reagent transfer bug. [MDB IGNORE] (#15873)
* Adds unit test for reagent transfer and fixes infinite reagent transfer bug. * Update holder.dm * Fixes the conflict and updates the file properly to match upstream Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk> Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com> Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
This commit is contained in:
co-authored by
Timberpoes
Zonespace
GoldenAlpharex
parent
3f7c8c3357
commit
8bf2238e3f
@@ -0,0 +1,26 @@
|
||||
/// Tests transferring reagents between two reagents datums.
|
||||
/datum/unit_test/reagent_transfer
|
||||
|
||||
/datum/unit_test/reagent_transfer/Run()
|
||||
var/datum/reagents/source_reagents = allocate(/datum/reagents, 100)
|
||||
var/datum/reagents/target_reagents = allocate(/datum/reagents, 100)
|
||||
|
||||
// Quick test to make sure reagents add properly.
|
||||
source_reagents.add_reagent(/datum/reagent/water, 10)
|
||||
TEST_ASSERT_EQUAL(length(source_reagents.reagent_list), 1, "Source reagents has [length(source_reagents.reagent_list)] unique reagents (expected 1).")
|
||||
TEST_ASSERT_EQUAL(source_reagents.total_volume, 10, "Source reagents has incorrect total_volume [source_reagents.total_volume] (expected 10).")
|
||||
|
||||
// Test to make sure the water reagent was added correctly.
|
||||
var/datum/reagent/water/water_reagent = source_reagents.reagent_list[1]
|
||||
TEST_ASSERT(istype(water_reagent), "Incorrect reagent type detected source reagents: [water_reagent.type] (expected /datum/reagent/water).")
|
||||
TEST_ASSERT_EQUAL(water_reagent.volume, 10, "Source reagents has [water_reagent.volume] reagent volume (expected 10).")
|
||||
|
||||
// Test to make sure reagents transfer properly.
|
||||
source_reagents.trans_to(target_reagents, 10)
|
||||
TEST_ASSERT_EQUAL(length(source_reagents.reagent_list), 0, "Source reagents has [length(source_reagents.reagent_list)] unique reagents after transfer (expected 0, possible duplication?)")
|
||||
TEST_ASSERT_EQUAL(length(target_reagents.reagent_list), 1, "Target reagents has [length(target_reagents.reagent_list)] unique reagents after transfer (expected 1).")
|
||||
TEST_ASSERT_EQUAL(target_reagents.total_volume, 10, "Target reagents has incorrect total_volume [source_reagents.total_volume] (expected 10).")
|
||||
|
||||
water_reagent = target_reagents.reagent_list[1]
|
||||
TEST_ASSERT(istype(water_reagent), "Incorrect reagent type detected in target reagents after transfer: [water_reagent.type] (should be /datum/reagent/water).")
|
||||
TEST_ASSERT_EQUAL(water_reagent.volume, 10, "Target reagents has [water_reagent.volume] reagent volume (expected 10)")
|
||||
Reference in New Issue
Block a user