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
+19 -20
View File
@@ -16,17 +16,18 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "data.h"
#include <iostream>
#include <iomanip>
#include <string>
#include <vector>
#include "data.h"
using namespace std;
static bool error = false;
void verify(bool expectFailMatch, string type, string input,
bool match, string expectStr, string gotStr)
{
bool match, string expectStr, string gotStr) {
match = match && expectStr == gotStr;
if (expectFailMatch) {
if (match) {
@@ -45,8 +46,7 @@ void verify(bool expectFailMatch, string type, string input,
}
}
int main()
{
int main() {
string checks[][5] = {
// entry: definition, decoded value, master data, slave data, flags
// definition: name,part,type[:len][,[divisor|values][,[unit][,[comment]]]]
@@ -63,9 +63,9 @@ int main()
{"x,,str:*", "abcde", "10fe0700056162636465", "00", ""},
{"x,,str,2", "", "", "", "c"},
{"x,,str:10,=dummy", "", "10fe07000a48616c6c6f2044752120", "00", "W"},
{"x,,str:10,==dummy", "", "10fe07000a48616c6c6f2044752120", "00", "rW"},
{"x,,str:10, == dummy", "", "10fe07000a48616c6c6f2044752120", "00", "rW"},
{"x,,str:10,=dummy", "", "10fe07000a64756d6d792020202020", "00", ""},
{"x,,str:10,==dummy", "", "10fe07000a64756d6d792020202020", "00", ""},
{"x,,str:10, == dummy", "", "10fe07000a64756d6d792020202020", "00", ""},
{"x,,nts:10", "Hallo, Du!", "10fe07000a48616c6c6f2c20447521", "00", ""},
{"x,,nts:10", "Hallo, Du!", "10fe07000a48616c6c6f2c20447521", "00", ""},
{"x,,nts:10", "Hallo, Du", "10fe07000a48616c6c6f2c20447500", "00", ""},
@@ -83,9 +83,9 @@ int main()
{"x,,hex:11", "", "10fe07000a48616c6c6f2c20447521", "00", "rW"},
{"x,,hex,2", "", "", "", "c"},
{"x,,hex:5,=48 61 6c 6c 6f", "", "10fe070005ababababab", "00", "W"},
{"x,,hex:5,==48 61 6c 6c 6f", "", "10fe070005ababababab", "00", "rW"},
{"x,,hex:5, == 48 61 6c 6c 6f", "", "10fe070005ababababab", "00", "rW"},
{"x,,hex:5,=48 61 6c 6c 6f", "", "10fe07000548616c6c6f", "00", ""},
{"x,,hex:5,==48 61 6c 6c 6f", "", "10fe07000548616c6c6f", "00", ""},
{"x,,hex:5, == 48 61 6c 6c 6f", "", "10fe07000548616c6c6f", "00", ""},
{"x,,bda", "26.10.2014","10fe07000426100614", "00", ""}, // Sunday
{"x,,bda", "01.01.2000","10fe07000401010500", "00", ""}, // Saturday
{"x,,bda", "31.12.2099","10fe07000431120399", "00", ""}, // Thursday
@@ -264,9 +264,9 @@ int main()
{"x,,uch,10", "3.8", "10feffff0126", "00", ""},
{"x,,uch,-10", "380","10feffff0126", "00", ""},
{"x,,uch,=48", "", "10feffff01ab", "00", "W"},
{"x,,uch,==48", "", "10feffff01ab", "00", "rW"},
{"x,,uch, == 48", "", "10feffff01ab", "00", "rW"},
{"x,,uch,=48", "", "10feffff0130", "00", ""},
{"x,,uch,==48", "", "10feffff0130", "00", ""},
{"x,,uch, == 48", "", "10feffff0130", "00", ""},
{"x,,sch", "-90", "10feffff01a6", "00", ""},
{"x,,sch", "0", "10feffff0100", "00", ""},
{"x,,sch", "-1", "10feffff01ff", "00", ""},
@@ -510,7 +510,7 @@ int main()
fields = NULL;
}
vector<string>::iterator it = entries.begin();
result = DataField::create(it, entries.end(), templates, fields, isSet, isTemplate, !isTemplate && (mstr[1]==BROADCAST || isMaster(mstr[1])));
result = DataField::create(it, entries.end(), templates, fields, isSet, isTemplate, !isTemplate && (mstr[1] == BROADCAST || isMaster(mstr[1])));
if (failedCreate) {
if (result == RESULT_OK) {
cout << "\"" << check[0] << "\": failed create error: unexpectedly succeeded" << endl;
@@ -568,7 +568,7 @@ int main()
if (result >= RESULT_OK) {
result = fields->read(pt_slaveData, sstr, 0, output, verbosity|(numeric?OF_NUMERIC:0), -1, !output.str().empty());
}
if (failedRead)
if (failedRead) {
if (result >= RESULT_OK) {
cout << " failed read " << fields->getName() << " >" << check[2] << " " << check[3]
<< "< error: unexpectedly succeeded" << endl;
@@ -577,21 +577,21 @@ int main()
cout << " failed read " << fields->getName() << " >" << check[2] << " " << check[3]
<< "< OK" << endl;
}
else if (result < RESULT_OK) {
} else if (result < RESULT_OK) {
cout << " read " << fields->getName() << " >" << check[2] << " " << check[3]
<< "< error: " << getResultCode(result) << endl;
error = true;
}
else {
} else {
bool match = strcasecmp(output.str().c_str(), expectStr.c_str()) == 0;
verify(failedReadMatch, "read", check[2], match, expectStr, output.str());
}
if (verbosity==0) {
if (verbosity == 0) {
istringstream input(expectStr);
result = fields->write(input, pt_masterData, writeMstr, 0);
if (result >= RESULT_OK)
if (result >= RESULT_OK) {
result = fields->write(input, pt_slaveData, writeSstr, 0);
}
if (failedWrite) {
if (result >= RESULT_OK) {
cout << " failed write " << fields->getName() << " >"
@@ -601,8 +601,7 @@ int main()
cout << " failed write " << fields->getName() << " >"
<< expectStr << "< OK" << endl;
}
}
else if (result < RESULT_OK) {
} else if (result < RESULT_OK) {
cout << " write " << fields->getName() << " >" << expectStr
<< "< error: " << getResultCode(result) << endl;
error = true;
+8 -8
View File
@@ -16,14 +16,13 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "device.h"
#include <iostream>
#include <iomanip>
#include "device.h"
using namespace std;
int main ()
{
int main () {
Device* device = Device::create("/dev/ttyUSB20", true, false, false);
if (device == NULL) {
cout << "unable to create device" << endl;
@@ -33,26 +32,27 @@ int main ()
if (result != RESULT_OK) {
cout << "open failed: " << getResultCode(result) << endl;
} else {
if (!device->isValid())
if (!device->isValid()) {
cout << "device not available." << endl;
}
int count = 0;
while (1) {
unsigned char byte = 0;
result = device->recv(0, byte);
if (result == RESULT_OK)
if (result == RESULT_OK) {
cout << hex << setw(2) << setfill('0')
<< static_cast<unsigned>(byte) << endl;
}
count++;
}
device->close();
if (!device->isValid())
if (!device->isValid()) {
cout << "close successful." << endl;
}
}
delete device;
+5 -5
View File
@@ -16,17 +16,18 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "filereader.h"
#include <iostream>
#include <iomanip>
#include <string>
#include <vector>
#include "filereader.h"
using namespace std;
static bool error = false;
void verify(bool expectFailMatch, string type, string input,
bool match, string expectStr, string gotStr)
{
bool match, string expectStr, string gotStr) {
match = match && expectStr == gotStr;
if (expectFailMatch) {
if (match) {
@@ -45,8 +46,7 @@ void verify(bool expectFailMatch, string type, string input,
}
}
int main()
{
int main() {
istringstream ifs(
"line 1 col 1,line 1 col 2,line 1 col 3\n"
"line 2 col 1,\"line 2 col 2\",\"line 2 \"\"col 3\"\"\"\n"
+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;
+6 -7
View File
@@ -16,17 +16,17 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "symbol.h"
#include <iostream>
#include <iomanip>
#include <string>
#include "symbol.h"
using namespace std;
static bool error = false;
void verify(bool expectFailMatch, string type, string input,
bool match, string expectStr, string gotStr)
{
bool match, string expectStr, string gotStr) {
match = match && expectStr == gotStr;
if (expectFailMatch) {
if (match) {
@@ -45,11 +45,10 @@ void verify(bool expectFailMatch, string type, string input,
}
}
int main(int argc, char** argv)
{
int main(int argc, char** argv) {
SymbolString sstr(true);
if (argc>1) {
if (argc > 1) {
result_t result = sstr.parseHex(argv[1], true);
if (result != RESULT_OK) {
cout << "parse escaped error: " << getResultCode(result) << endl;
@@ -76,7 +75,7 @@ int main(int argc, char** argv)
ostr.str("");
ostr << nouppercase << setw(2) << hex << setfill('0') << static_cast<unsigned>(gotCrc);
gotStr = ostr.str();
verify(false, "CRC", "10feb5050427a915aa", gotCrc==expectCrc, expectStr, gotStr);
verify(false, "CRC", "10feb5050427a915aa", gotCrc == expectCrc, expectStr, gotStr);
gotStr = sstr.getDataStr(true, false), expectStr = "10feb5050427a915aa77";
verify(false, "unescape", "10feb5050427a915aa", true, expectStr, gotStr);