package org.jerlang.kernel; import static org.assertj.core.api.AssertionsForClassTypes.assertThat; import org.jerlang.erts.Erlang; import org.jerlang.type.Atom; import org.jerlang.type.List; import org.jerlang.type.Str; import org.jerlang.type.Term; import org.junit.Test; public class OSTest { @Test public void testGetenv0() { List env = OS.getenv(); assertThat(env).isNotNull(); assertThat(Erlang.length(env).toInt()).isGreaterThan(0); } @Test public void testGetenv1() { Term env1 = OS.getenv(Str.of("DOES_NOT_EXIST")); assertThat(env1).isInstanceOf(Atom.class); Term env2 = OS.getenv(Str.of("PATH")); assertThat(env2).isInstanceOf(Str.class); } @Test public void testGetenv2() { Atom def = Atom.of("default"); Term env = OS.getenv(Str.of("DOES_NOT_EXIST"), def); assertThat(env).isEqualTo(def); } @Test public void testGetpid0() { Str pidStr = OS.getpid(); assertThat(pidStr).isNotNull(); assertThat(Long.parseLong(pidStr.string())).isGreaterThan(0); } @Test public void testPutenv2() { Str key = Str.of("TEST_KEY_PUTENV_2"); Str val = Str.of("TEST_VAL_PUTENV_2"); assertThat(OS.getenv(key)).isNotEqualTo(val); OS.putenv(key, val); assertThat(OS.getenv(key)).isEqualTo(val); } }