DataTest.cc 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #include "Data.h"
  2. #include <string>
  3. #include <cppunit/extensions/HelperMacros.h>
  4. using namespace std;
  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(string("aria2"), data.toString());
  25. Data null(NULL, 0);
  26. CPPUNIT_ASSERT_EQUAL(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(NULL, 0);
  33. CPPUNIT_ASSERT_EQUAL((const char*)NULL, null.getData());
  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(NULL, 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(NULL, 0);
  48. CPPUNIT_ASSERT_EQUAL(0, (int)null.toLLInt());
  49. Data alpha("abc", 3);
  50. CPPUNIT_ASSERT_EQUAL(0, (int)alpha.toLLInt());
  51. }