/*
* ConfigurationTest.java
*
* Created on 19. November 2002, 22:37
*/
package org.jzonic.jlo;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* test cases for the for the VariableManager
*
* @author Andreas Mecky <andreas.mecky@xcom.de>
* @author Terry Dye <terry.dye@xcom.de>
*/
public class VariableManagerTest extends TestCase {
public VariableManagerTest(String name) {
super(name);
}
/**
* The main program for the ConfigurationTest class
*
*@param args The command line arguments
*/
public static void main(String[] args) {
junit.textui.TestRunner.run(VariableManagerTest.class);
}
public static Test suite() {
TestSuite suite = new TestSuite(VariableManagerTest.class);
return suite;
}
protected void setUp() {
}
protected void tearDown() {
}
public void testAddVars() {
VariableManager vm = VariableManager.getInstance();
vm.addVariable("test1", "hello", "test");
vm.addVariable("test2","world","test");
assertEquals(2,vm.getVariableCount("test"));
}
public void testReplaceVariable() {
VariableManager vm = VariableManager.getInstance();
vm.addVariable("replace","me", "replace1");
String line = "please ${replace}";
String ret = vm.replaceVariables(line,"replace1");
assertEquals("please me",ret);
}
public void testReplaceSeveralVariable() {
VariableManager vm = VariableManager.getInstance();
vm.addVariable("replace","me", "replace2");
String line = "please ${replace} ${replace} ${replace}";
String ret = vm.replaceVariables(line,"replace2");
assertEquals("please me me me",ret);
}
public void testReplaceNEVariable() {
VariableManager vm = VariableManager.getInstance();
vm.addVariable("replace","me", "replace2");
String line = "please ${replacer}";
String ret = vm.replaceVariables(line,"replace2");
assertEquals("please ${replacer}",ret);
}
public void testReplaceNECVariable() {
VariableManager vm = VariableManager.getInstance();
String line = "please ${replacer}";
String ret = vm.replaceVariables(line,null);
assertEquals("please ${replacer}",ret);
}
//
// This section covers the env-variables
//
public void testReplaceEnvVariable() {
VariableManager vm = VariableManager.getInstance();
String line = "please ${env:NUMBER_OF_PROCESSORS}";
String ret = vm.replaceEnvVar(line);
assertEquals("please 1",ret);
}
public void testReplaceNEEnvVariable() {
VariableManager vm = VariableManager.getInstance();
String line = "please ${env:HELLO_WORLD}";
String ret = vm.replaceEnvVar(line);
assertEquals("please ${env:HELLO_WORLD}",ret);
}
public void _testReplaceSeveralEnvVariable() {
VariableManager vm = VariableManager.getInstance();
String line = "please ${env:NUMBER_OF_PROCESSORS} - ${env:NUMBER_OF_PROCESSORS} - ${env:NUMBER_OF_PROCESSORS} - ${env:NUMBER_OF_PROCESSORS}";
String ret = vm.replaceEnvVar(line);
assertEquals("please 1 - 1 - 1 - 1",ret);
}
public void _testReplaceSystemVariable() {
VariableManager vm = VariableManager.getInstance();
// TODO: find a better property that is the same on every machine
String line = "please ${system:java.io.tmpdir}";
String ret = vm.replaceVariables(line,"anyway");
assertEquals("please C:\\DOCUME~1\\ADMINI~1\\LOCALS~1\\Temp\\",ret);
}
}