12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #include "gmock/gmock.h"
- #include "gtest/gtest.h"
- #include "Package.h"
- #include <memory>
- #include <iostream>
- using namespace std;
- #pragma pack(1)
- typedef struct
- {
- int s1;
- float s2;
- char s3[256];
- char s4[256];
- } TestPackageStruct;
- #pragma pack()
- #define TEST_VAULE_S1 0xFF02
- #define TEST_VALUE_S2 5.322
- #define TEST_VAULE_S3 "Hello world"
- #define TEST_VALUE_S4 "水电费后撒地方"
- #define TEST_SERVICE_CODE "__AUTH__"
- #define TEST_STRUCT_NAME "AUTH_REQ"
- #define TEST_ERROR_MSG "tinaodfiooitoinotntrei"
- #define TEST_USER_CODE 12323
- #define TEST_ERROR_CODE 357923
- TEST(PackageTest, ZipAndUnZipData)
- {
- TestPackageStruct tmpPack{ TEST_VAULE_S1, (float)TEST_VALUE_S2, TEST_VAULE_S3, TEST_VALUE_S4 };
- int nTempBufLen = sizeof(TestPackageStruct);
- BYTE* pTempBuf = new BYTE[nTempBufLen];
- memset(pTempBuf, 0, nTempBufLen);
- ASSERT_TRUE(CCommPackage::ZipData((BYTE*)&tmpPack, sizeof(tmpPack), pTempBuf, &nTempBufLen));
- std::cout << sizeof(TestPackageStruct) << " vs " << nTempBufLen << std::endl;
- int nTempBufLen2 = sizeof(TestPackageStruct);
- BYTE* pTempBuf2 = new BYTE[nTempBufLen2];
- ASSERT_TRUE(CCommPackage::UnzipData(pTempBuf, nTempBufLen, pTempBuf2, &nTempBufLen2));
- ASSERT_TRUE(nTempBufLen2 == sizeof(TestPackageStruct));
- TestPackageStruct* tmpBy = reinterpret_cast<TestPackageStruct*>(pTempBuf2);
- ASSERT_TRUE(tmpBy->s1 == TEST_VAULE_S1);
- const float EPSINON = 0.00001;
- ASSERT_TRUE(abs(tmpBy->s2 - (float)TEST_VALUE_S2) <= EPSINON);
- std::cout << tmpBy->s3 << std::endl;
- std::cout << tmpBy->s4 << std::endl;
- ASSERT_TRUE(std::string(tmpBy->s3) == TEST_VAULE_S3);
- ASSERT_TRUE(std::string(tmpBy->s4) == TEST_VALUE_S4);
- tmpBy = NULL;
- delete[] pTempBuf2;
- delete[] pTempBuf;
- }
|