#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