package org.python.pydev.shared_core.process;
import java.util.Map;
import java.util.TreeMap;
import junit.framework.TestCase;
public class ProcessUtilsTest extends TestCase {
public void testMapAsArrayAndBack() throws Exception {
Map<String, String> env = new TreeMap<>();
env.put("a", "10");
env.put("b", "20");
String[] mapEnvAsArray = ProcessUtils.getMapEnvAsArray(env);
assertEquals(ProcessUtils.getEnvironmentAsStr(mapEnvAsArray), "a=10\nb=20");
Map<String, String> asMap = ProcessUtils.getArrayAsMapEnv(mapEnvAsArray);
assertEquals(env, asMap);
mapEnvAsArray = ProcessUtils.addOrReplaceEnvVar(mapEnvAsArray, "c", "ra");
assertEquals(ProcessUtils.getEnvironmentAsStr(mapEnvAsArray), "a=10\nb=20\nc=ra");
mapEnvAsArray = ProcessUtils.addOrReplaceEnvVar(mapEnvAsArray, "c", "bar");
assertEquals(ProcessUtils.getEnvironmentAsStr(mapEnvAsArray), "a=10\nb=20\nc=bar");
mapEnvAsArray = ProcessUtils.addOrReplaceEnvVar(mapEnvAsArray, "c", "=bar");
assertEquals(ProcessUtils.getEnvironmentAsStr(mapEnvAsArray), "a=10\nb=20\nc==bar");
asMap = ProcessUtils.getArrayAsMapEnv(mapEnvAsArray);
env.put("c", "=bar");
assertEquals(env, asMap);
mapEnvAsArray = ProcessUtils.getMapEnvAsArray(asMap);
assertEquals(ProcessUtils.getEnvironmentAsStr(mapEnvAsArray), "a=10\nb=20\nc==bar");
}
}