diff options
Diffstat (limited to 'src/test/java/com/p4square/grow/config')
-rw-r--r-- | src/test/java/com/p4square/grow/config/ConfigTest.java | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/test/java/com/p4square/grow/config/ConfigTest.java b/src/test/java/com/p4square/grow/config/ConfigTest.java new file mode 100644 index 0000000..ccb39da --- /dev/null +++ b/src/test/java/com/p4square/grow/config/ConfigTest.java @@ -0,0 +1,62 @@ +/* + * Copyright 2013 Jesse Morgan + */ + +package com.p4square.grow.config; + +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * + * @author Jesse Morgan <jesse@jesterpm.net> + */ +public class ConfigTest { + public static void main(String... args) { + org.junit.runner.JUnitCore.main(ConfigTest.class.getName()); + } + + @Test + public void basicTest() throws Exception { + // Load a config file + Config domain1 = new Config(); + domain1.setDomain("domain1"); + Config domain2 = new Config(); + domain2.setDomain("domain2"); + + domain1.updateConfig(getClass().getResourceAsStream("ConfigTest.properties")); + domain2.updateConfig(getClass().getResourceAsStream("ConfigTest.properties")); + + // Non-existent key returns default + assertEquals("default", domain1.getString("doesNotExist", "default")); + assertSame(null, domain1.getString("doesNotExist")); + + // Domain keys return different values for different domains + assertEquals("domain1Value", domain1.getString("domainSpecific")); + assertEquals("domain2Value", domain2.getString("domainSpecific")); + + // Domain key takes priority over *. key + assertEquals("domain1Value", domain1.getString("onlyInDomain1")); + assertEquals("wildValue", domain2.getString("onlyInDomain1")); + + // Wildcard domain returns value + assertEquals("wildValue", domain1.getString("wildcardOnly")); + + // Empty value gives empty string + assertEquals("", domain1.getString("emptyValue")); + + // Number is returned + assertEquals(5, domain1.getInt("number")); + + // Non number test + assertEquals(Integer.MIN_VALUE, domain1.getInt("notANumber")); + + // Test Boolean values + assertTrue(domain1.getBoolean("boolean1")); + assertTrue(domain1.getBoolean("boolean2")); + assertFalse(domain1.getBoolean("boolean3")); + assertFalse(domain1.getBoolean("notABool")); + assertTrue(domain1.getBoolean("notABool", true)); + } +} |