Skip to content

Commit

Permalink
Added APITests (#64)
Browse files Browse the repository at this point in the history
  • Loading branch information
xR3b0rn committed May 24, 2021
1 parent 9b69ae5 commit 53f547d
Show file tree
Hide file tree
Showing 10 changed files with 616 additions and 29 deletions.
9 changes: 5 additions & 4 deletions include/dbcppp/CApi.h
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ extern "C"
DBCPPP_API void dbcppp_AttributeDefinitionFree(const dbcppp_AttributeDefinition* attribute_defintion);
DBCPPP_API dbcppp_EObjectType dbcppp_AttributeDefinitionObjectType(const dbcppp_AttributeDefinition* attribute_definition);
DBCPPP_API const char* dbcppp_AttributeDefinitionName(const dbcppp_AttributeDefinition* attribute_definition);
DBCPPP_API dbcppp_EAttributeDefinitionValueType dbcppp_AttributeDefinitionValue_Type(const dbcppp_AttributeDefinition* attribute_definition);
DBCPPP_API dbcppp_EAttributeDefinitionValueType dbcppp_AttributeDefinitionValueType(const dbcppp_AttributeDefinition* attribute_definition);
DBCPPP_API int64_t dbcppp_AttributeDefinitionValueTypeAsInt_Minimum(const dbcppp_AttributeDefinition* attribute_definition);
DBCPPP_API int64_t dbcppp_AttributeDefinitionValueTypeAsInt_Maximum(const dbcppp_AttributeDefinition* attribute_definition);
DBCPPP_API uint64_t dbcppp_AttributeDefinitionValueTypeAsHex_Minimum(const dbcppp_AttributeDefinition* attribute_definition);
Expand Down Expand Up @@ -139,8 +139,8 @@ extern "C"
DBCPPP_API double dbcppp_EnvironmentVariableInitialValue(const dbcppp_EnvironmentVariable* env_var);
DBCPPP_API uint64_t dbcppp_EnvironmentVariableEvId(const dbcppp_EnvironmentVariable* env_var);
DBCPPP_API dbcppp_EEnvironmentVariableAccessType dbcppp_EnvironmentVariableAccessType(const dbcppp_EnvironmentVariable* env_var);
DBCPPP_API const char* dbcppp_EnvironmentVariableNodes_Get(const dbcppp_EnvironmentVariable* env_var, uint64_t i);
DBCPPP_API uint64_t dbcppp_EnvironmentVariableNodes_Size(const dbcppp_EnvironmentVariable* env_var);
DBCPPP_API const char* dbcppp_EnvironmentVariableAccessNodes_Get(const dbcppp_EnvironmentVariable* env_var, uint64_t i);
DBCPPP_API uint64_t dbcppp_EnvironmentVariableAccessNodes_Size(const dbcppp_EnvironmentVariable* env_var);
DBCPPP_API uint64_t dbcppp_EnvironmentVariableValueEncodingDescriptions_GetValue(const dbcppp_EnvironmentVariable* env_var, int64_t i);
DBCPPP_API const char* dbcppp_EnvironmentVariableValueEncodingDescriptions_GetDescription(const dbcppp_EnvironmentVariable* env_var, int64_t i);
DBCPPP_API uint64_t dbcppp_EnvironmentVariableValueEncodingDescriptions_Size(const dbcppp_EnvironmentVariable* env_var);
Expand Down Expand Up @@ -170,8 +170,9 @@ extern "C"
DBCPPP_API const dbcppp_Attribute* dbcppp_MessageAttributeValues_Get(const dbcppp_Message* msg, uint64_t i);
DBCPPP_API uint64_t dbcppp_MessageAttributeValues_Size(const dbcppp_Message* msg);
DBCPPP_API const char* dbcppp_MessageComment(const dbcppp_Message* msg);

DBCPPP_API const dbcppp_Network* dbcppp_NetworkLoadDBCFromFile(const char* filename);
DBCPPP_API const dbcppp_Network* dbcppp_NetworkLoadDBCFromMemory(const char* data);
DBCPPP_API const dbcppp_Network* dbcppp_NetworkCreate(
const char* version
, const char** new_symbols
Expand Down
9 changes: 8 additions & 1 deletion include/dbcppp/EnvironmentVariable.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,14 @@ namespace dbcppp
};
enum class EAccessType
{
Unrestricted, Read, Write, ReadWrite
Unrestricted = 0x0000,
Read = 0x0001,
Write = 0x0002,
ReadWrite = 0x0003,
Unrestricted_ = 0x8000,
Read_ = 0x8001,
Write_ = 0x8002,
ReadWrite_ = 0x8003
};

static std::unique_ptr<IEnvironmentVariable> Create(
Expand Down
3 changes: 2 additions & 1 deletion include/dbcppp/Signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ namespace dbcppp
};
enum class EByteOrder
{
LittleEndian, BigEndian
BigEndian = 0,
LittleEndian = 1
};
enum class EValueType
{
Expand Down
6 changes: 3 additions & 3 deletions src/libdbcppp/CApi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ extern "C"
auto ad = reinterpret_cast<const AttributeDefinitionImpl*>(attribute_definition);
return ad->Name().c_str();
}
DBCPPP_API dbcppp_EAttributeDefinitionValueType dbcppp_AttributeDefinitionValue_Type(const dbcppp_AttributeDefinition* attribute_definition)
DBCPPP_API dbcppp_EAttributeDefinitionValueType dbcppp_AttributeDefinitionValueType(const dbcppp_AttributeDefinition* attribute_definition)
{
auto ad = reinterpret_cast<const AttributeDefinitionImpl*>(attribute_definition);
if (std::get_if<IAttributeDefinition::ValueTypeInt>(&ad->ValueType()))
Expand Down Expand Up @@ -404,12 +404,12 @@ extern "C"
default: return dbcppp_EEnvironmentVariableAccessType::dbcppp_EnvironmentVariableAccessTypeReadWrite;
}
}
DBCPPP_API const char* dbcppp_EnvironmentVariableNodes_Get(const dbcppp_EnvironmentVariable* env_var, uint64_t i)
DBCPPP_API const char* dbcppp_EnvironmentVariableAccessNodes_Get(const dbcppp_EnvironmentVariable* env_var, uint64_t i)
{
auto env_var_i = reinterpret_cast<const EnvironmentVariableImpl*>(env_var);
return env_var_i->AccessNodes_Get(i).c_str();
}
DBCPPP_API uint64_t dbcppp_EnvironmentVariableNodes_Size(const dbcppp_EnvironmentVariable* env_var)
DBCPPP_API uint64_t dbcppp_EnvironmentVariableAccessNodes_Size(const dbcppp_EnvironmentVariable* env_var)
{
auto env_var_i = reinterpret_cast<const EnvironmentVariableImpl*>(env_var);
return env_var_i->AccessNodes_Size();
Expand Down
36 changes: 18 additions & 18 deletions src/libdbcppp/DBCAST2Network.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#include <regex>
#include <fstream>
#include <variant>
#include <sstream>

#include <boost/variant.hpp>

Expand Down Expand Up @@ -498,22 +499,15 @@ static auto getEnvironmentVariables(const G_Network& gnet)
case 1: var_type = IEnvironmentVariable::EVarType::Float; break;
case 2: var_type = IEnvironmentVariable::EVarType::String; break;
}
if (ev.access_type == "DUMMY_NODE_VECTOR0")
{
access_type = IEnvironmentVariable::EAccessType::Unrestricted;
}
else if (ev.access_type == "DUMMY_NODE_VECTOR1")
{
access_type = IEnvironmentVariable::EAccessType::Read;
}
else if (ev.access_type == "DUMMY_NODE_VECTOR2")
{
access_type = IEnvironmentVariable::EAccessType::Write;
}
else
{
access_type = IEnvironmentVariable::EAccessType::ReadWrite;
}
access_type = IEnvironmentVariable::EAccessType::Unrestricted;
if (ev.access_type == "DUMMY_NODE_VECTOR0") access_type = IEnvironmentVariable::EAccessType::Unrestricted;
else if (ev.access_type == "DUMMY_NODE_VECTOR1") access_type = IEnvironmentVariable::EAccessType::Read;
else if (ev.access_type == "DUMMY_NODE_VECTOR2") access_type = IEnvironmentVariable::EAccessType::Write;
else if (ev.access_type == "DUMMY_NODE_VECTOR3") access_type = IEnvironmentVariable::EAccessType::ReadWrite;
else if (ev.access_type == "DUMMY_NODE_VECTOR8000") access_type = IEnvironmentVariable::EAccessType::Unrestricted_;
else if (ev.access_type == "DUMMY_NODE_VECTOR8001") access_type = IEnvironmentVariable::EAccessType::Read_;
else if (ev.access_type == "DUMMY_NODE_VECTOR8002") access_type = IEnvironmentVariable::EAccessType::Write_;
else if (ev.access_type == "DUMMY_NODE_VECTOR8003") access_type = IEnvironmentVariable::EAccessType::ReadWrite_;
for (auto& evd : gnet.environment_variable_datas)
{
if (evd.name == ev.name)
Expand Down Expand Up @@ -689,7 +683,13 @@ extern "C"
DBCPPP_API const dbcppp_Network* dbcppp_NetworkLoadDBCFromFile(const char* filename)
{
std::ifstream is(filename);
std::unique_ptr<INetwork> result = INetwork::LoadDBCFromIs(is);
return reinterpret_cast<const dbcppp_Network*>(result.release());
auto net = INetwork::LoadDBCFromIs(is);
return reinterpret_cast<const dbcppp_Network*>(net.release());
}
DBCPPP_API const dbcppp_Network* dbcppp_NetworkLoadDBCFromMemory(const char* data)
{
std::istringstream iss(data);
auto net = INetwork::LoadDBCFromIs(iss);
return reinterpret_cast<const dbcppp_Network*>(net.release());
}
}
4 changes: 4 additions & 0 deletions src/libdbcppp/Network2DBC.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,10 @@ DBCPPP_API std::ostream& dbcppp::Network2DBC::operator<<(std::ostream& os, const
case IEnvironmentVariable::EAccessType::Read: os << "DUMMY_NODE_VECTOR1"; break;
case IEnvironmentVariable::EAccessType::Write: os << "DUMMY_NODE_VECTOR2"; break;
case IEnvironmentVariable::EAccessType::ReadWrite: os << "DUMMY_NODE_VECTOR3"; break;
case IEnvironmentVariable::EAccessType::Unrestricted_: os << "DUMMY_NODE_VECTOR8000"; break;
case IEnvironmentVariable::EAccessType::Read_: os << "DUMMY_NODE_VECTOR8001"; break;
case IEnvironmentVariable::EAccessType::Write_: os << "DUMMY_NODE_VECTOR8002"; break;
case IEnvironmentVariable::EAccessType::ReadWrite_: os << "DUMMY_NODE_VECTOR8003"; break;
}
bool first = true;
for (const std::string& n : ev.AccessNodes())
Expand Down
242 changes: 240 additions & 2 deletions tests/APITests.cpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,246 @@

#include "Catch2.h"
#include "dbcppp/Network.h"
#include <dbcppp/CApi.h>
#include <dbcppp/Network.h>

TEST_CASE("APITest ", "[]")
using namespace dbcppp;

TEST_CASE("API Test: AttributeDefinition", "[]")
{
constexpr char* test_dbc =
"VERSION \"\"\n"
"NS_ :\n"
"BS_:\n"
"BU_:\n"
"BA_DEF_ BO_ \"AD_Name\" INT 1 3000;";

SECTION("CPP API")
{
std::istringstream iss(test_dbc);
auto net = INetwork::LoadDBCFromIs(iss);
REQUIRE(net);

REQUIRE(net->AttributeDefinitions_Size() == 1);
REQUIRE(net->AttributeDefinitions_Get(0).ObjectType() == IAttributeDefinition::EObjectType::Message);
REQUIRE(net->AttributeDefinitions_Get(0).Name() == "AD_Name");
auto value_type = std::get_if<IAttributeDefinition::ValueTypeInt>(&net->AttributeDefinitions_Get(0).ValueType());
REQUIRE(value_type);
REQUIRE(value_type->minimum == 1);
REQUIRE(value_type->maximum == 3000);
}
SECTION("C API")
{
auto net = dbcppp_NetworkLoadDBCFromMemory(test_dbc);
REQUIRE(net);

REQUIRE(dbcppp_NetworkAttributeDefinitions_Size(net) == 1);
auto attr_def = dbcppp_NetworkAttributeDefinitions_Get(net, 0);
REQUIRE(dbcppp_AttributeDefinitionObjectType(attr_def) == dbcppp_ObjectType_Message);
REQUIRE(dbcppp_AttributeDefinitionName(attr_def) == std::string("AD_Name"));
REQUIRE(dbcppp_AttributeDefinitionValueType(attr_def) == dbcppp_AttributeDefinitionValueTypeInt);
REQUIRE(dbcppp_AttributeDefinitionValueTypeAsInt_Minimum(attr_def) == 1);
REQUIRE(dbcppp_AttributeDefinitionValueTypeAsInt_Maximum(attr_def) == 3000);
}
}
TEST_CASE("API Test: BitTiming", "[]")
{
constexpr char* test_dbc =
"VERSION \"\"\n"
"NS_ :\n"
"BS_: 1 : 2, 3\n"
"BU_:\n";

SECTION("CPP API")
{
std::istringstream iss(test_dbc);
auto net = INetwork::LoadDBCFromIs(iss);
REQUIRE(net);

REQUIRE(net->BitTiming().Baudrate() == 1);
REQUIRE(net->BitTiming().BTR1() == 2);
REQUIRE(net->BitTiming().BTR2() == 3);
}
SECTION("C API")
{
auto net = dbcppp_NetworkLoadDBCFromMemory(test_dbc);
REQUIRE(net);

auto bt = dbcppp_NetworkBitTiming(net);
REQUIRE(bt);
REQUIRE(dbcppp_BitTimingBaudrate(bt) == 1);
REQUIRE(dbcppp_BitTimingBTR1(bt) == 2);
REQUIRE(dbcppp_BitTimingBTR2(bt) == 3);
}
}
TEST_CASE("API Test: EnvironmentVariable", "[]")
{
constexpr char* test_dbc =
"VERSION \"\"\n"
"NS_ :\n"
"BS_:\n"
"BU_:\n"
"EV_ EnvVarName : 0 [1|2] \"Unit\" 5.5 1 DUMMY_NODE_VECTOR0 Node0;\n"
"CM_ EV_ EnvVarName \"Comment\";\n";

SECTION("CPP API")
{
std::istringstream iss(test_dbc);
auto net = INetwork::LoadDBCFromIs(iss);
REQUIRE(net);

REQUIRE(net->EnvironmentVariables_Size() == 1);
REQUIRE(net->EnvironmentVariables_Get(0).Name() == "EnvVarName");
REQUIRE(net->EnvironmentVariables_Get(0).VarType() == IEnvironmentVariable::EVarType::Integer);
REQUIRE(net->EnvironmentVariables_Get(0).Minimum() == 1);
REQUIRE(net->EnvironmentVariables_Get(0).Maximum() == 2);
REQUIRE(net->EnvironmentVariables_Get(0).Unit() == "Unit");
REQUIRE(net->EnvironmentVariables_Get(0).InitialValue() == 5.5);
REQUIRE(net->EnvironmentVariables_Get(0).EvId() == 1);
REQUIRE(net->EnvironmentVariables_Get(0).AccessType() == IEnvironmentVariable::EAccessType::Unrestricted);
REQUIRE(net->EnvironmentVariables_Get(0).AccessNodes_Size() == 1);
REQUIRE(net->EnvironmentVariables_Get(0).AccessNodes_Get(0) == "Node0");
}
SECTION("C API")
{
auto net = dbcppp_NetworkLoadDBCFromMemory(test_dbc);
REQUIRE(net);

REQUIRE(dbcppp_NetworkEnvironmentVariables_Size(net) == 1);
auto ev = dbcppp_NetworkEnvironmentVariables_Get(net, 0);
REQUIRE(ev);
REQUIRE(dbcppp_EnvironmentVariableName(ev) == std::string("EnvVarName"));
REQUIRE(dbcppp_EnvironmentVariableVarType(ev) == dbcppp_EnvironmentVariableVarTypeInteger);
REQUIRE(dbcppp_EnvironmentVariableMinimum(ev) == 1);
REQUIRE(dbcppp_EnvironmentVariableMaximum(ev) == 2);
REQUIRE(dbcppp_EnvironmentVariableUnit(ev) == std::string("Unit"));
REQUIRE(dbcppp_EnvironmentVariableInitialValue(ev) == 5.5);
REQUIRE(dbcppp_EnvironmentVariableEvId(ev) == 1);
REQUIRE(dbcppp_EnvironmentVariableAccessType(ev) == dbcppp_EnvironmentVariableAccessTypeUnrestricted);
REQUIRE(dbcppp_EnvironmentVariableAccessNodes_Size(ev) == 1);
REQUIRE(dbcppp_EnvironmentVariableAccessNodes_Get(ev, 0) == std::string("Node0"));
}
}
TEST_CASE("API Test: Signal", "[]")
{
constexpr char* test_dbc =
"VERSION \"\"\n"
"NS_ :\n"
"BS_: 1 : 2, 3\n"
"BU_:\n"
"BO_ 1 Msg0: 8 Sender0\n"
" SG_ Sig0: 0|1@1+ (1,0) [1|12] \"Unit0\" Vector__XXX\n"
" SG_ Sig1 m0 : 1|1@0- (1,0) [1|12] \"Unit1\" Recv0, Recv1\n"
" SG_ Sig2 M : 2|1@0- (1,0) [1|12] \"Unit2\" Recv0, Recv1\n";

SECTION("CPP API")
{
std::istringstream iss(test_dbc);
auto net = INetwork::LoadDBCFromIs(iss);
REQUIRE(net);

REQUIRE(net->Messages_Size() == 1);
REQUIRE(net->Messages_Get(0).Signals_Size() == 3);
REQUIRE(net->Messages_Get(0).Signals_Get(0).Name() == "Sig0");
REQUIRE(net->Messages_Get(0).Signals_Get(0).MultiplexerIndicator() == ISignal::EMultiplexer::NoMux);
REQUIRE(net->Messages_Get(0).Signals_Get(0).StartBit() == 0);
REQUIRE(net->Messages_Get(0).Signals_Get(0).BitSize() == 1);
REQUIRE(net->Messages_Get(0).Signals_Get(0).ByteOrder() == ISignal::EByteOrder::LittleEndian);
REQUIRE(net->Messages_Get(0).Signals_Get(0).ValueType() == ISignal::EValueType::Unsigned);
REQUIRE(net->Messages_Get(0).Signals_Get(0).Factor() == 1);
REQUIRE(net->Messages_Get(0).Signals_Get(0).Offset() == 0);
REQUIRE(net->Messages_Get(0).Signals_Get(0).Minimum() == 1);
REQUIRE(net->Messages_Get(0).Signals_Get(0).Maximum() == 12);
REQUIRE(net->Messages_Get(0).Signals_Get(0).Unit() == "Unit0");
REQUIRE(net->Messages_Get(0).Signals_Get(0).Receivers_Size() == 1);
REQUIRE(net->Messages_Get(0).Signals_Get(0).Receivers_Get(0) == "Vector__XXX");

REQUIRE(net->Messages_Get(0).Signals_Get(1).Name() == "Sig1");
REQUIRE(net->Messages_Get(0).Signals_Get(1).MultiplexerIndicator() == ISignal::EMultiplexer::MuxValue);
REQUIRE(net->Messages_Get(0).Signals_Get(1).StartBit() == 1);
REQUIRE(net->Messages_Get(0).Signals_Get(1).BitSize() == 1);
REQUIRE(net->Messages_Get(0).Signals_Get(1).ByteOrder() == ISignal::EByteOrder::BigEndian);
REQUIRE(net->Messages_Get(0).Signals_Get(1).ValueType() == ISignal::EValueType::Signed);
REQUIRE(net->Messages_Get(0).Signals_Get(1).Factor() == 1);
REQUIRE(net->Messages_Get(0).Signals_Get(1).Offset() == 0);
REQUIRE(net->Messages_Get(0).Signals_Get(1).Minimum() == 1);
REQUIRE(net->Messages_Get(0).Signals_Get(1).Maximum() == 12);
REQUIRE(net->Messages_Get(0).Signals_Get(1).Unit() == "Unit1");
REQUIRE(net->Messages_Get(0).Signals_Get(1).Receivers_Size() == 2);
REQUIRE(net->Messages_Get(0).Signals_Get(1).Receivers_Get(0) == "Recv0");
REQUIRE(net->Messages_Get(0).Signals_Get(1).Receivers_Get(1) == "Recv1");

REQUIRE(net->Messages_Get(0).Signals_Get(2).Name() == "Sig2");
REQUIRE(net->Messages_Get(0).Signals_Get(2).MultiplexerIndicator() == ISignal::EMultiplexer::MuxSwitch);
REQUIRE(net->Messages_Get(0).Signals_Get(2).StartBit() == 2);
REQUIRE(net->Messages_Get(0).Signals_Get(2).BitSize() == 1);
REQUIRE(net->Messages_Get(0).Signals_Get(2).ByteOrder() == ISignal::EByteOrder::BigEndian);
REQUIRE(net->Messages_Get(0).Signals_Get(2).ValueType() == ISignal::EValueType::Signed);
REQUIRE(net->Messages_Get(0).Signals_Get(2).Factor() == 1);
REQUIRE(net->Messages_Get(0).Signals_Get(2).Offset() == 0);
REQUIRE(net->Messages_Get(0).Signals_Get(2).Minimum() == 1);
REQUIRE(net->Messages_Get(0).Signals_Get(2).Maximum() == 12);
REQUIRE(net->Messages_Get(0).Signals_Get(2).Unit() == "Unit2");
REQUIRE(net->Messages_Get(0).Signals_Get(2).Receivers_Size() == 2);
REQUIRE(net->Messages_Get(0).Signals_Get(2).Receivers_Get(0) == "Recv0");
REQUIRE(net->Messages_Get(0).Signals_Get(2).Receivers_Get(1) == "Recv1");
}
SECTION("C API")
{
auto net = dbcppp_NetworkLoadDBCFromMemory(test_dbc);
REQUIRE(net);

REQUIRE(dbcppp_NetworkMessages_Size(net) == 1);
auto msg = dbcppp_NetworkMessages_Get(net, 0);
REQUIRE(msg);
REQUIRE(dbcppp_MessageSignals_Size(msg) == 3);
auto sig = dbcppp_MessageSignals_Get(msg, 0);
REQUIRE(sig);
REQUIRE(dbcppp_SignalName(sig) == std::string("Sig0"));
REQUIRE(dbcppp_SignalMultiplexerIndicator(sig) == dbcppp_SignalMultiplexerNoMux);
REQUIRE(dbcppp_SignalStartBit(sig) == 0);
REQUIRE(dbcppp_SignalBitSize(sig) == 1);
REQUIRE(dbcppp_SignalByteOrder(sig) == dbcppp_SignalByteOrderLittleEndian);
REQUIRE(dbcppp_SignalValueType(sig) == dbcppp_SignalValueTypeUnsigned);
REQUIRE(dbcppp_SignalFactor(sig) == 1);
REQUIRE(dbcppp_SignalOffset(sig) == 0);
REQUIRE(dbcppp_SignalMinimum(sig) == 1);
REQUIRE(dbcppp_SignalMaximum(sig) == 12);
REQUIRE(dbcppp_SignalReceivers_Size(sig) == 1);
REQUIRE(dbcppp_SignalReceivers_Get(sig, 0) == std::string("Vector__XXX"));
}
}
TEST_CASE("API Test: Message", "[]")
{
constexpr char* test_dbc =
"VERSION \"\"\n"
"NS_ :\n"
"BS_: 1 : 2, 3\n"
"BU_:\n"
"BO_ 1 Msg0: 8 Sender0\n"
" SG_ Sig0: 0|1@1+ (1,0) [1|12] \"Unit0\" Vector__XXX\n"
" SG_ Sig1 m0 : 1|1@0- (1,0) [1|12] \"Unit1\" Recv0, Recv1\n"
" SG_ Sig2 M : 2|1@0- (1,0) [1|12] \"Unit2\" Recv0, Recv1\n";

SECTION("CPP API")
{
std::istringstream iss(test_dbc);
auto net = INetwork::LoadDBCFromIs(iss);
REQUIRE(net);

REQUIRE(net->Messages_Size() == 1);
REQUIRE(net->Messages_Get(0).Id() == 1);
REQUIRE(net->Messages_Get(0).MessageSize() == 8);
REQUIRE(net->Messages_Get(0).Transmitter() == "Sender0");
REQUIRE(net->Messages_Get(0).Signals_Size() == 3);
}
SECTION("C API")
{
auto net = dbcppp_NetworkLoadDBCFromMemory(test_dbc);
REQUIRE(net);

REQUIRE(dbcppp_NetworkMessages_Size(net) == 1);
auto msg = dbcppp_NetworkMessages_Get(net, 0);
REQUIRE(msg);
REQUIRE(dbcppp_MessageSignals_Size(msg) == 3);
}
}
Loading

0 comments on commit 53f547d

Please sign in to comment.