package glaze.client.config;
import glaze.client.config.DefaultPropertyConfig;
import glaze.client.config.DefaultYamlConfig;
import org.testng.Assert;
import org.testng.annotations.Test;
public class TestConfig
{
private class ConfigProps extends DefaultPropertyConfig
{
public ConfigProps()
{
super("my.config", "conf/myconfig.properties");
}
public String bye()
{
return get("bye", "man");
}
public String hello()
{
return get("hello", "man");
}
}
private class ConfigYaml extends DefaultYamlConfig
{
public ConfigYaml()
{
super("my.config", "conf/myconfig.yml");
}
public String bye()
{
return get("bye", "man");
}
public Number four()
{
return find("vuh.po.four", 100);
}
public String hello()
{
return get("hello", "man");
}
public String one()
{
return find("nest.one", "none");
}
public Number two()
{
return find("nest.two", 100);
}
}
@Test
public void basicProperties()
{
ConfigProps config = new ConfigProps();
Assert.assertEquals(config.hello(), "world!");
Assert.assertEquals(config.bye(), "man");
Assert.assertEquals(config.getAsInt("num", 25), 10);
try {
System.setProperty("my.config", "src/test/resources/conf/alt.properties");
config = new ConfigProps();
Assert.assertEquals(config.hello(), "man");
Assert.assertEquals(config.bye(), "sir");
Assert.assertEquals(config.getAsInt("num", 25), 25);
} finally {
System.clearProperty("my.config");
}
}
@Test
public void basicYaml()
{
ConfigYaml config = new ConfigYaml();
Assert.assertEquals(config.hello(), "world!");
Assert.assertEquals(config.bye(), "man");
Assert.assertEquals(config.one(), "sexto");
Assert.assertEquals(config.two(), 6);
Assert.assertEquals(config.four(), 4);
try {
System.setProperty("my.config", "src/test/resources/conf/alt.yml");
config = new ConfigYaml();
Assert.assertEquals(config.hello(), "man");
Assert.assertEquals(config.bye(), "sir");
Assert.assertEquals(config.one(), "none");
Assert.assertEquals(config.two(), 100);
Assert.assertEquals(config.four(), 100);
} finally {
System.clearProperty("my.config");
}
}
}