Job + Spell merge #9

Merged
erns6604 merged 23 commits from Job into main 2025-10-27 12:18:22 +01:00
3 changed files with 16 additions and 6 deletions
Showing only changes of commit 8390d152ce - Show all commits

View File

@@ -20,7 +20,7 @@ public abstract class Job implements HasExperience {
public void levelUp() { public void levelUp() {
level++; level++;
experience = 0; experience = experience - 100;
} }
@Override @Override

View File

@@ -27,4 +27,8 @@ public class Miner extends Job {
levelUp(); levelUp();
} }
} }
public int remainingXpUntilLevelUp() {
return 100;
}
} }

View File

@@ -6,7 +6,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
public class MinerTest { public class MinerTest {
@Test @Test
void miner_can_level_up() { void can_level_up() {
var job = new Miner(); var job = new Miner();
assertEquals(1, job.getLevel()); assertEquals(1, job.getLevel());
job.levelUp(); job.levelUp();
@@ -14,20 +14,26 @@ public class MinerTest {
} }
@Test @Test
void miner_can_gain_xp() { void can_gain_xp() {
var job = new Miner(); var job = new Miner();
job.gainExperience(25); job.gainExperience(25);
assertEquals(25, job.getExperience()); assertEquals(25, job.getExperience());
} }
@Test @Test
void miner_level_up_when_experience_is_100() { void level_up_when_experience_cap_is_reached() {
var job = new Miner(); var job = new Miner();
job.gainExperience(100); job.gainExperience(job.remainingXpUntilLevelUp());
assertEquals(0, job.getExperience());
assertEquals(2, job.getLevel()); assertEquals(2, job.getLevel());
} }
@Test
void additional_xp_carries_over_on_level_up() {
var job = new Miner();
job.gainExperience(job.remainingXpUntilLevelUp() + 10);
assertEquals(10, job.getExperience());
}
} }