Base32Test.cc 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include "base32.h"
  2. #include <cppunit/extensions/HelperMacros.h>
  3. #include "util.h"
  4. namespace aria2 {
  5. class Base32Test:public CppUnit::TestFixture {
  6. CPPUNIT_TEST_SUITE(Base32Test);
  7. CPPUNIT_TEST(testEncode);
  8. CPPUNIT_TEST(testDecode);
  9. CPPUNIT_TEST_SUITE_END();
  10. public:
  11. void testEncode();
  12. void testDecode();
  13. };
  14. CPPUNIT_TEST_SUITE_REGISTRATION( Base32Test );
  15. void Base32Test::testEncode()
  16. {
  17. CPPUNIT_ASSERT_EQUAL(std::string(), base32::encode(""));
  18. CPPUNIT_ASSERT_EQUAL(std::string("GE======"), base32::encode("1"));
  19. CPPUNIT_ASSERT_EQUAL(std::string("GEZA===="), base32::encode("12"));
  20. CPPUNIT_ASSERT_EQUAL(std::string("GEZDG==="), base32::encode("123"));
  21. CPPUNIT_ASSERT_EQUAL(std::string("GEZDGNA="), base32::encode("1234"));
  22. CPPUNIT_ASSERT_EQUAL(std::string("GEZDGNBV"), base32::encode("12345"));
  23. CPPUNIT_ASSERT_EQUAL(std::string("ESGQUHGQQKCA===="),
  24. base32::encode(util::fromHex("248d0a1cd08284")));
  25. }
  26. void Base32Test::testDecode()
  27. {
  28. CPPUNIT_ASSERT_EQUAL(std::string(), base32::decode(""));
  29. CPPUNIT_ASSERT_EQUAL(std::string("1"), base32::decode("GE======"));
  30. CPPUNIT_ASSERT_EQUAL(std::string("12"), base32::decode("GEZA===="));
  31. CPPUNIT_ASSERT_EQUAL(std::string("123"), base32::decode("GEZDG==="));
  32. CPPUNIT_ASSERT_EQUAL(std::string("1234"), base32::decode("GEZDGNA="));
  33. CPPUNIT_ASSERT_EQUAL(std::string("12345"), base32::decode("GEZDGNBV"));
  34. }
  35. } // namespace aria2