diff --git a/CMakeLists.txt b/CMakeLists.txt index 484bf07..cc47701 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -120,10 +120,6 @@ IF (${TEST_SIMCORE_LIBRARY}) catch_discover_tests(test_SimTrack) - add_executable(test_RadarTrackClass tests/test_RadarTrackClass.cpp) - target_link_libraries(test_RadarTrackClass Catch2::Catch2 SimCore loguru) - catch_discover_tests(test_RadarTrackClass) - add_executable(test_SafeMap tests/test_SafeMap.cpp) target_link_libraries(test_SafeMap Catch2::Catch2 SimCore loguru) catch_discover_tests(test_SafeMap) @@ -141,10 +137,7 @@ IF (${TEST_SIMCORE_LIBRARY}) target_link_libraries(test_UtilFunctions Catch2::Catch2 SimCore loguru) catch_discover_tests(test_UtilFunctions) - add_executable(test_Trackstore tests/test_Trackstore.cpp) - target_link_libraries(test_Trackstore Catch2::Catch2 SimCore loguru) - catch_discover_tests(test_Trackstore) - + add_executable(test_DataClass tests/test_DataClass.cpp) target_link_libraries(test_DataClass Catch2::Catch2 SimCore loguru) catch_discover_tests(test_DataClass) diff --git a/src/SimCore/Identifier.cpp b/src/SimCore/Identifier.cpp index 5b8dd97..222e18f 100644 --- a/src/SimCore/Identifier.cpp +++ b/src/SimCore/Identifier.cpp @@ -16,8 +16,9 @@ namespace SimCore { {} -Identifier::Identifier(xg::Guid uuid,bool external ):uuid_(uuid.str()),external_(external) +Identifier::Identifier(xg::Guid uuid,bool external ):external_(external) { + this->uuid_ = uuid.str(); } diff --git a/src/SimCore/Messages/SimTrack.cpp b/src/SimCore/Messages/SimTrack.cpp index 3a28508..b220c70 100644 --- a/src/SimCore/Messages/SimTrack.cpp +++ b/src/SimCore/Messages/SimTrack.cpp @@ -152,7 +152,7 @@ namespace SimCore m.payload().UnpackTo(&trackMsg); } - SimCore::Identifier id(trackMsg.mutable_entityidentifier()); + SimCore::Identifier id(*trackMsg.mutable_entityidentifier()); WHISPER::SourceType sourcetype = (WHISPER::SourceType)trackMsg.contactsourcetype(); diff --git a/tests/test_GroundTruthTrackClass.cpp b/tests/test_GroundTruthTrackClass.cpp index ca83e80..9acc924 100644 --- a/tests/test_GroundTruthTrackClass.cpp +++ b/tests/test_GroundTruthTrackClass.cpp @@ -1,6 +1,6 @@ #include "SimCore/Identifier.hpp" #include "SimCore/IdentifierMaker.hpp" -#include +#include "SimCore/Messages/SimTrack.hpp" #include #include #include @@ -31,8 +31,7 @@ SCENARIO("Testing the SimCore Track") std::shared_ptr msg = NULL; - std::shared_ptr trackPtr = NULL; - SimCore::Identifier parentID(0,1,false); + std::shared_ptr trackPtr = NULL; SimCore::IdentifierMaker IDMaker; auto ID = IDMaker.getNewIdentifier(1,SimCore::ObjectSource::EXTERNAL); @@ -42,40 +41,37 @@ SCENARIO("Testing the SimCore Track") WHEN("constructing Track Object with data") { SimCore::Position pos( GeocentPos1(SimCore::GeocentricPosition::X), GeocentPos1(SimCore::GeocentricPosition::Y), GeocentPos1(SimCore::GeocentricPosition::Z)); - SimCore::GroundTruthTrack track(WHISPER::SourceType::SHIP,*ID.get(),SimCore::TrackKind::GROUND_TRUTH_TRACK); - track.setCourse(course); - track.setSpeed(speed); + SimCore::SimTrack track("TEST",SimCore::Kind::SURFACE,SimCore::Side::FRIEND); + track.Course.setValue(course); + track.Speed.setValue(speed); track.setPosition(GeocentPos1(SimCore::X),GeocentPos1(SimCore::Y),GeocentPos1(SimCore::Z)); - if (track.getPostion() == pos) { + if (track.getPosition() == pos) { testOperator = true; } - serializedMSG = track.buildMessage(parentID).serialize(); + serializedMSG = track.buildMessage().serialize(); msg = std::make_shared(serializedMSG); if (msg.get()->msgType_ == WHISPER::GROUND_TRUTH_TRACK) { - trackPtr = std::make_shared(std::move(SimCore::GroundTruthTrack::unpack(*msg))); + trackPtr = std::make_shared(std::move(SimCore::SimTrack::unpack(*msg))); } - std::string trackstring = track.buildMessage(parentID).serialize(); + std::string trackstring = track.buildMessage().serialize(); - SimCore::GroundTruthTrack trackDeserialized = SimCore::GroundTruthTrack::unpack(*msg); + SimCore::SimTrack trackDeserialized = SimCore::SimTrack::unpack(*msg); THEN("check if Track attributes are correct") { REQUIRE(testOperator == true); - REQUIRE(track.getCourse() == course); - REQUIRE(track.getSpeed() == speed); - REQUIRE(track.getSpeedinKnots() == knots); - REQUIRE(track.getPostion().getGeocentricPos() == pos.getGeocentricPos()); + REQUIRE(track.Course.getValue() == course); + REQUIRE(track.Speed.getValue() == speed); + REQUIRE(track.getPosition().getGeocentricPos() == pos.getGeocentricPos()); REQUIRE(msg.get()->msgType_ == WHISPER::GROUND_TRUTH_TRACK); - REQUIRE(trackPtr->getSpeed() == speed); - REQUIRE(trackPtr->getPostion().getGeocentricPos() == GeocentPos1); - REQUIRE(trackPtr->getIdentifier().getNumber() > 0); - REQUIRE(trackDeserialized.getIdentifier().getNumber() > 0); + REQUIRE(trackPtr->Speed.getValue() == speed); + REQUIRE(trackPtr->getPosition().getGeocentricPos() == GeocentPos1); diff --git a/tests/test_IdentifierClass.cpp b/tests/test_IdentifierClass.cpp index 57355b8..fbeafa4 100644 --- a/tests/test_IdentifierClass.cpp +++ b/tests/test_IdentifierClass.cpp @@ -12,9 +12,9 @@ SCENARIO("Testing the SimCorePositionClass") { SimCore::Identifier ID1(true); - SimCore::Identifier ID2(); - SimCore::Identifier ID3(); - SimCore::Identifier ID4(); + SimCore::Identifier ID2; + SimCore::Identifier ID3; + SimCore::Identifier ID4; WHEN("constructing Position Object with data") @@ -25,7 +25,7 @@ SCENARIO("Testing the SimCorePositionClass") THEN("positions attributes are correct") { - REQUIRE(ID1.isValid() == 100); + REQUIRE(ID1.isValid() == true); REQUIRE(ID1.isExternal() == true); REQUIRE(ID1 != ID2); diff --git a/tests/test_IdentifierList.cpp b/tests/test_IdentifierList.cpp index c774711..24fe806 100644 --- a/tests/test_IdentifierList.cpp +++ b/tests/test_IdentifierList.cpp @@ -14,12 +14,12 @@ SCENARIO("Testing the SimCorePositionClass") { SimCore::IdentifierMaker IDList; - auto ID1 = IDList.getNewIdentifier(1,SimCore::EXTERNAL); - auto ID2 = IDList.getNewIdentifier(1,SimCore::EXTERNAL); - auto ID3 = IDList.getNewIdentifier(1,SimCore::EXTERNAL); + auto ID1 = IDList.getNewIdentifier(SimCore::EXTERNAL); + auto ID2 = IDList.getNewIdentifier(SimCore::EXTERNAL); + auto ID3 = IDList.getNewIdentifier(SimCore::EXTERNAL); - auto ID4 = IDList.getNewIdentifier(0,SimCore::INTERNAL); - auto ID5 = std::make_shared(0,100, SimCore::EXTERNAL); + auto ID4 = IDList.getNewIdentifier(SimCore::INTERNAL); + auto ID5 = std::make_shared(SimCore::EXTERNAL); WHEN("constructing Position Object with data") { diff --git a/tests/test_RadarTrackClass.cpp b/tests/test_RadarTrackClass.cpp deleted file mode 100644 index ecc21e5..0000000 --- a/tests/test_RadarTrackClass.cpp +++ /dev/null @@ -1,70 +0,0 @@ -#include "SimCore/Identifier.hpp" -#include "SimCore/IdentifierMaker.hpp" -#include "SimCore/Messages/RadarTrack.hpp" -#include -#include -#include -#include -#define CATCH_CONFIG_MAIN -#include -#include - -SCENARIO("Testing the SimCore Track") { - GIVEN("different Attributes for a Track in different forms") { - SimCore::Identifier ParentID(0,1,false); - Eigen::Vector3d GeocentPos1; - GeocentPos1(SimCore::GeocentricPosition::X) = 3784014.333; - GeocentPos1(SimCore::GeocentricPosition::Y) = 899869.779; - GeocentPos1(SimCore::GeocentricPosition::Z) = 5037960.502; - - SimCore::Position pos(3784014.333, 899869.779, 5037960.502); - - std::shared_ptr - msg = NULL; - - SimCore::IdentifierMaker IDMaker; - std::shared_ptr ID = - IDMaker.getNewIdentifier(ParentID.getNumber(),SimCore::ObjectSource::INTERNAL); - LOG_S(INFO)<<"ID: " << ID->getNumber(); - - std::shared_ptr RadartrackPtr = - std::make_shared( WHISPER::SourceType::SENSOR, *ID.get()); - - RadartrackPtr->setPosition(pos); - RadartrackPtr->setBearing(90); - RadartrackPtr->setCourse(360); - RadartrackPtr->setRange(1000); - RadartrackPtr->setEnvironment(SimCore::EntityKind::SURFACE); - - bool isEqual = false; - WHEN("constructing Track Object with data") { - - std::string serializedMSG = RadartrackPtr->buildMessage(ParentID).serialize(); - - // SimCore::RadarTrack radarTrack2(serializedMSG); - - // SimCore::Identifier ID1(radarTrack2.getID()); - - // auto tr0 = *RadartrackPtr.get(); - // SimCore::Identifier ID2(tr0.getID()); - - // LOG_S(INFO)<<"ID21 source: " << ID1.isExternal(); - - // LOG_S(INFO)<<"ID2 source: " << ID2.isExternal(); - - // if (ID1 == ID2) { - // isEqual = true; - // } - - - THEN("check if Track attributes are correct") { - // REQUIRE(RadartrackPtr->getID().getNumber() == 1); - // REQUIRE(isEqual == true); - // REQUIRE(radarTrack2.getID() == RadartrackPtr->getID()); - // REQUIRE(radarTrack2.getID().getNumber() == RadartrackPtr->getID().getNumber()); - // REQUIRE(radarTrack2.getPostion().getGeocentricPos() == RadartrackPtr->getPostion().getGeocentricPos()); - - } // THEN - } // WHEN - } // GIVEN -} // SCENARIO \ No newline at end of file diff --git a/tests/test_SimTrack.cpp b/tests/test_SimTrack.cpp index aac6feb..cd9b82d 100644 --- a/tests/test_SimTrack.cpp +++ b/tests/test_SimTrack.cpp @@ -15,7 +15,6 @@ SCENARIO("Testing the SimCore Track") { GIVEN("different Attributes for a Track in different forms") { - auto OwnID = SimCore::Identifier(); Eigen::Vector3d GeocentPos1; GeocentPos1(SimCore::GeocentricPosition::X) = 3784014.333; @@ -44,7 +43,7 @@ SCENARIO("Testing the SimCore Track") WHEN("constructing Track Object with data") { SimCore::Position pos( GeocentPos1(SimCore::GeocentricPosition::X), GeocentPos1(SimCore::GeocentricPosition::Y), GeocentPos1(SimCore::GeocentricPosition::Z)); - SimCore::SimTrack track(WHISPER::SourceType::SHIP,SimCore::EntityKind::LAND); + SimCore::SimTrack track("TEST",SimCore::Kind::EntityKind::LAND, SimCore::Side::FRIEND); track.Speed.setValue(speed); track.Course.setValue(course); track.setPosition(pos1); @@ -57,16 +56,18 @@ SCENARIO("Testing the SimCore Track") track.addEmission(emi1); - serializedMSG = track.buildMessage(OwnID).serialize(); + serializedMSG = track.buildMessage().serialize(); msg = std::make_shared(serializedMSG); - if (msg.get()->msgType_ == WHISPER::GROUND_TRUTH_TRACK) { + if (msg.get()->msgType_ == WHISPER::SIM_TRACK) { LOG_S(INFO)<< msg.get()->topic_; trackPtr = std::make_shared(std::move(SimCore::SimTrack::unpack(*msg))); } + auto tmp = SimCore::SimTrack::unpack(serializedMSG); + // std::string trackstring = track.buildMessage(parentID).serialize(); SimCore::SimTrack trackDeserialized = SimCore::SimTrack::unpack(*msg); @@ -77,6 +78,8 @@ SCENARIO("Testing the SimCore Track") THEN("check if Track attributes are correct") { + REQUIRE(tmp->getIdentifier().getUUID() == track.getIdentifier().getUUID()); + REQUIRE(testOperator == true); REQUIRE(track.Course.getValue() == course); REQUIRE(track.Speed.getValue() == speed); @@ -84,7 +87,7 @@ SCENARIO("Testing the SimCore Track") REQUIRE(track.coutEmissions() > 0); REQUIRE(track.getEmission(emi1.getID()).get()->getID() == idEmi); - // REQUIRE(msg.get()->msgType_ == WHISPER::GROUND_TRUTH_TRACK); + REQUIRE(msg.get()->msgType_ == WHISPER::SIM_TRACK); REQUIRE(trackPtr->Speed.getValue() == speed); REQUIRE(trackPtr->getPosition().getGeocentricPos() == GeocentPos1); diff --git a/tests/test_Trackstore.cpp b/tests/test_Trackstore.cpp deleted file mode 100644 index 9e07492..0000000 --- a/tests/test_Trackstore.cpp +++ /dev/null @@ -1,78 +0,0 @@ - -#include "SimCore/Identifier.hpp" -#include "SimCore/IdentifierMaker.hpp" -#include "SimCore/Messages/GroundThruthTrack.hpp" -#include "SimCore/Messages/SensorTrack.hpp" -#include "SimCore/Messages/Track.hpp" -#include "SimCore/SimCore.hpp" -#include "WHISPER/Messages/Message.hpp" -#include -#include -#include -#define CATCH_CONFIG_MAIN -#include -#include -#include - - - - - -SCENARIO("Testing the SimCore Track") -{ - GIVEN("different Attributes for a Track in different forms") - { - - std::vector> trackstore; - - SimCore::Identifier parentID(0,1,false); - - - SimCore::IdentifierMaker IDMaker; - auto ID1 = IDMaker.getNewIdentifier(1, SimCore::ObjectSource::INTERNAL); - auto ID2 = IDMaker.getNewIdentifier(1, SimCore::ObjectSource::INTERNAL); - - auto track = std::make_shared(WHISPER::SourceType::SENSOR,*ID1.get()); - track->setSpeed(100); - - trackstore.push_back(track); - - auto track2 = std::make_shared(WHISPER::SourceType::SENSOR,*ID2,SimCore::TrackKind::OWN_TRACK); - track2->setSpeed(50); - trackstore.push_back(track2); - - auto receivedTrack1 = trackstore[0]; - auto receivedTrack2 = trackstore[1]; - - - WHEN("constructing Track Object with data") - { - // auto rev = list.front(); - // LOG_S(INFO)<msgType_; - // // auto track2 = dynamic_pointer_cast(rev); - - - THEN("check if Track attributes are correct") - { - REQUIRE(trackstore.size() == 2); - - REQUIRE(receivedTrack1->getTrackkind() == SimCore::TrackKind::RADAR_TRACK); - - if (receivedTrack1->getTrackkind() == SimCore::TrackKind::RADAR_TRACK) { - auto radarTrackRecv1 = std::dynamic_pointer_cast(receivedTrack1); - REQUIRE(radarTrackRecv1->getSpeed() == 100); - - } - - REQUIRE(receivedTrack2->getTrackkind() == SimCore::TrackKind::OWN_TRACK); - // REQUIRE(track12->getSpeed() == 100); - - - - - - - } //THEN - } // WHEN - } // GIVEN -} //SCENARIO \ No newline at end of file