Respackopts/src/test/java/io/gitlab/jfronny/respackopts/ConfigTreeTest.java

101 lines
4.2 KiB
Java

package io.gitlab.jfronny.respackopts;
//import io.gitlab.jfronny.respackopts.model.ConfigFile;
import io.gitlab.jfronny.respackopts.model.tree.*;
import io.gitlab.jfronny.respackopts.model.enums.ConfigSyncMode;
import io.gitlab.jfronny.respackopts.model.enums.NumericEntryType;
//import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
//import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
//import java.nio.file.Files;
//import java.nio.file.Paths;
import static io.gitlab.jfronny.respackopts.Respackopts.*;
//import static io.gitlab.jfronny.respackopts.Respackopts.CONFIG_BRANCH;
//import static org.junit.jupiter.api.Assertions.*;
class ConfigTreeTest {
private static final String testEntryName = "test";
//private static final String testEntry1Name = "test1";
@BeforeAll
static void initialize() {
/*LOGGER.info("Expected error end");
FALLBACK_CONF_DIR = Paths.get("./test");
CONFIG = new ConfigFile();
assertDoesNotThrow(() -> Files.deleteIfExists(FALLBACK_CONF_DIR.resolve(testEntry1Name + ".json")));
assertDoesNotThrow(() -> Files.createDirectories(FALLBACK_CONF_DIR));
SAVE_ACTIONS.add(() -> LOGGER.info("Save"));
LOGGER.info(FALLBACK_CONF_DIR);*/
}
/*@AfterEach
void reset() {
MetaCache.clear();
MetaCache.save();
assertEquals(CONFIG_BRANCH.keySet().size(), 0);
}
@BeforeEach
void initSingle() {
CONFIG_BRANCH.put(testEntryName, new ConfigBranch());
assertEquals(CONFIG_BRANCH.keySet().size(), 1);
}
@Test
void saveLoadSimple() {
CONFIG_BRANCH.get(testEntryName).add(testEntry1Name, new ConfigBooleanEntry(false));
assertTrue(CONFIG_BRANCH.get(testEntryName).has(testEntry1Name));
assertFalse((Boolean) CONFIG_BRANCH.get(testEntryName).get(testEntry1Name).getValue());
MetaCache.save();
CONFIG_BRANCH.remove(testEntryName);
assertEquals(CONFIG_BRANCH.keySet().size(), 0);
CONFIG_BRANCH.put(testEntryName, new ConfigBranch());
CONFIG_BRANCH.get(testEntryName).add(testEntry1Name, new ConfigBooleanEntry(false));
MetaCache.load(testEntryName);
assertEquals(CONFIG_BRANCH.keySet().size(), 1);
assertTrue(CONFIG_BRANCH.get(testEntryName).has(testEntry1Name));
assertFalse((Boolean) CONFIG_BRANCH.get(testEntryName).get(testEntry1Name).getValue());
}
@Test
void syncSimple() {
ConfigBranch test = new ConfigBranch();
test.add(testEntry1Name, new ConfigBooleanEntry(false));
CONFIG_BRANCH.get(testEntryName).sync(test, ConfigSyncMode.RESPACK_LOAD);
MetaCache.save();
MetaCache.load(testEntryName);
assertFalse((Boolean) CONFIG_BRANCH.get(testEntryName).get(testEntry1Name).getValue());
assertEquals(CONFIG_BRANCH.keySet().size(), 1);
assertEquals(test.getValue().size(), 1);
assertNotNull(CONFIG_BRANCH.get(testEntryName));
ConfigBooleanEntry be;
assertTrue(test.get(testEntry1Name) instanceof ConfigBooleanEntry);
be = (ConfigBooleanEntry)test.get(testEntry1Name);
be.setValue(true);
assertFalse((Boolean) CONFIG_BRANCH.get(testEntryName).get(testEntry1Name).getValue());
LOGGER.info("E");
CONFIG_BRANCH.get(testEntryName).sync(test, ConfigSyncMode.RESPACK_LOAD);
assertFalse((Boolean) CONFIG_BRANCH.get(testEntryName).get(testEntry1Name).getValue());
CONFIG_BRANCH.get(testEntryName).sync(test, ConfigSyncMode.CONF_LOAD);
MetaCache.save();
MetaCache.load(testEntryName);
assertTrue((Boolean) CONFIG_BRANCH.get(testEntryName).get(testEntry1Name).getValue());
}*/
@Test
void syncWrongType() {
ConfigBranch cb = new ConfigBranch();
ConfigBranch cbNew = new ConfigBranch();
cb.add(testEntryName, new ConfigBooleanEntry(false));
cbNew.add(testEntryName, new ConfigNumericEntry(NumericEntryType.Slider));
LOGGER.info("Expecting warning message");
cbNew.sync(cb, ConfigSyncMode.RESPACK_LOAD);
LOGGER.info("Expected warning end");
cbNew.add(testEntryName, new ConfigBooleanEntry(true));
cbNew.sync(cb, ConfigSyncMode.RESPACK_LOAD);
}
}