PackageZipTest.cpp 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #include "gmock/gmock.h"
  2. #include "gtest/gtest.h"
  3. #include "Package.h"
  4. #include <memory>
  5. #include <iostream>
  6. using namespace std;
  7. #pragma pack(1)
  8. typedef struct
  9. {
  10. int s1;
  11. float s2;
  12. char s3[256];
  13. char s4[256];
  14. } TestPackageStruct;
  15. #pragma pack()
  16. #define TEST_VAULE_S1 0xFF02
  17. #define TEST_VALUE_S2 5.322
  18. #define TEST_VAULE_S3 "Hello world"
  19. #define TEST_VALUE_S4 "水电费后撒地方"
  20. #define TEST_SERVICE_CODE "__AUTH__"
  21. #define TEST_STRUCT_NAME "AUTH_REQ"
  22. #define TEST_ERROR_MSG "tinaodfiooitoinotntrei"
  23. #define TEST_USER_CODE 12323
  24. #define TEST_ERROR_CODE 357923
  25. TEST(PackageTest, ZipAndUnZipData)
  26. {
  27. TestPackageStruct tmpPack{ TEST_VAULE_S1, (float)TEST_VALUE_S2, TEST_VAULE_S3, TEST_VALUE_S4 };
  28. int nTempBufLen = sizeof(TestPackageStruct);
  29. BYTE* pTempBuf = new BYTE[nTempBufLen];
  30. memset(pTempBuf, 0, nTempBufLen);
  31. ASSERT_TRUE(CCommPackage::ZipData((BYTE*)&tmpPack, sizeof(tmpPack), pTempBuf, &nTempBufLen));
  32. std::cout << sizeof(TestPackageStruct) << " vs " << nTempBufLen << std::endl;
  33. int nTempBufLen2 = sizeof(TestPackageStruct);
  34. BYTE* pTempBuf2 = new BYTE[nTempBufLen2];
  35. ASSERT_TRUE(CCommPackage::UnzipData(pTempBuf, nTempBufLen, pTempBuf2, &nTempBufLen2));
  36. ASSERT_TRUE(nTempBufLen2 == sizeof(TestPackageStruct));
  37. TestPackageStruct* tmpBy = reinterpret_cast<TestPackageStruct*>(pTempBuf2);
  38. ASSERT_TRUE(tmpBy->s1 == TEST_VAULE_S1);
  39. const float EPSINON = 0.00001;
  40. ASSERT_TRUE(abs(tmpBy->s2 - (float)TEST_VALUE_S2) <= EPSINON);
  41. std::cout << tmpBy->s3 << std::endl;
  42. std::cout << tmpBy->s4 << std::endl;
  43. ASSERT_TRUE(std::string(tmpBy->s3) == TEST_VAULE_S3);
  44. ASSERT_TRUE(std::string(tmpBy->s4) == TEST_VALUE_S4);
  45. tmpBy = NULL;
  46. delete[] pTempBuf2;
  47. delete[] pTempBuf;
  48. }