|
@@ -0,0 +1,59 @@
|
|
|
+//
|
|
|
+// Created by tmd67 on 2020/3/23.
|
|
|
+//
|
|
|
+
|
|
|
+#include "gmock/gmock.h"
|
|
|
+#include "gtest/gtest.h"
|
|
|
+#include "Package.h"
|
|
|
+#include <memory>
|
|
|
+#include <iostream>
|
|
|
+using namespace std;
|
|
|
+
|
|
|
+typedef struct{
|
|
|
+ int s1;
|
|
|
+ float s2;
|
|
|
+ char s3[256];
|
|
|
+ char s4[256];
|
|
|
+}TestPackageStruct;
|
|
|
+
|
|
|
+#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, TestAddStruct)
|
|
|
+{
|
|
|
+ TestPackageStruct tmpPack{TEST_VAULE_S1, (float)TEST_VALUE_S2, TEST_VAULE_S3, TEST_VALUE_S4};
|
|
|
+ std::shared_ptr<CCommPackage> ppkg(new CCommPackage(nullptr, TEST_SERVICE_CODE));
|
|
|
+ ppkg->AddStruct(TEST_STRUCT_NAME, false, false, (BYTE*)&tmpPack, sizeof(TestPackageStruct));
|
|
|
+ ASSERT_TRUE(ppkg->GetStructLen(TEST_STRUCT_NAME) == sizeof(TestPackageStruct));
|
|
|
+
|
|
|
+ TestPackageStruct tmpBy;
|
|
|
+ int len, arrayNum;
|
|
|
+ len = sizeof(TestPackageStruct);
|
|
|
+ ASSERT_TRUE(ppkg->GetStructData(TEST_STRUCT_NAME, (BYTE*)&tmpBy, &len, &arrayNum));
|
|
|
+
|
|
|
+ ASSERT_TRUE(tmpBy.s1 == TEST_VAULE_S1);
|
|
|
+ const float EPSINON = 0.00001;
|
|
|
+ ASSERT_TRUE(abs(tmpBy.s2 - (float)TEST_VALUE_S2) <= EPSINON);
|
|
|
+ ASSERT_TRUE(std::string(tmpBy.s3) == TEST_VAULE_S3);
|
|
|
+ ASSERT_TRUE(std::string(tmpBy.s4) == TEST_VALUE_S4);
|
|
|
+
|
|
|
+ ASSERT_TRUE(TEST_SERVICE_CODE == ppkg->GetServiceCode());
|
|
|
+
|
|
|
+ ppkg->SetErrMsg(TEST_ERROR_CODE, TEST_USER_CODE, TEST_ERROR_MSG);
|
|
|
+ DWORD tmpErrorCode, tmpUserCode;
|
|
|
+ std::string errMsg;
|
|
|
+ ASSERT_TRUE(ppkg->GetErrMsg(tmpErrorCode, tmpUserCode, errMsg));
|
|
|
+
|
|
|
+ ASSERT_TRUE(tmpErrorCode == TEST_ERROR_CODE);
|
|
|
+ ASSERT_TRUE(tmpUserCode == TEST_USER_CODE);
|
|
|
+ ASSERT_TRUE(errMsg == TEST_ERROR_MSG);
|
|
|
+
|
|
|
+}
|