package cz.davza.studentadventure.objects; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; class PlayerStatTest { @Test void initialValueIsSet() { PlayerStat stat = new PlayerStat("Energy", 50); assertEquals(50, stat.getValue()); } @Test void initialValueClampsAbove100() { PlayerStat stat = new PlayerStat("Energy", 150); assertEquals(100, stat.getValue()); } @Test void initialValueClampsBelow0() { PlayerStat stat = new PlayerStat("Energy", -10); assertEquals(0, stat.getValue()); } @Test void increaseAddsValue() { PlayerStat stat = new PlayerStat("Energy", 50); stat.increase(20); assertEquals(70, stat.getValue()); } @Test void increaseClampAt100() { PlayerStat stat = new PlayerStat("Energy", 90); stat.increase(50); assertEquals(100, stat.getValue()); } @Test void decreaseSubtractsValue() { PlayerStat stat = new PlayerStat("Energy", 50); stat.decrease(20); assertEquals(30, stat.getValue()); } @Test void decreaseClampAt0() { PlayerStat stat = new PlayerStat("Energy", 10); stat.decrease(50); assertEquals(0, stat.getValue()); } @Test void increaseByZeroChangesNothing() { PlayerStat stat = new PlayerStat("Energy", 50); stat.increase(0); assertEquals(50, stat.getValue()); } @Test void toStringFormat() { PlayerStat stat = new PlayerStat("Energy", 75); assertEquals("Energy: 75/100", stat.toString()); } }