clearly separate master/slave symbolstrings
This commit is contained in:
@@ -473,14 +473,14 @@ int main() {
|
||||
string check[5] = checks[i];
|
||||
istringstream isstr(check[0]);
|
||||
string expectStr = check[1];
|
||||
SymbolString mstr(true);
|
||||
MasterSymbolString mstr;
|
||||
result_t result = mstr.parseHex(check[2]);
|
||||
if (result != RESULT_OK) {
|
||||
cout << "\"" << check[0] << "\": parse \"" << check[2] << "\" error: " << getResultCode(result) << endl;
|
||||
error = true;
|
||||
continue;
|
||||
}
|
||||
SymbolString sstr;
|
||||
SlaveSymbolString sstr;
|
||||
result = sstr.parseHex(check[3]);
|
||||
if (result != RESULT_OK) {
|
||||
cout << "\"" << check[0] << "\": parse \"" << check[3] << "\" error: " << getResultCode(result) << endl;
|
||||
@@ -563,14 +563,14 @@ int main() {
|
||||
}
|
||||
|
||||
ostringstream output;
|
||||
SymbolString writeMstr(true);
|
||||
MasterSymbolString writeMstr;
|
||||
result = writeMstr.parseHex(mstr.getDataStr().substr(0, 10));
|
||||
if (result != RESULT_OK) {
|
||||
cout << " parse \"" << mstr.getDataStr().substr(0, 10) << "\" error: " << getResultCode(result)
|
||||
<< endl;
|
||||
error = true;
|
||||
}
|
||||
SymbolString writeSstr;
|
||||
SlaveSymbolString writeSstr;
|
||||
result = writeSstr.parseHex(sstr.getDataStr().substr(0, 2));
|
||||
if (result != RESULT_OK) {
|
||||
cout << " parse \"" << sstr.getDataStr().substr(0, 2) << "\" error: " << getResultCode(result)
|
||||
|
||||
@@ -170,8 +170,8 @@ int main() {
|
||||
map<string, Condition*> &conditions = messages->getConditions();
|
||||
Message* message = NULL;
|
||||
vector<Message*> deleteMessages;
|
||||
vector<SymbolString*> mstrs;
|
||||
vector<SymbolString*> sstrs;
|
||||
vector<MasterSymbolString*> mstrs;
|
||||
vector<SlaveSymbolString*> sstrs;
|
||||
mstrs.resize(1);
|
||||
sstrs.resize(1);
|
||||
for (size_t i = 0; i < sizeof(checks) / sizeof(checks[0]); i++) {
|
||||
@@ -260,7 +260,7 @@ int main() {
|
||||
} else if (mstrs[pos] != NULL) {
|
||||
delete mstrs[pos];
|
||||
}
|
||||
mstrs[pos] = new SymbolString(true);
|
||||
mstrs[pos] = new MasterSymbolString;
|
||||
result = mstrs[pos]->parseHex(token);
|
||||
if (result != RESULT_OK) {
|
||||
cout << "\"" << check[0] << "\": parse \"" << token << "\" error: " << getResultCode(result) << endl;
|
||||
@@ -277,7 +277,7 @@ int main() {
|
||||
} else if (sstrs[pos] != NULL) {
|
||||
delete sstrs[pos];
|
||||
}
|
||||
sstrs[pos] = new SymbolString();
|
||||
sstrs[pos] = new SlaveSymbolString();
|
||||
result = sstrs[pos]->parseHex(token);
|
||||
if (result != RESULT_OK) {
|
||||
cout << "\"" << check[0] << "\": parse \"" << token << "\" error: " << getResultCode(result) << endl;
|
||||
@@ -292,7 +292,7 @@ int main() {
|
||||
if (mstrs[0] != NULL) {
|
||||
delete mstrs[0];
|
||||
}
|
||||
mstrs[0] = new SymbolString(true);
|
||||
mstrs[0] = new MasterSymbolString;
|
||||
result = mstrs[0]->parseHex(check[2]);
|
||||
if (result != RESULT_OK) {
|
||||
cout << "\"" << check[0] << "\": parse \"" << check[2] << "\" error: " << getResultCode(result) << endl;
|
||||
@@ -301,7 +301,7 @@ int main() {
|
||||
if (sstrs[0] != NULL) {
|
||||
delete sstrs[0];
|
||||
}
|
||||
sstrs[0] = new SymbolString();
|
||||
sstrs[0] = new SlaveSymbolString();
|
||||
result = sstrs[0]->parseHex(check[3]);
|
||||
if (result != RESULT_OK) {
|
||||
cout << "\"" << check[0] << "\": parse \"" << check[3] << "\" error: " << getResultCode(result) << endl;
|
||||
@@ -419,7 +419,7 @@ int main() {
|
||||
}
|
||||
if (!message->isPassive() && (withInput || !decode)) {
|
||||
istringstream input(inputStr);
|
||||
SymbolString writeMstr(true);
|
||||
MasterSymbolString writeMstr;
|
||||
result = message->prepareMaster(0xff, writeMstr, input);
|
||||
if (failedPrepare) {
|
||||
if (result == RESULT_OK) {
|
||||
@@ -453,10 +453,10 @@ int main() {
|
||||
|
||||
delete templates;
|
||||
delete messages;
|
||||
for (vector<SymbolString*>::iterator it = mstrs.begin(); it != mstrs.end(); it++) {
|
||||
for (vector<MasterSymbolString*>::iterator it = mstrs.begin(); it != mstrs.end(); it++) {
|
||||
delete *it;
|
||||
}
|
||||
for (vector<SymbolString*>::iterator it = sstrs.begin(); it != sstrs.end(); it++) {
|
||||
for (vector<SlaveSymbolString*>::iterator it = sstrs.begin(); it != sstrs.end(); it++) {
|
||||
delete *it;
|
||||
}
|
||||
return 0;
|
||||
|
||||
@@ -47,19 +47,19 @@ void verify(bool expectFailMatch, string type, string input,
|
||||
}
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
SymbolString sstr(true);
|
||||
MasterSymbolString mstr;
|
||||
|
||||
if (argc > 1) {
|
||||
result_t result;
|
||||
if (argc > 2 && strcmp("escaped", argv[1]) == 0) {
|
||||
result = sstr.parseHexEscaped(argv[2]);
|
||||
result = mstr.parseHexEscaped(argv[2]);
|
||||
} else {
|
||||
result = sstr.parseHex(argv[1]);
|
||||
result = mstr.parseHex(argv[1]);
|
||||
}
|
||||
if (result != RESULT_OK) {
|
||||
cout << "parse escaped error: " << getResultCode(result) << endl;
|
||||
} else {
|
||||
unsigned char gotCrc = sstr.calcCrc();
|
||||
unsigned char gotCrc = mstr.calcCrc();
|
||||
cout << "calculated CRC: 0x"
|
||||
<< nouppercase << setw(2) << hex << setfill('0')
|
||||
<< static_cast<unsigned>(gotCrc) << endl;
|
||||
@@ -68,14 +68,14 @@ int main(int argc, char** argv) {
|
||||
}
|
||||
|
||||
string gotStr, expectStr;
|
||||
result_t result = sstr.parseHex("10feb5050427a915aa");
|
||||
result_t result = mstr.parseHex("10feb5050427a915aa");
|
||||
if (result != RESULT_OK) {
|
||||
cout << "parse unescaped error: " << getResultCode(result) << endl;
|
||||
error = true;
|
||||
} else {
|
||||
gotStr = sstr.getDataStr(), expectStr = "10feb5050427a915aa";
|
||||
gotStr = mstr.getDataStr(), expectStr = "10feb5050427a915aa";
|
||||
verify(false, "parse unescaped", "10feb5050427a915aa", true, expectStr, gotStr);
|
||||
unsigned char gotCrc = sstr.calcCrc(), expectCrc = 0x77;
|
||||
unsigned char gotCrc = mstr.calcCrc(), expectCrc = 0x77;
|
||||
ostringstream ostr;
|
||||
ostr << nouppercase << setw(2) << hex << setfill('0') << static_cast<unsigned>(expectCrc);
|
||||
expectStr = ostr.str();
|
||||
@@ -85,24 +85,24 @@ int main(int argc, char** argv) {
|
||||
verify(false, "CRC", "10feb5050427a915aa", gotCrc == expectCrc, expectStr, gotStr);
|
||||
}
|
||||
|
||||
sstr.clear();
|
||||
result = sstr.parseHexEscaped("10feb5050427a90015a901");
|
||||
mstr.clear();
|
||||
result = mstr.parseHexEscaped("10feb5050427a90015a901");
|
||||
if (result != RESULT_OK) {
|
||||
cout << "parse escaped error: " << getResultCode(result) << endl;
|
||||
error = true;
|
||||
} else {
|
||||
gotStr = sstr.getDataStr(), expectStr = "10feb5050427a915aa";
|
||||
gotStr = mstr.getDataStr(), expectStr = "10feb5050427a915aa";
|
||||
verify(false, "parse escaped", "10feb5050427a90015a901", true, expectStr, gotStr);
|
||||
ostringstream ostr;
|
||||
ostr << dec << static_cast<unsigned>(4);
|
||||
expectStr = ostr.str();
|
||||
ostr.str("");
|
||||
ostr << dec << static_cast<unsigned>(sstr.getDataSize());
|
||||
ostr << dec << static_cast<unsigned>(mstr.getDataSize());
|
||||
gotStr = ostr.str();
|
||||
verify(false, "data size", "10feb5050427a90015a901", sstr.getDataSize() == 4, expectStr, gotStr);
|
||||
verify(false, "data size", "10feb5050427a90015a901", mstr.getDataSize() == 4, expectStr, gotStr);
|
||||
}
|
||||
|
||||
sstr = SymbolString(); // slave
|
||||
SlaveSymbolString sstr;
|
||||
result = sstr.parseHexEscaped("0427a90015a901");
|
||||
if (result != RESULT_OK) {
|
||||
cout << "parse escaped error: " << getResultCode(result) << endl;
|
||||
|
||||
Reference in New Issue
Block a user