33 lines
978 B
Java
33 lines
978 B
Java
package games.dmg.spigotbase;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
|
|
import java.nio.file.Path;
|
|
import java.util.UUID;
|
|
import java.util.logging.Logger;
|
|
import org.junit.jupiter.api.Test;
|
|
import org.junit.jupiter.api.io.TempDir;
|
|
|
|
final class BaseStateManagerTest {
|
|
@TempDir
|
|
Path temporaryDirectory;
|
|
|
|
@Test
|
|
void durableUpdateIsImmediatelyReadableFromRepository() throws Exception {
|
|
Path stateFile = temporaryDirectory.resolve("state.yml");
|
|
BaseStateManager manager = new BaseStateManager(
|
|
new YamlBaseStateRepository(stateFile), Logger.getAnonymousLogger()
|
|
);
|
|
UUID playerId = UUID.randomUUID();
|
|
|
|
manager.updateAndSave(
|
|
playerId,
|
|
"Alex",
|
|
player -> player.withGrassAndDirtProgress(250, 1)
|
|
);
|
|
|
|
PlayerState loaded = new YamlBaseStateRepository(stateFile).load().players().get(playerId);
|
|
assertEquals(1, loaded.baseLevel());
|
|
}
|
|
}
|