AlphaNumberDecoratorTest.cc 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include "AlphaNumberDecorator.h"
  2. #include <iostream>
  3. #include <cppunit/extensions/HelperMacros.h>
  4. namespace aria2 {
  5. class AlphaNumberDecoratorTest:public CppUnit::TestFixture {
  6. CPPUNIT_TEST_SUITE(AlphaNumberDecoratorTest);
  7. CPPUNIT_TEST(testDecorate);
  8. CPPUNIT_TEST(testDecorate_uppercase);
  9. CPPUNIT_TEST_SUITE_END();
  10. private:
  11. public:
  12. void setUp() {
  13. }
  14. void testDecorate();
  15. void testDecorate_uppercase();
  16. };
  17. CPPUNIT_TEST_SUITE_REGISTRATION( AlphaNumberDecoratorTest );
  18. void AlphaNumberDecoratorTest::testDecorate()
  19. {
  20. CPPUNIT_ASSERT_EQUAL(std::string("a"), AlphaNumberDecorator(1).decorate(0));
  21. CPPUNIT_ASSERT_EQUAL(std::string("z"), AlphaNumberDecorator(1).decorate(25));
  22. CPPUNIT_ASSERT_EQUAL(std::string("zz"), AlphaNumberDecorator(1).decorate(675)); // 25*26+25
  23. CPPUNIT_ASSERT_EQUAL(std::string("aab"), AlphaNumberDecorator(3).decorate(1));
  24. }
  25. void AlphaNumberDecoratorTest::testDecorate_uppercase()
  26. {
  27. CPPUNIT_ASSERT_EQUAL(std::string("A"), AlphaNumberDecorator(1, true).decorate(0));
  28. CPPUNIT_ASSERT_EQUAL(std::string("Z"), AlphaNumberDecorator(1, true).decorate(25));
  29. CPPUNIT_ASSERT_EQUAL(std::string("ZZ"), AlphaNumberDecorator(1, true).decorate(675)); // 25*26+25
  30. CPPUNIT_ASSERT_EQUAL(std::string("AAB"), AlphaNumberDecorator(3, true).decorate(1));
  31. }
  32. } // namespace aria2