@Test
public void configTest() {
config.set("test.key","world");
config.set("test.bar", 100);
config.set("storage.xyz", true);
config.set("storage.abc", Boolean.FALSE);
config.set("storage.duba", new String[]{"x", "y"});
config.set("times.60m", Duration.ofMinutes(60));
config.set("obj", new Object());
assertEquals("world", config.get("test.key", String.class));
assertEquals(ImmutableSet.of("test.key", "test.bar"), Sets.newHashSet(config.getKeys("test")));
assertEquals(ImmutableSet.of("storage.xyz", "storage.duba", "storage.abc"),
Sets.newHashSet(config.getKeys("storage")));
assertEquals(100,config.get("test.bar",Integer.class).intValue());
assertEquals(true, config.get("storage.xyz", Boolean.class));
assertEquals(false, config.get("storage.abc", Boolean.class));
assertTrue(Arrays.equals(new String[]{"x", "y"},config.get("storage.duba",String[].class)));
assertEquals(Duration.ofMinutes(60), config.get("times.60m", Duration.class));
assertTrue(Object.class.isAssignableFrom(config.get("obj", Object.class).getClass()));
}
}