Files
purpur-base/src/test/java/games/dmg/spigotbase/BaseStateManagerTest.java
T

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());
}
}