Require sender and receiver to not be equal in transferBankShards and add tests

This commit is contained in:
SKBotNL committed 2026-07-28 17:28:03 +02:00
1 parent 157c28a6ed
commit c0c19fa427
2 files changed
+9 -2

No files matched your search

@@ -93,6 +93,7 @@ internal class CachingBalanceManager private constructor() : BalanceManager {
): Result<Unit> {
require(shardsToSubtractFromSender >= 0) { "shardsToSubtractFromSender must not be negative" }
require(shardsToAddToReceiver >= 0) { "shardsToAddToReceiver must not be negative" }
require(sender != receiver) { "sender and receiver must not be equal" }
if (economyDisabled) return Result.failure(EconomyDisabledException())
return withLock(ShardType.BANK, sender, receiver) {
@@ -212,13 +212,19 @@ class CachingBalanceManagerTest {
@Test
@DisplayName("Transfer Bank Shards fails for negative shardsToSubtractFromSender")
fun transferBankShardsNegativeSubtract() = runTest {
assertThrows<IllegalArgumentException> { manager.transferBankShards(playerUuid, playerUuid, -1, 5) }
assertThrows<IllegalArgumentException> { manager.transferBankShards(playerUuid, otherPlayerUuid, -1, 5) }
}
@Test
@DisplayName("Transfer Bank Shards fails for negative shardsToAddToReceiver")
fun transferBankShardsNegativeAdd() = runTest {
assertThrows<IllegalArgumentException> { manager.transferBankShards(playerUuid, playerUuid, 5, -1) }
assertThrows<IllegalArgumentException> { manager.transferBankShards(playerUuid, otherPlayerUuid, 5, -1) }
}
@Test
@DisplayName("Transfer Bank Shards fails for equal sender and receiver")
fun transferBankShardsEqualSenderReceiver() = runTest {
assertThrows<IllegalArgumentException> { manager.transferBankShards(playerUuid, playerUuid, 5, 5) }
}
@ParameterizedTest(name = "{0}")