DataTest.cc 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. int len;
  31. CPPUNIT_ASSERT_EQUAL(0, memcmp("aria2", data.getData(), 5));
  32. CPPUNIT_ASSERT_EQUAL(5, data.getLen());
  33. Data null(NULL, 0);
  34. CPPUNIT_ASSERT_EQUAL((const char*)NULL, null.getData());
  35. CPPUNIT_ASSERT_EQUAL(0, null.getLen());
  36. }
  37. void DataTest::testToInt() {
  38. Data data("1000", 4);
  39. CPPUNIT_ASSERT_EQUAL(1000, data.toInt());
  40. Data null(NULL, 0);
  41. CPPUNIT_ASSERT_EQUAL(0, null.toInt());
  42. Data alpha("abc", 3);
  43. CPPUNIT_ASSERT_EQUAL(0, alpha.toInt());
  44. }
  45. void DataTest::testToLLInt() {
  46. Data data("1000", 4);
  47. CPPUNIT_ASSERT_EQUAL(1000, (int)data.toLLInt());
  48. Data null(NULL, 0);
  49. CPPUNIT_ASSERT_EQUAL(0, (int)null.toLLInt());
  50. Data alpha("abc", 3);
  51. CPPUNIT_ASSERT_EQUAL(0, (int)alpha.toLLInt());
  52. }