72 lines
2.0 KiB
C++
72 lines
2.0 KiB
C++
|
|
#include "SimCore/EffectorData.hpp"
|
|
#include "SimCore/Identifier.hpp"
|
|
#include "SimCore/SimCore.hpp"
|
|
#include "WHISPER/Messages/Message.hpp"
|
|
#define CATCH_CONFIG_MAIN
|
|
#include <catch2/catch.hpp>
|
|
|
|
#include <string>
|
|
|
|
#include <SimCore/Messages/SystemStateUpdate.hpp>
|
|
|
|
|
|
SCENARIO("Testing the SimCore Sensor")
|
|
{
|
|
GIVEN("different Attributes for a Track in different forms")
|
|
{
|
|
|
|
SimCore::Identifier OwnID;
|
|
|
|
SimCore::SystemStateUpdate update(OwnID);
|
|
|
|
SimCore::Identifier Idsensor1;
|
|
std::string NameSensor1 = "TRS3D";
|
|
SimCore::SensorData sensor1(Idsensor1,NameSensor1);
|
|
sensor1.SensorKind.setValue(SimCore::SensorKinds::RADAR);
|
|
sensor1.Range.setValue(120000);
|
|
sensor1.Status.setValue(SimCore::Status::ACTIVE);
|
|
update.addSensorData(sensor1);
|
|
|
|
|
|
SimCore::Identifier Idsensor2;
|
|
std::string NameSensor2 = "Smart-S";
|
|
SimCore::SensorData sensor2(Idsensor2,NameSensor2);
|
|
sensor1.SensorKind.setValue(SimCore::SensorKinds::RADAR);
|
|
sensor1.Range.setValue(90000);
|
|
sensor1.Status.setValue(SimCore::Status::OFF);
|
|
update.addSensorData(sensor1);
|
|
|
|
SimCore::Identifier Ideffector1;
|
|
std::string NameEffector1 = "MLG";
|
|
|
|
SimCore::EffectorData effector1(Ideffector1,NameEffector1);
|
|
update.addEffectorData(effector1);
|
|
|
|
|
|
|
|
|
|
auto msg = update.buildMessage().serialize();
|
|
|
|
auto resMess = WHISPER::Message(msg);
|
|
auto resUpdate = SimCore::SystemStateUpdate::unpack(resMess);
|
|
WHEN("constructing Track Object with data")
|
|
{
|
|
|
|
THEN("check if Track attributes are correct")
|
|
{
|
|
REQUIRE(resMess.msgType_ == WHISPER::MsgType::SYSTEMSTATE_UPDATE);
|
|
REQUIRE(resUpdate->getOwnID() == OwnID);
|
|
REQUIRE(resUpdate->getSensorData().size() == 2);
|
|
REQUIRE(resUpdate->getEffectorData().size() == 1);
|
|
REQUIRE(resUpdate->getEffectorData()[0].EffectorID == effector1.EffectorID);
|
|
REQUIRE(resUpdate->getEffectorData()[0].Name.getValue() == NameEffector1);
|
|
|
|
|
|
|
|
|
|
|
|
} //THEN
|
|
} // WHEN
|
|
} // GIVEN
|
|
} //SCENARIO
|