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