Files
Sourcetrail/src/test/NetworkProtocolHelperTestSuite.h
T
Manuel Dobusch e13eaa85da logic: visual studio solution parsing
Can now parse visual studio solutions. VS Plugin can send a command, parsing is implemented in Coati.
Some minor changes: added project file icon, added language check to vs plugin
2016-02-08 15:58:25 +01:00

68 lines
2.5 KiB
C++

#include <cxxtest/TestSuite.h>
#include "component/controller/helper/NetworkProtocolHelper.h"
class NetworkProtocolHelperTestSuite : public CxxTest::TestSuite
{
public:
void test_parse_message(void)
{
std::string type = "setActiveToken";
std::string divider = ">>";
std::string filePath = "C:\\Users\\Manuel\\imporant\\file\\location\\fileName.cpp";
std::string endOfMessageToken = "<EOM>";
int row = 1;
int column = 2;
// valid message
std::stringstream message;
message << type << divider << filePath << divider << row << divider << column << endOfMessageToken;
NetworkProtocolHelper::SetActiveTokenMessage networkMessage = NetworkProtocolHelper::parseSetActiveTokenMessage(message.str());
TS_ASSERT_EQUALS(networkMessage.fileLocation, filePath);
TS_ASSERT_EQUALS(networkMessage.row, row);
TS_ASSERT_EQUALS(networkMessage.column, column);
TS_ASSERT_EQUALS(networkMessage.valid, true);
// invalid type
message.str("");
message << "foo" << divider << filePath << divider << row << divider << column << endOfMessageToken;
networkMessage = NetworkProtocolHelper::parseSetActiveTokenMessage(message.str());
TS_ASSERT_EQUALS(networkMessage.fileLocation, "");
TS_ASSERT_EQUALS(networkMessage.row, 0);
TS_ASSERT_EQUALS(networkMessage.column, 0);
TS_ASSERT_EQUALS(networkMessage.valid, false);
// missing divider
message.str("");
message << type << divider << filePath << row << divider << column << endOfMessageToken;
networkMessage = NetworkProtocolHelper::parseSetActiveTokenMessage(message.str());
TS_ASSERT_EQUALS(networkMessage.fileLocation, "");
TS_ASSERT_EQUALS(networkMessage.row, 0);
TS_ASSERT_EQUALS(networkMessage.column, 0);
TS_ASSERT_EQUALS(networkMessage.valid, false);
// invalid row
message.str("");
message << type << divider << filePath << divider << "potato" << divider << column << endOfMessageToken;
networkMessage = NetworkProtocolHelper::parseSetActiveTokenMessage(message.str());
TS_ASSERT_EQUALS(networkMessage.fileLocation, "");
TS_ASSERT_EQUALS(networkMessage.row, 0);
TS_ASSERT_EQUALS(networkMessage.column, 0);
TS_ASSERT_EQUALS(networkMessage.valid, false);
// invalid column
message.str("");
message << type << divider << filePath << divider << row << divider << "laz0r" << endOfMessageToken;
networkMessage = NetworkProtocolHelper::parseSetActiveTokenMessage(message.str());
TS_ASSERT_EQUALS(networkMessage.fileLocation, "");
TS_ASSERT_EQUALS(networkMessage.row, 0);
TS_ASSERT_EQUALS(networkMessage.column, 0);
TS_ASSERT_EQUALS(networkMessage.valid, false);
}
};