40 lines
1.5 KiB
Java
40 lines
1.5 KiB
Java
package games.dmg.spigottyrant;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
|
|
|
import java.io.InputStream;
|
|
import java.time.Duration;
|
|
import java.util.Map;
|
|
import org.bukkit.configuration.file.YamlConfiguration;
|
|
import org.junit.jupiter.api.Test;
|
|
import org.yaml.snakeyaml.Yaml;
|
|
|
|
final class DefaultConfigurationTest {
|
|
@Test
|
|
void bundledConfigurationIsCompleteAndValid() {
|
|
InputStream stream = getClass().getClassLoader().getResourceAsStream("config.yml");
|
|
assertNotNull(stream);
|
|
|
|
Map<String, ?> values = new Yaml().load(stream);
|
|
PluginSettings settings = PluginSettings.from(values);
|
|
assertEquals(50.0, settings.tyrantRangeBlocks());
|
|
assertEquals(Duration.ofDays(7), settings.optOutDuration());
|
|
assertEquals("FISHING_ROD", settings.tamerItem().material());
|
|
}
|
|
|
|
@Test
|
|
void acceptsNestedSectionsAsBukkitProvidesThem() throws Exception {
|
|
InputStream stream = getClass().getClassLoader().getResourceAsStream("config.yml");
|
|
assertNotNull(stream);
|
|
String yamlText = new String(stream.readAllBytes(), java.nio.charset.StandardCharsets.UTF_8);
|
|
YamlConfiguration yaml = new YamlConfiguration();
|
|
yaml.loadFromString(yamlText);
|
|
|
|
PluginSettings settings = PluginSettings.from(yaml.getValues(false));
|
|
|
|
assertEquals("Assassin Cloak", settings.assassinItem().name());
|
|
assertEquals("Fixer's Wrench", settings.fixerItem().name());
|
|
}
|
|
}
|