From f4c7d8dec25c69df6ccafd729cbaa8e7c80e3591 Mon Sep 17 00:00:00 2001 From: Henry Winkel Date: Thu, 12 Jan 2023 21:41:18 +0100 Subject: [PATCH] FIX: fixed message building for the track class --- include/SimCore/Messages/Track.hpp | 2 +- src/SimCore/Messages/Track.cpp | 8 +++++--- tests/test_TrackClass.cpp | 7 ++++++- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/include/SimCore/Messages/Track.hpp b/include/SimCore/Messages/Track.hpp index c9ad4bc..b2edcd9 100644 --- a/include/SimCore/Messages/Track.hpp +++ b/include/SimCore/Messages/Track.hpp @@ -106,7 +106,7 @@ namespace SimCore { /// return true if is external bool isExternal(); - std::shared_ptr getIdentifier(); + SimCore::Identifier getIdentifier(); diff --git a/src/SimCore/Messages/Track.cpp b/src/SimCore/Messages/Track.cpp index 4fc2b67..ecd4012 100644 --- a/src/SimCore/Messages/Track.cpp +++ b/src/SimCore/Messages/Track.cpp @@ -62,7 +62,9 @@ namespace SimCore { void Track::packToMessage() { - + trackMessage_.mutable_entityidentifier()->set_number(ID_.getNumber()); + trackMessage_.mutable_entityidentifier()->set_external(ID_.isExternal()); + trackMessage_.mutable_geocentricposition()->set_x(position_.getGeocentricPos()(SimCore::X)); trackMessage_.mutable_geocentricposition()->set_y(position_.getGeocentricPos()(SimCore::Y)); @@ -151,9 +153,9 @@ namespace SimCore { return external_; } - std::shared_ptr Track::getIdentifier() + SimCore::Identifier Track::getIdentifier() { - return std::make_shared(std::move(ID_)); + return ID_; } diff --git a/tests/test_TrackClass.cpp b/tests/test_TrackClass.cpp index ce8f336..182c627 100644 --- a/tests/test_TrackClass.cpp +++ b/tests/test_TrackClass.cpp @@ -54,6 +54,10 @@ SCENARIO("Testing the SimCore Track") trackPtr = std::make_shared(serializedMSG); } + std::string trackstring = track.serialize(); + + SimCore::Track trackDeserialized(trackstring); + THEN("check if Track attributes are correct") { @@ -66,7 +70,8 @@ SCENARIO("Testing the SimCore Track") REQUIRE(msg.get()->msgType_ == WHISPER::RAW_TRACK); REQUIRE(trackPtr->getSpeed() == speed); REQUIRE(trackPtr->getPostion().getGeocentricPos() == GeocentPos1); - REQUIRE(trackPtr->getIdentifier()->getNumber() > 0); + REQUIRE(trackPtr->getIdentifier().getNumber() > 0); + REQUIRE(trackDeserialized.getIdentifier().getNumber() > 0);