| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- package cz.davza.studentadventure.objects;
- import cz.davza.studentadventure.enums.DeprivationState;
- import org.junit.jupiter.api.BeforeEach;
- import org.junit.jupiter.api.Test;
- import static org.junit.jupiter.api.Assertions.*;
- class PlayerTest {
- private Player player;
- @BeforeEach
- void setUp() {
- player = new Player("Dave", 20);
- }
- @Test
- void startsWithDefaultStats() {
- assertEquals(5, player.getIntelligence().getValue());
- assertEquals(100, player.getEnergy().getValue());
- assertEquals(0, player.getStress().getValue());
- }
- @Test
- void startsWithStartingMoney() {
- assertEquals(50, player.getWallet().getMoney());
- }
- @Test
- void nameIsSet() {
- assertEquals("Dave", player.getName());
- }
- @Test
- void idIsNotNull() {
- assertNotNull(player.getId());
- }
- @Test
- void addHoursAwakeAccumulates() {
- player.addHoursAwake(5);
- player.addHoursAwake(5);
- assertEquals(DeprivationState.NORMAL, player.getDeprivationState()); // 10 < tired threshold 14
- }
- @Test
- void deprivationStateTiredAt14Hours() {
- player.addHoursAwake(14);
- assertEquals(DeprivationState.TIRED, player.getDeprivationState());
- }
- @Test
- void deprivationStateDeprivedAt20Hours() {
- player.addHoursAwake(20);
- assertEquals(DeprivationState.DEPRIVED, player.getDeprivationState());
- }
- @Test
- void resetHoursAwakeSetsToNormal() {
- player.addHoursAwake(25);
- player.resetHoursAwake();
- assertEquals(DeprivationState.NORMAL, player.getDeprivationState());
- }
- @Test
- void multiplierIs1WhenNormal() {
- assertEquals(1.0, player.getDeprivationMultiplier(), 0.001);
- }
- @Test
- void multiplierIs1point3WhenTired() {
- player.addHoursAwake(14);
- assertEquals(1.3, player.getDeprivationMultiplier(), 0.001);
- }
- @Test
- void multiplierIncreasesWhenDeprived() {
- player.addHoursAwake(21); // 1 hour past deprived threshold
- assertTrue(player.getDeprivationMultiplier() > 1.3);
- }
- @Test
- void multiplierCapsAt3() {
- player.addHoursAwake(100);
- assertEquals(3.0, player.getDeprivationMultiplier(), 0.001);
- }
- @Test
- void printStatsContainsMoneyFromWallet() {
- String stats = player.printStats();
- assertTrue(stats.contains("50 coins"));
- }
- @Test
- void printStatsContainsAllStatNames() {
- String stats = player.printStats();
- assertTrue(stats.contains("Intelligence"));
- assertTrue(stats.contains("Energy"));
- assertTrue(stats.contains("Stress"));
- }
- }
|