#include <iostream> #include <j/cppunit/cppunit.hpp> #include <j/cppunit/assert.hpp> #include <j/lang/env.hpp> using namespace j; using namespace j::lang; using namespace j::cppunit; class EnvTest : public TestCase { public: EnvTest() {} ~EnvTest() {} void setUp() {} void tearDown() { Env::unset("TEST_ENV"); } void testGet() { Env::set("TEST_ENV", "SAMPLE"); String value = Env::get("TEST_ENV"); assertEquals("SAMPLE", value); // = 以降は、キーとして無視される。 value = Env::get("TEST_ENV=TEST"); assertEquals("SAMPLE", value); } void testSet() { Env::set("TEST_ENV", "SAMPLE"); String value = Env::get("TEST_ENV"); assertEquals("SAMPLE", value); bool ret = Env::set("TEST_ENV", "SAMPLE2", true); assertTrue(ret); value = Env::get("TEST_ENV"); assertEquals("SAMPLE2", value); ret = Env::set("TEST_ENV", "SAMPLE3", false); assertTrue(ret); value = Env::get("TEST_ENV"); assertEquals("SAMPLE2", value); // = がキーに含まれるとエラー ret = Env::set("TEST_ENV2=TEST", "ERRVAL"); assertFalse(ret); value = Env::get("TEST_ENV2"); assertEquals(String(), value); } void testUnset() { Env::set("TEST_ENV", "SAMPLE", true); String value = Env::get("TEST_ENV"); assertEquals("SAMPLE", value); Env::unset("TEST_ENV"); value = Env::get("TEST_ENV"); assertEquals(String(), value); } void suite() { RUN_TEST("Env::get", testGet); RUN_TEST("Env::set", testSet); RUN_TEST("Env::unset", testUnset); } };