fix(wired): bound reward amounts

This commit is contained in:
simoleo89
2026-06-17 18:11:08 +02:00
parent 416d0bb088
commit 2f46f31684
5 changed files with 78 additions and 9 deletions
@@ -0,0 +1,28 @@
package com.eu.habbo.habbohotel.items.interactions.wired;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
class WiredNumericInputGuardTest {
@Test
void rejectsInvalidOrNonPositiveAmounts() {
assertEquals(0, WiredNumericInputGuard.parsePositiveAmount(null, 100));
assertEquals(0, WiredNumericInputGuard.parsePositiveAmount("nope", 100));
assertEquals(0, WiredNumericInputGuard.parsePositiveAmount("0", 100));
assertEquals(0, WiredNumericInputGuard.parsePositiveAmount("-5", 100));
}
@Test
void clampsAmountsToConfiguredMaximum() {
assertEquals(50, WiredNumericInputGuard.parsePositiveAmount("50", 100));
assertEquals(100, WiredNumericInputGuard.parsePositiveAmount("500", 100));
}
@Test
void appliesAbsoluteMaximumEvenWhenConfiguredTooHigh() {
assertEquals(WiredNumericInputGuard.MAX_ABSOLUTE_AMOUNT,
WiredNumericInputGuard.parsePositiveAmount("999999999", Integer.MAX_VALUE));
}
}