DataTest.cc 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #include "Data.h"
  2. #include <cstring>
  3. #include <cppunit/extensions/HelperMacros.h>
  4. namespace aria2 {
  5. class DataTest:public CppUnit::TestFixture {
  6. CPPUNIT_TEST_SUITE(DataTest);
  7. CPPUNIT_TEST(testToString);
  8. CPPUNIT_TEST(testGetData);
  9. CPPUNIT_TEST(testToInt);
  10. CPPUNIT_TEST(testToLLInt);
  11. CPPUNIT_TEST_SUITE_END();
  12. private:
  13. public:
  14. void setUp() {
  15. }
  16. void testToString();
  17. void testGetData();
  18. void testToInt();
  19. void testToLLInt();
  20. };
  21. CPPUNIT_TEST_SUITE_REGISTRATION( DataTest );
  22. void DataTest::testToString() {
  23. Data data("aria2", 5);
  24. CPPUNIT_ASSERT_EQUAL(std::string("aria2"), data.toString());
  25. Data null(reinterpret_cast<const char*>(0), 0);
  26. CPPUNIT_ASSERT_EQUAL(std::string(""), null.toString());
  27. }
  28. void DataTest::testGetData() {
  29. Data data("aria2", 5);
  30. CPPUNIT_ASSERT_EQUAL(0, memcmp("aria2", data.getData(), 5));
  31. CPPUNIT_ASSERT_EQUAL((int32_t)5, data.getLen());
  32. Data null(reinterpret_cast<const char*>(0), 0);
  33. CPPUNIT_ASSERT(null.getData() == 0);
  34. CPPUNIT_ASSERT_EQUAL((int32_t)0, null.getLen());
  35. }
  36. void DataTest::testToInt() {
  37. Data data("1000", 4);
  38. CPPUNIT_ASSERT_EQUAL((int32_t)1000, data.toInt());
  39. Data null(reinterpret_cast<const char*>(0), 0);
  40. CPPUNIT_ASSERT_EQUAL((int32_t)0, null.toInt());
  41. Data alpha("abc", 3);
  42. CPPUNIT_ASSERT_EQUAL((int32_t)0, alpha.toInt());
  43. }
  44. void DataTest::testToLLInt() {
  45. Data data("1000", 4);
  46. CPPUNIT_ASSERT_EQUAL(1000, (int)data.toLLInt());
  47. Data null(reinterpret_cast<const char*>(0), 0);
  48. CPPUNIT_ASSERT_EQUAL(0, (int)null.toLLInt());
  49. Data alpha("abc", 3);
  50. CPPUNIT_ASSERT_EQUAL(0, (int)alpha.toLLInt());
  51. }
  52. } // namespace aria2