package cn.org.rapid_framework.generator;
import java.util.Arrays;
import java.util.Properties;
import junit.framework.TestCase;
public class GeneratorPropertiesTest extends TestCase {
public void setUp() {
GeneratorProperties.getProperties().setProperty("blank", " ");
GeneratorProperties.getProperties().setProperty("empty", "");
}
public void testgetNullIfBlankProperty() {
assertEquals(null,GeneratorProperties.getNullIfBlank("blank"));
assertEquals(null,GeneratorProperties.getNullIfBlank("empty"));
assertEquals(null,GeneratorProperties.getNullIfBlank("null"));
}
public void testgetRequiredProperty() {
try {
assertEquals(null,GeneratorProperties.getRequiredProperty("blank"));
fail();
}catch(Exception e) {
}
try {
assertEquals(null,GeneratorProperties.getRequiredProperty("empty"));
fail();
}catch(Exception e) {
}
try {
assertEquals(null,GeneratorProperties.getRequiredProperty("null"));
fail();
}catch(Exception e) {
}
}
public void test_GeneratorConstants() {
// GeneratorProperties.setProperty(GeneratorConstants.GENERATOR_TOOLS_CLASS, "StringDiy");
GeneratorProperties.setProperties(new Properties());
for(GeneratorConstants key : GeneratorConstants.values()) {
GeneratorProperties.getBoolean(key);
GeneratorProperties.getNullIfBlank(key);
GeneratorProperties.getStringArray(key);
try {
GeneratorProperties.getRequiredProperty(GeneratorConstants.USE_INNER_XML_FOR_XML_PARSING);
fail();
}catch(IllegalStateException e) {
}
}
GeneratorProperties.setProperty(GeneratorConstants.DATABASE_TYPE.code, "123");
GeneratorProperties.setProperty(GeneratorConstants.GENERATOR_INCLUDES.code, " ");
GeneratorProperties.setProperty(GeneratorConstants.GENERATOR_TOOLS_CLASS.code, "123,456");
assertTrue(GeneratorProperties.getBoolean(GeneratorConstants.USE_INNER_XML_FOR_XML_PARSING));
assertEquals(false,GeneratorProperties.getBoolean(GeneratorConstants.DATABASE_TYPE));
assertEquals(null,GeneratorProperties.getNullIfBlank(GeneratorConstants.GENERATOR_INCLUDES));
assertEquals("123",GeneratorProperties.getRequiredProperty(GeneratorConstants.DATABASE_TYPE));
try {
assertEquals("123",GeneratorProperties.getRequiredProperty(GeneratorConstants.GENERATOR_INCLUDES));
fail();
}catch(Exception e) {
}
String[] stringArray = GeneratorProperties.getStringArray(GeneratorConstants.GENERATOR_TOOLS_CLASS);
System.out.println(Arrays.toString(stringArray));
assertEquals("123",stringArray[0]);
assertEquals("456",stringArray[1]);
}
public void testResolveProperties() {
GeneratorProperties.setProperty("foo_username", "qq");
GeneratorProperties.setProperty("root/${foo_username}", "java");
GeneratorProperties.setProperty("root", "java${foo_username}");
GeneratorProperties.setProperty("root_user_home", "java${user.home}");
assertEquals(GeneratorProperties.getProperty("root"),"javaqq");
assertEquals(GeneratorProperties.getProperty("root/qq"),"java");
assertEquals(GeneratorProperties.getProperty("root_user_home"),"java"+System.getProperty("user.home"));
Properties props = new Properties();
props.setProperty("foo_username", "qq");
props.put("foo_pwd", "${foo_username}+123");
props.put("foo_sex${foo_username}", "+123");
GeneratorProperties.putAll(props);
assertEquals(GeneratorProperties.getProperty("foo_pwd"),"qq+123");
assertEquals(GeneratorProperties.getProperty("foo_sexqq"),"+123");
}
}