mirror of
https://github.com/WiIIiam278/HuskSync.git
synced 2025-12-27 10:39:11 +00:00
Fix tests, create DummySettings
This commit is contained in:
@@ -4,10 +4,7 @@ import dev.dejvokep.boostedyaml.YamlDocument;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Settings used for the plugin, as read from the config file
|
||||
@@ -17,7 +14,7 @@ public class Settings {
|
||||
/**
|
||||
* Map of {@link ConfigOption}s read from the config file
|
||||
*/
|
||||
private final HashMap<ConfigOption, Object> configOptions;
|
||||
private final Map<ConfigOption, Object> configOptions;
|
||||
|
||||
// Load the settings from the document
|
||||
private Settings(@NotNull YamlDocument config) {
|
||||
@@ -33,6 +30,11 @@ public class Settings {
|
||||
}));
|
||||
}
|
||||
|
||||
// Default constructor for empty settings
|
||||
protected Settings(@NotNull Map<ConfigOption, Object> configOptions) {
|
||||
this.configOptions = configOptions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value of the specified {@link ConfigOption}
|
||||
*
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package net.william278.husksync.config;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class DummySettings extends Settings {
|
||||
private DummySettings(@NotNull Map<ConfigOption, Object> settings) {
|
||||
super(settings);
|
||||
}
|
||||
|
||||
public static DummySettings get() {
|
||||
return new DummySettings(Map.of(
|
||||
ConfigOption.SYNCHRONIZATION_SAVE_DEAD_PLAYER_INVENTORIES, true
|
||||
));
|
||||
}
|
||||
}
|
||||
@@ -1,21 +1,17 @@
|
||||
package net.william278.husksync.data;
|
||||
|
||||
import net.william278.husksync.config.DummySettings;
|
||||
import net.william278.husksync.logger.DummyLogger;
|
||||
import net.william278.husksync.player.DummyPlayer;
|
||||
import net.william278.husksync.player.OnlineUser;
|
||||
import net.william278.husksync.player.User;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
import static java.util.Map.*;
|
||||
|
||||
/**
|
||||
* Tests for the data system {@link DataAdapter}
|
||||
*/
|
||||
@@ -25,7 +21,7 @@ public class DataAdaptionTests {
|
||||
public void testJsonDataAdapter() {
|
||||
final OnlineUser dummyUser = DummyPlayer.create();
|
||||
final AtomicBoolean isEquals = new AtomicBoolean(false);
|
||||
dummyUser.getUserData(new DummyLogger()).join().ifPresent(dummyUserData -> {
|
||||
dummyUser.getUserData(new DummyLogger(), DummySettings.get()).join().ifPresent(dummyUserData -> {
|
||||
final DataAdapter dataAdapter = new JsonDataAdapter();
|
||||
final byte[] data = dataAdapter.toBytes(dummyUserData);
|
||||
final UserData deserializedUserData = dataAdapter.fromBytes(data);
|
||||
@@ -53,7 +49,7 @@ public class DataAdaptionTests {
|
||||
final OnlineUser dummyUser = DummyPlayer.create();
|
||||
final String expectedJson = "{\"status\":{\"health\":20.0,\"max_health\":20.0,\"health_scale\":0.0,\"hunger\":20,\"saturation\":5.0,\"saturation_exhaustion\":5.0,\"selected_item_slot\":1,\"total_experience\":100,\"experience_level\":1,\"experience_progress\":1.0,\"game_mode\":\"SURVIVAL\",\"is_flying\":false},\"inventory\":{\"serialized_items\":\"\"},\"ender_chest\":{\"serialized_items\":\"\"},\"potion_effects\":{\"serialized_potion_effects\":\"\"},\"advancements\":[],\"statistics\":{\"untyped_statistics\":{},\"block_statistics\":{},\"item_statistics\":{},\"entity_statistics\":{}},\"location\":{\"world_name\":\"dummy_world\",\"world_uuid\":\"00000000-0000-0000-0000-000000000000\",\"world_environment\":\"NORMAL\",\"x\":0.0,\"y\":64.0,\"z\":0.0,\"yaw\":90.0,\"pitch\":180.0},\"persistent_data_container\":{\"persistent_data_map\":{}},\"minecraft_version\":\"1.19-beta123456\",\"format_version\":2}";
|
||||
AtomicReference<String> json = new AtomicReference<>();
|
||||
dummyUser.getUserData(new DummyLogger()).join().ifPresent(dummyUserData -> {
|
||||
dummyUser.getUserData(new DummyLogger(), DummySettings.get()).join().ifPresent(dummyUserData -> {
|
||||
final DataAdapter dataAdapter = new JsonDataAdapter();
|
||||
final byte[] data = dataAdapter.toBytes(dummyUserData);
|
||||
json.set(new String(data, StandardCharsets.UTF_8));
|
||||
@@ -65,7 +61,7 @@ public class DataAdaptionTests {
|
||||
public void testCompressedDataAdapter() {
|
||||
final OnlineUser dummyUser = DummyPlayer.create();
|
||||
AtomicBoolean isEquals = new AtomicBoolean(false);
|
||||
dummyUser.getUserData(new DummyLogger()).join().ifPresent(dummyUserData -> {
|
||||
dummyUser.getUserData(new DummyLogger(), DummySettings.get()).join().ifPresent(dummyUserData -> {
|
||||
final DataAdapter dataAdapter = new CompressedDataAdapter();
|
||||
final byte[] data = dataAdapter.toBytes(dummyUserData);
|
||||
final UserData deserializedUserData = dataAdapter.fromBytes(data);
|
||||
|
||||
@@ -155,4 +155,9 @@ public class DummyPlayer extends OnlineUser {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDead() {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user