Job + Spell merge #9
@@ -20,7 +20,7 @@ public abstract class Job implements HasExperience {
|
||||
|
||||
public void levelUp() {
|
||||
level++;
|
||||
experience = 0;
|
||||
experience = experience - 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -27,4 +27,8 @@ public class Miner extends Job {
|
||||
levelUp();
|
||||
}
|
||||
}
|
||||
|
||||
public int remainingXpUntilLevelUp() {
|
||||
return 100;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user