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() {
level++;
experience = 0;
experience = experience - 100;
}
@Override

View File

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

View File

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