code style

This commit is contained in:
john30
2017-01-14 13:00:04 +01:00
parent d13b271a05
commit b3bb2e08ac
49 changed files with 1853 additions and 1858 deletions
+65 -53
View File
@@ -16,41 +16,43 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "message.h"
#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
#include <vector>
#include <map>
#include "message.h"
using namespace std;
void verify(bool expectFailMatch, string type, string input,
bool match, string expectStr, string gotStr)
{
bool match, string expectStr, string gotStr) {
if (expectFailMatch) {
if (match)
if (match) {
cout << " failed " << type << " match >" << input
<< "< error: unexpectedly succeeded" << endl;
else
} else {
cout << " failed " << type << " match >" << input << "< OK" << endl;
}
else if (match)
}
} else if (match) {
cout << " " << type << " match >" << input << "< OK" << endl;
else
} else {
cout << " " << type << " match >" << input << "< error: got >"
<< gotStr << "<, expected >" << expectStr << "<" << endl;
}
}
DataFieldTemplates* templates = NULL;
DataFieldTemplates* getTemplates(const string filename)
{
if (filename=="") // avoid compiler warning
DataFieldTemplates* getTemplates(const string filename) {
if (filename == "") { // avoid compiler warning
return templates;
}
return templates;
}
int main()
{
int main() {
// message: [type],[circuit],name,[comment],[QQ[;QQ]*],[ZZ],[PBSB],[ID],fields...
// field: name,part,type[:len][,[divisor|values][,[unit][,[comment]]]]
// template: name,type[:len][,[divisor|values][,[unit][,[comment]]]]
@@ -167,17 +169,16 @@ int main()
DataField* fields = NULL;
vector<string>::iterator it = entries.begin();
result = DataField::create(it, entries.end(), templates, fields, false, true, false);
if (result != RESULT_OK)
if (result != RESULT_OK) {
cout << "\"" << check[0] << "\": template fields create error: " << getResultCode(result) << endl;
else if (it != entries.end()) {
} else if (it != entries.end()) {
cout << "\"" << check[0] << "\": template fields create error: trailing input " << static_cast<unsigned>(entries.end()-it) << endl;
}
else {
} else {
cout << "\"" << check[0] << "\": create template OK" << endl;
result = templates->add(fields, "", true);
if (result == RESULT_OK)
if (result == RESULT_OK) {
cout << " store template OK" << endl;
else {
} else {
cout << " store template error: " << getResultCode(result) << endl;
delete fields;
}
@@ -189,21 +190,22 @@ int main()
vector<string>::iterator it = entries.begin();
size_t oldSize = conditions.size();
result = messages->addDefaultFromFile(defaultsRows, entries, it, "", "", "", "no file", 1);
if (result != RESULT_OK)
if (result != RESULT_OK) {
cout << "\"" << check[0] << "\": defaults read error: " << getResultCode(result) << endl;
else if (it != entries.end())
} else if (it != entries.end()) {
cout << "\"" << check[0] << "\": defaults read error: trailing input " << static_cast<unsigned>(entries.end()-it) << endl;
else {
} else {
cout << "\"" << check[0] << "\": read defaults OK" << endl;
if (isCondition) {
if (conditions.size()==oldSize) {
if (conditions.size() == oldSize) {
cout << " create condition error" << endl;
} else {
result = messages->resolveConditions();
if (result != RESULT_OK)
if (result != RESULT_OK) {
cout << " resolve conditions error: " << getResultCode(result) << " " << messages->getLastError() << endl;
else
} else {
cout << " resolve conditions OK" << endl;
}
}
}
}
@@ -214,10 +216,11 @@ int main()
string token;
istringstream stream(check[2]);
while (getline(stream, token, VALUE_SEPARATOR)) {
if (pos >= mstrs.size())
if (pos >= mstrs.size()) {
mstrs.resize(pos+1);
else if (mstrs[pos]!=NULL)
} else if (mstrs[pos] != NULL) {
delete mstrs[pos];
}
mstrs[pos] = new SymbolString(false);
result = mstrs[pos]->parseHex(token);
if (result != RESULT_OK) {
@@ -230,10 +233,11 @@ int main()
stream.str(check[3]);
stream.clear();
while (getline(stream, token, VALUE_SEPARATOR)) {
if (pos >= sstrs.size())
if (pos >= sstrs.size()) {
sstrs.resize(pos+1);
else if (sstrs[pos]!=NULL)
} else if (sstrs[pos] != NULL) {
delete sstrs[pos];
}
sstrs[pos] = new SymbolString(false);
result = sstrs[pos]->parseHex(token);
if (result != RESULT_OK) {
@@ -242,19 +246,22 @@ int main()
}
pos++;
}
if (result != RESULT_OK)
if (result != RESULT_OK) {
continue;
}
} else {
if (mstrs[0]!=NULL)
if (mstrs[0] != NULL) {
delete mstrs[0];
}
mstrs[0] = new SymbolString(false);
result = mstrs[0]->parseHex(check[2]);
if (result != RESULT_OK) {
cout << "\"" << check[0] << "\": parse \"" << check[2] << "\" error: " << getResultCode(result) << endl;
continue;
}
if (sstrs[0]!=NULL)
if (sstrs[0] != NULL) {
delete sstrs[0];
}
sstrs[0] = new SymbolString(false);
result = sstrs[0]->parseHex(check[3]);
if (result != RESULT_OK) {
@@ -263,7 +270,7 @@ int main()
}
}
if (deleteMessages.size()>0) {
if (deleteMessages.size() > 0) {
for (vector<Message*>::iterator it = deleteMessages.begin(); it != deleteMessages.end(); it++) {
Message* deleteMessage = *it;
delete deleteMessage;
@@ -282,15 +289,16 @@ int main()
string types = *it;
Condition* condition = NULL;
result = messages->readConditions(types, "no file", condition);
if (result==RESULT_OK) {
if (result == RESULT_OK) {
*it = types;
result = Message::create(it, entries.end(), &defaultsRows, condition, "no file", templates, deleteMessages);
}
if (failedCreate) {
if (result == RESULT_OK)
if (result == RESULT_OK) {
cout << "\"" << check[0] << "\": failed create error: unexpectedly succeeded" << endl;
else
} else {
cout << "\"" << check[0] << "\": failed create OK" << endl;
}
continue;
}
if (result != RESULT_OK) {
@@ -299,7 +307,7 @@ int main()
printErrorPos(cout, entries.begin(), entries.end(), it, "", 0, result);
continue;
}
if (deleteMessages.size()==0) {
if (deleteMessages.size() == 0) {
cout << "\"" << check[0] << "\": create error: NULL" << endl;
continue;
}
@@ -307,11 +315,11 @@ int main()
cout << "\"" << check[0] << "\": create error: trailing input " << static_cast<unsigned>(entries.end()-it) << endl;
continue;
}
if (multi && deleteMessages.size()==1) {
if (multi && deleteMessages.size() == 1) {
cout << "\"" << check[0] << "\": create error: single message instead of multiple" << endl;
continue;
}
if (!multi && deleteMessages.size()>1) {
if (!multi && deleteMessages.size() > 1) {
cout << "\"" << check[0] << "\": create error: multiple messages instead of single" << endl;
continue;
}
@@ -327,28 +335,31 @@ int main()
break;
}
}
if (result != RESULT_OK)
if (result != RESULT_OK) {
continue;
}
cout << " map OK" << endl;
message = deleteMessages.front();
deleteMessages.clear();
if (onlyMap)
if (onlyMap) {
continue;
}
Message* foundMessage = messages->find(*mstrs[0]);
if (foundMessage == message)
if (foundMessage == message) {
cout << " find OK" << endl;
else if (foundMessage == NULL)
} else if (foundMessage == NULL) {
cout << " find error: NULL" << endl;
else
} else {
cout << " find error: different" << endl;
}
else
}
} else {
message = deleteMessages.front();
}
}
if (message->isPassive() || decode) {
ostringstream output;
for (unsigned char index=0; index<message->getCount(); index++) {
for (unsigned char index = 0; index < message->getCount(); index++) {
message->storeLastData(*mstrs[index], *sstrs[index]);
}
if (withMessageDump && !decodeJson) {
@@ -370,10 +381,11 @@ int main()
SymbolString writeMstr(false);
result = message->prepareMaster(0xff, writeMstr, input);
if (failedPrepare) {
if (result == RESULT_OK)
if (result == RESULT_OK) {
cout << " \"" << inputStr << "\": failed prepare error: unexpectedly succeeded" << endl;
else
} else {
cout << " \"" << inputStr << "\": failed prepare OK" << endl;
}
continue;
}
@@ -384,12 +396,12 @@ int main()
}
cout << " \"" << inputStr << "\": prepare OK" << endl;
bool match = writeMstr==*mstrs[0];
bool match = writeMstr == *mstrs[0];
verify(failedPrepareMatch, "prepare", inputStr, match, mstrs[0]->getDataStr(true, false), writeMstr.getDataStr(true, false));
}
}
if (deleteMessages.size()>0) {
if (deleteMessages.size() > 0) {
for (vector<Message*>::iterator it = deleteMessages.begin(); it != deleteMessages.end(); it++) {
Message* deleteMessage = *it;
delete deleteMessage;
@@ -399,10 +411,10 @@ int main()
delete templates;
delete messages;
for (vector<SymbolString*>::iterator it = mstrs.begin(); it!=mstrs.end(); it++) {
for (vector<SymbolString*>::iterator it = mstrs.begin(); it != mstrs.end(); it++) {
delete *it;
}
for (vector<SymbolString*>::iterator it = sstrs.begin(); it!=sstrs.end(); it++) {
for (vector<SymbolString*>::iterator it = sstrs.begin(); it != sstrs.end(); it++) {
delete *it;
}
return 0;