|
- #include "master_salve_test.h"
-
- void Test_Master_Create_Request_Msg(void)
- {
- char buf[LEN];
- char buf1[LEN];
- CString name = "Example";
- char s[10] = "";
- int Output, Input1, Input2, Input3, Input4;
- bool test_Value = true;
- int number = GetPrivateProfileInt(name, "Number", 0, TESTPATH1);
- for (int i = 1; i < number + 1; i++)
- {
- memset(buf, 0, sizeof(buf));
- memset(buf1, 0, sizeof(buf1));
- memset(s, 0, sizeof(s));
- _itoa_s(i, s, 10);
- CString name1 = name + s;
- Input1 = GetPrivateProfileInt(name1, "Input1", 0, TESTPATH1);
- Input2 = GetPrivateProfileInt(name1, "Input2", 0, TESTPATH1);
- Input3 = GetPrivateProfileInt(name1, "Input3", 0, TESTPATH1);
- Input4 = GetPrivateProfileString(name1, "Input4", "", buf, LEN, TESTPATH1);
- Output = GetPrivateProfileString(name1, "Output", "", buf1, LEN, TESTPATH1);
-
- UINT8 test_Message[300];
- UINT8 Output_Message[300];
- string Write_date = buf;
- string Act_Message = buf1;
- const char *b = Act_Message.c_str();
- unsigned int Act_len = 0;
- int temp = 0x00;
- for (unsigned int i = 0; i + 3 < Act_Message.length(); i = i + 3)
- {
- sscanf_s(b + i, "%02X", &temp);
- Output_Message[Act_len] = (UINT8)temp;
- Act_len++;
- }
- sscanf_s(b + Act_Message.length() - 2, "%02X",&temp);
- Output_Message[Act_len] = (UINT8)temp;
- //int Create_TCP_Message(UINT8 *Message, int function_code, unsigned int operations_Number, unsigned int starting_address, string write_date);
- int len = Create_TCP_Message(test_Message, Input1, Input2, Input3, Write_date);
- for (int j = 0; j < len; j++)
- {
- if (test_Message[j] != Output_Message[j])
- {
- test_Value = false;
- break;
- }
- }
-
- Assert::AreEqual(test_Value,true);
- }
- }
-
- void Test_Master_Analysis_Response_Msg(void)
- {
- char buf[LEN];
- char buf1[LEN];
- CString name = "Example";
- char s[10] = "";
- int Input1, Input2, Output;
- int number = GetPrivateProfileInt(name, "Number", 0, TESTPATH2);
- for (int i = 1; i < number + 1; i++)
- {
- memset(buf, 0, sizeof(buf));
- memset(buf1, 0, sizeof(buf1));
- memset(s, 0, sizeof(s));
- _itoa_s(i, s, 10);
- CString name1 = name + s;
- Input1 = GetPrivateProfileString(name1, "Input1", "", buf, LEN, TESTPATH2);
- Input2 = GetPrivateProfileString(name1, "Input2", "", buf1, LEN, TESTPATH2);
- Output = GetPrivateProfileInt(name1, "Output", 0, TESTPATH2);
- //buf ÇëÇó buf1 ÏìÓ¦
- UINT8 Request_Message[300];
- string Act_Message = buf;
- const char *a = Act_Message.c_str();
- unsigned int Act_len = 0;
- for (unsigned int i = 0; i + 3 < Act_Message.length(); i = i + 3)
- {
- sscanf_s(a + i, "%02X", (int *)(Request_Message + Act_len));
- Act_len++;
- }
- sscanf_s(a + Act_Message.length() - 2, "%02X", (int *)(Request_Message + Act_len));
-
-
- UINT8 Response_Message[300];
- string Act_Message1 = buf1;
- const char *b = Act_Message1.c_str();
- unsigned int Act_len1 = 0;
- for (unsigned int i = 0; i + 3 < Act_Message1.length(); i = i + 3)
- {
- sscanf_s(b + i, "%02X", (int *)(Response_Message + Act_len1));
- Act_len1++;
- }
- sscanf_s(b + Act_Message1.length() - 2, "%02X", (int *)(Response_Message + Act_len1));
-
- int test_Value = Analysis_Response_Message(Response_Message, Request_Message, Act_len1 + 1);
-
- Assert::AreEqual(test_Value,Output);
- }
- }
-
- void Test_Salve_Analysis_Request_Msg(void)
- {
- char buf[LEN];
- char buf1[LEN];
- CString name = "Example";
- char s[10] = "";
- int Input1, Output1, Output2;
- int number = GetPrivateProfileInt(name, "Number", 0, TESTPATH3);
- for (int i = 1; i < number + 1; i++)
- {
- memset(buf, 0, sizeof(buf));
- memset(buf1, 0, sizeof(buf1));
- memset(s, 0, sizeof(s));
- _itoa_s(i, s, 10);
- CString name1 = name + s;
- Input1 = GetPrivateProfileString(name1, "Input1", "", buf, LEN, TESTPATH3);
- Output1 = GetPrivateProfileString(name1, "Output1", "", buf1, LEN, TESTPATH3);
- Output2 = GetPrivateProfileInt(name1, "Output2", 0, TESTPATH3);
- //buf ÇëÇó buf1 ÏìÓ¦
- UINT8 Request_Message[300];
- string Act_Message = buf;
- const char *a = Act_Message.c_str();
- unsigned int Act_len = 0;
- for (unsigned int i = 0; i + 3 < Act_Message.length(); i = i + 3)
- {
- sscanf_s(a + i, "%02X", (int *)(Request_Message + Act_len));
- Act_len++;
- }
- sscanf_s(a + Act_Message.length() - 2, "%02X", (int *)(Request_Message + Act_len));
-
-
- UINT8 Response_Message[300];
- string Act_Message1 = buf1;
- const char *b = Act_Message1.c_str();
- unsigned int Act_len1 = 0;
- for (unsigned int i = 0; i + 3 < Act_Message1.length(); i = i + 3)
- {
- sscanf_s(b + i, "%02X", (int *)(Response_Message + Act_len1));
- Act_len1++;
- }
- sscanf_s(b + Act_Message1.length() - 2, "%02X", (int *)(Response_Message + Act_len1));
-
- int test_Value = Analysis_Response_Msg(Request_Message, Response_Message, Act_len + 1);
-
- Assert::AreEqual(test_Value, Output2);
- }
- }
-
- void Test_Salve_Create_Response_Msg(void)
- {
- char buf[LEN];
- char buf1[LEN];
- CString name = "Example";
- char s[10] = "";
- int Input1, Output1, Output2;
- bool test_Value = true;
- int number = GetPrivateProfileInt(name, "Number", 0, TESTPATH3);
- Init_Coil_Register();
- for (int i = 1; i < number + 1; i++)
- {
- memset(buf, 0, sizeof(buf));
- memset(buf1, 0, sizeof(buf1));
- memset(s, 0, sizeof(s));
- _itoa_s(i, s, 10);
- CString name1 = name + s;
- Input1 = GetPrivateProfileString(name1, "Input1", "", buf, LEN, TESTPATH3);
- Output1 = GetPrivateProfileString(name1, "Output1", "", buf1, LEN, TESTPATH3);
- Output2 = GetPrivateProfileInt(name1, "Output2", 0, TESTPATH3);
- //buf ÇëÇó buf1 ÏìÓ¦
- UINT8 Request_Message[600];
- memset(Request_Message,0,600);
- string Act_Message = buf;
- const char *a = Act_Message.c_str();
- unsigned int Act_len = 0;
- int temp = 0;
- for (unsigned int i = 0; i + 3 < Act_Message.length(); i = i + 3)
- {
- sscanf_s(a + i, "%02X", &temp);
- Request_Message[Act_len] = temp;
- Act_len++;
- }
- sscanf_s(a + Act_Message.length() - 2, "%02X", &temp);
- Request_Message[Act_len] = temp;
-
- UINT8 Response_Message[600];
- memset(Response_Message, 0, 600);
- string Act_Message1 = buf1;
- const char *b = Act_Message1.c_str();
- unsigned int Act_len1 = 0;
- int temp1 = 0;
- for (unsigned int i = 0; i + 3 < Act_Message1.length(); i = i + 3)
- {
- sscanf_s(b + i, "%02X", &temp1);
- Response_Message[Act_len1] = temp1;
- Act_len1++;
- }
- sscanf_s(b + Act_Message1.length() - 2, "%02X", &temp1);
- Response_Message[Act_len1] = temp1;
-
- UINT8 Response_Message1[600];
- memset(Response_Message1,0,600);
- int flage = Analysis_Response_Msg(Request_Message, Response_Message1, Act_len + 1);
- Create_Response_Message(Request_Message, Response_Message1, flage);
- for (unsigned int j = 0; j < Act_len1+1; j++)
- {
- if (Response_Message[j] != Response_Message1[j])
- {
- test_Value = false;
- break;
- }
- }
- Assert::AreEqual(test_Value, true);
- }
- }
|