ExtensionMessageRegistryTest.cc 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #include "ExtensionMessageRegistry.h"
  2. #include <cppunit/extensions/HelperMacros.h>
  3. namespace aria2 {
  4. class ExtensionMessageRegistryTest:public CppUnit::TestFixture {
  5. CPPUNIT_TEST_SUITE(ExtensionMessageRegistryTest);
  6. CPPUNIT_TEST(testStrBtExtension);
  7. CPPUNIT_TEST(testKeyBtExtension);
  8. CPPUNIT_TEST(testGetExtensionMessageID);
  9. CPPUNIT_TEST_SUITE_END();
  10. public:
  11. void testStrBtExtension();
  12. void testKeyBtExtension();
  13. void testGetExtensionMessageID();
  14. };
  15. CPPUNIT_TEST_SUITE_REGISTRATION( ExtensionMessageRegistryTest );
  16. void ExtensionMessageRegistryTest::testStrBtExtension()
  17. {
  18. CPPUNIT_ASSERT_EQUAL(std::string("ut_pex"),
  19. std::string(strBtExtension
  20. (ExtensionMessageRegistry::UT_PEX)));
  21. CPPUNIT_ASSERT_EQUAL(std::string("ut_metadata"),
  22. std::string(strBtExtension
  23. (ExtensionMessageRegistry::UT_METADATA)));
  24. CPPUNIT_ASSERT(!strBtExtension(100));
  25. }
  26. void ExtensionMessageRegistryTest::testKeyBtExtension()
  27. {
  28. CPPUNIT_ASSERT_EQUAL((int)ExtensionMessageRegistry::UT_PEX,
  29. keyBtExtension("ut_pex"));
  30. CPPUNIT_ASSERT_EQUAL((int)ExtensionMessageRegistry::UT_METADATA,
  31. keyBtExtension("ut_metadata"));
  32. CPPUNIT_ASSERT_EQUAL((int)ExtensionMessageRegistry::MAX_EXTENSION,
  33. keyBtExtension("unknown"));
  34. }
  35. void ExtensionMessageRegistryTest::testGetExtensionMessageID()
  36. {
  37. ExtensionMessageRegistry reg;
  38. CPPUNIT_ASSERT_EQUAL((uint8_t)0, reg.getExtensionMessageID
  39. (ExtensionMessageRegistry::UT_PEX));
  40. CPPUNIT_ASSERT(!reg.getExtensionName(0));
  41. CPPUNIT_ASSERT(!reg.getExtensionName(1));
  42. CPPUNIT_ASSERT(!reg.getExtensionName(100));
  43. reg.setExtensionMessageID(ExtensionMessageRegistry::UT_PEX, 1);
  44. CPPUNIT_ASSERT_EQUAL(std::string("ut_pex"),
  45. std::string(reg.getExtensionName(1)));
  46. CPPUNIT_ASSERT_EQUAL((uint8_t)1, reg.getExtensionMessageID
  47. (ExtensionMessageRegistry::UT_PEX));
  48. reg.setExtensionMessageID(ExtensionMessageRegistry::UT_METADATA, 127);
  49. CPPUNIT_ASSERT_EQUAL((uint8_t)127, reg.getExtensionMessageID
  50. (ExtensionMessageRegistry::UT_METADATA));
  51. CPPUNIT_ASSERT_EQUAL((uint8_t)1, reg.getExtensionMessageID
  52. (ExtensionMessageRegistry::UT_PEX));
  53. reg.removeExtension(ExtensionMessageRegistry::UT_PEX);
  54. CPPUNIT_ASSERT_EQUAL((uint8_t)127, reg.getExtensionMessageID
  55. (ExtensionMessageRegistry::UT_METADATA));
  56. CPPUNIT_ASSERT_EQUAL((uint8_t)0, reg.getExtensionMessageID
  57. (ExtensionMessageRegistry::UT_PEX));
  58. CPPUNIT_ASSERT(!reg.getExtensionName(1));
  59. }
  60. } // namespace aria2