mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-10 01:34:01 +00:00
* 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>
27 lines
2.0 KiB
Plaintext
27 lines
2.0 KiB
Plaintext
/// 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)")
|