Require sender and receiver to not be equal in transferBankShards and add tests
This commit is contained in:
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}")
|
||||
|
||||
Reference in new issue
Block a user