Newer
Older
snipet / libscpp / trunk / unittest / src / ut_env.cpp
  1. #include <string>
  2.  
  3. #include <scpp_os.hpp>
  4. #include <scpp_unittest.hpp>
  5. #include <scpp_env.hpp>
  6.  
  7. using namespace scpp;
  8.  
  9.  
  10. /***
  11. * Env 単体テスト.
  12. */
  13. class EnvTest : public TestCase
  14. {
  15. public:
  16. EnvTest() {}
  17. ~EnvTest() {}
  18.  
  19. void testGetEnvExistsKey()
  20. {
  21. std::string buf;
  22.  
  23. Env::setEnv("UT_KEY", "UT_VALUE");
  24. bool ret = Env::getEnv(&buf, "UT_KEY");
  25. Assertion::assertTrue(ret);
  26. Assertion::assertEquals("UT_VALUE", buf);
  27. }
  28.  
  29. void testGetEnvNoExistsKey()
  30. {
  31. std::string buf;
  32. bool ret = Env::getEnv(&buf,"XXXXX_____NO___KEY_____");
  33. Assertion::assertFalse(ret);
  34. Assertion::assertEquals("", buf);
  35.  
  36. }
  37.  
  38. void testGetEnvKeyIncludeEquals()
  39. {
  40. Env::setEnv("UT_KEY", "UT_VALUE");
  41.  
  42. std::string buf;
  43. bool ret = Env::getEnv(&buf,"UT_KEY=AAA");
  44. Assertion::assertTrue(ret);
  45. Assertion::assertEquals("UT_VALUE", buf);
  46.  
  47. }
  48.  
  49. void testSetEnvKeyIncludeEquals()
  50. {
  51. bool ret = Env::setEnv("UT_KEY=A", "UT_VALUE");
  52. Assertion::assertFalse(ret);
  53.  
  54. }
  55.  
  56. void testSetOverwrite()
  57. {
  58. std::string buf;
  59.  
  60. // 一回目
  61. bool ret = Env::setEnv("UT_KEY", "UT_VALUE");
  62. Assertion::assertTrue(ret);
  63. ret = Env::getEnv(&buf, "UT_KEY");
  64. Assertion::assertTrue(ret);
  65. Assertion::assertEquals("UT_VALUE", buf);
  66.  
  67. // 上書き(上書き指定なし)
  68. ret = Env::setEnv("UT_KEY", "UT_VALUE_XXX");
  69. Assertion::assertTrue(ret);
  70. ret = Env::getEnv(&buf, "UT_KEY");
  71. Assertion::assertTrue(ret);
  72. Assertion::assertEquals("UT_VALUE", buf);
  73.  
  74. // 上書き(上書き指定あり)
  75. ret = Env::setEnv("UT_KEY", "UT_VALUE_XXX", true);
  76. ret = Env::getEnv(&buf, "UT_KEY");
  77. Assertion::assertTrue(ret);
  78. Assertion::assertEquals("UT_VALUE_XXX", buf);
  79.  
  80. }
  81.  
  82. void testUnset()
  83. {
  84. std::string buf;
  85.  
  86. bool ret = Env::setEnv("UT_KEY", "UT_VALUE", true);
  87. Assertion::assertTrue(ret);
  88.  
  89. ret = Env::getEnv(&buf, "UT_KEY");
  90. Assertion::assertTrue(ret);
  91. Assertion::assertEquals("UT_VALUE", buf);
  92.  
  93. Env::unsetEnv("UT_KEY");
  94.  
  95. ret = Env::getEnv(&buf, "UT_KEY");
  96. Assertion::assertFalse(ret);
  97.  
  98. }
  99.  
  100. void suite()
  101. {
  102. RUN_TEST(testGetEnvExistsKey);
  103. RUN_TEST(testGetEnvNoExistsKey);
  104. RUN_TEST(testGetEnvKeyIncludeEquals);
  105. RUN_TEST(testSetEnvKeyIncludeEquals);
  106. RUN_TEST(testSetOverwrite);
  107. RUN_TEST(testUnset);
  108. }
  109.  
  110.  
  111. };
  112.