OptionTest.cc 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #include "Option.h"
  2. #include <string>
  3. #include <cppunit/extensions/HelperMacros.h>
  4. namespace aria2 {
  5. class OptionTest:public CppUnit::TestFixture {
  6. CPPUNIT_TEST_SUITE(OptionTest);
  7. CPPUNIT_TEST(testPutAndGet);
  8. CPPUNIT_TEST(testPutAndGetAsInt);
  9. CPPUNIT_TEST(testPutAndGetAsDouble);
  10. CPPUNIT_TEST(testDefined);
  11. CPPUNIT_TEST(testBlank);
  12. CPPUNIT_TEST_SUITE_END();
  13. private:
  14. public:
  15. void setUp() {
  16. }
  17. void testPutAndGet();
  18. void testPutAndGetAsInt();
  19. void testPutAndGetAsDouble();
  20. void testDefined();
  21. void testBlank();
  22. };
  23. CPPUNIT_TEST_SUITE_REGISTRATION( OptionTest );
  24. void OptionTest::testPutAndGet() {
  25. Option op;
  26. op.put("key", "value");
  27. CPPUNIT_ASSERT(op.defined("key"));
  28. CPPUNIT_ASSERT_EQUAL(std::string("value"), op.get("key"));
  29. }
  30. void OptionTest::testPutAndGetAsInt() {
  31. Option op;
  32. op.put("key", "1000");
  33. CPPUNIT_ASSERT(op.defined("key"));
  34. CPPUNIT_ASSERT_EQUAL((int32_t)1000, op.getAsInt("key"));
  35. }
  36. void OptionTest::testPutAndGetAsDouble() {
  37. Option op;
  38. op.put("key", "10.0");
  39. CPPUNIT_ASSERT_EQUAL(10.0, op.getAsDouble("key"));
  40. }
  41. void OptionTest::testDefined()
  42. {
  43. Option op;
  44. op.put("k", "v");
  45. op.put("k1", "");
  46. CPPUNIT_ASSERT(op.defined("k"));
  47. CPPUNIT_ASSERT(op.defined("k1"));
  48. CPPUNIT_ASSERT(!op.defined("undefined"));
  49. }
  50. void OptionTest::testBlank()
  51. {
  52. Option op;
  53. op.put("k", "v");
  54. op.put("k1", "");
  55. CPPUNIT_ASSERT(!op.blank("k"));
  56. CPPUNIT_ASSERT(op.blank("k1"));
  57. CPPUNIT_ASSERT(op.blank("undefined"));
  58. }
  59. } // namespace aria2