40 lines
1.4 KiB
Java
40 lines
1.4 KiB
Java
package games.dmg.spigotbase;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
|
|
import java.util.Map;
|
|
import java.util.UUID;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
final class BaseNavigationProgressionTest {
|
|
@Test
|
|
void fiveHundredthGrassOrDirtBlockUnlocksBaseII() {
|
|
BaseProgressionService service =
|
|
new BaseProgressionService(PluginSettings.from(Map.of()));
|
|
PlayerState player = PlayerState.newPlayer(UUID.randomUUID(), "Alex")
|
|
.withGrassAndDirtProgress(499, 1);
|
|
|
|
ProgressionUpdate update = service.recordGrassOrDirtBreak(player);
|
|
|
|
assertEquals(2, update.player().baseLevel());
|
|
assertTrue(update.player().navigationEnabled());
|
|
assertTrue(update.unlockedBaseLevel());
|
|
}
|
|
|
|
@Test
|
|
void laterProgressPreservesDisabledNavigationPreference() {
|
|
BaseProgressionService service =
|
|
new BaseProgressionService(PluginSettings.from(Map.of()));
|
|
PlayerState player = PlayerState.newPlayer(UUID.randomUUID(), "Alex")
|
|
.withGrassAndDirtProgress(500, 2)
|
|
.withNavigationEnabled(false);
|
|
|
|
ProgressionUpdate update = service.recordGrassOrDirtBreak(player);
|
|
|
|
assertFalse(update.player().navigationEnabled());
|
|
assertFalse(update.unlockedBaseLevel());
|
|
}
|
|
}
|