BtPortMessageTest.cc 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #include "BtPortMessage.h"
  2. #include "PeerMessageUtil.h"
  3. #include "Util.h"
  4. #include <cppunit/extensions/HelperMacros.h>
  5. using namespace std;
  6. class BtPortMessageTest:public CppUnit::TestFixture {
  7. CPPUNIT_TEST_SUITE(BtPortMessageTest);
  8. CPPUNIT_TEST(testCreate);
  9. CPPUNIT_TEST(testToString);
  10. CPPUNIT_TEST_SUITE_END();
  11. private:
  12. public:
  13. void setUp() {
  14. }
  15. void testCreate();
  16. void testToString();
  17. };
  18. CPPUNIT_TEST_SUITE_REGISTRATION(BtPortMessageTest);
  19. void BtPortMessageTest::testCreate() {
  20. unsigned char msg[7];
  21. PeerMessageUtil::createPeerMessageString(msg, sizeof(msg), 3, 9);
  22. PeerMessageUtil::setShortIntParam(&msg[5], 12345);
  23. BtPortMessageHandle pm = BtPortMessage::create(&msg[4], 3);
  24. CPPUNIT_ASSERT_EQUAL((int8_t)9, pm->getId());
  25. CPPUNIT_ASSERT_EQUAL((int16_t)12345, pm->getPort());
  26. // case: payload size is wrong
  27. try {
  28. unsigned char msg[8];
  29. PeerMessageUtil::createPeerMessageString(msg, sizeof(msg), 4, 9);
  30. BtPortMessage::create(&msg[4], 4);
  31. CPPUNIT_FAIL("exception must be threw.");
  32. } catch(...) {
  33. }
  34. // case: id is wrong
  35. try {
  36. unsigned char msg[7];
  37. PeerMessageUtil::createPeerMessageString(msg, sizeof(msg), 3, 10);
  38. BtPortMessage::create(&msg[4], 3);
  39. CPPUNIT_FAIL("exception must be threw.");
  40. } catch(...) {
  41. }
  42. }
  43. void BtPortMessageTest::testToString() {
  44. BtPortMessage msg(1);
  45. CPPUNIT_ASSERT_EQUAL(string("port port=1"), msg.toString());
  46. }