#include "SimCore/Identifier.hpp" #include "SimCore/Messages/SimTrack.hpp" #include "SimCore/Position.hpp" #define CATCH_CONFIG_MAIN #include #include #include SCENARIO("Testing the SimCore Sensor") { GIVEN("different Attributes for a Track in different forms") { SimCore::Identifier OwnID; SimCore::TracklistUpdate update(OwnID); SimCore::SimTrack track1; track1.Course.setValue(273); track1.Speed.setValue(11); track1.Pitch.setValue(45); SimCore::Position pos1; pos1.setGeodesicPos(55, 10, 0); track1.setPosition(pos1); update.addTrack(track1); WHEN("constructing Track Object with data") { auto msg = update.buildMessage().serialize(); auto resMess = WHISPER::Message(msg); auto resUpdate = SimCore::TracklistUpdate::unpack(resMess); THEN("check if Track attributes are correct") { REQUIRE(update.getOwnID() == OwnID); REQUIRE(update.getTracks().size() == 1); REQUIRE(resMess.msgType_ == WHISPER::MsgType::TRACKLIST_UPDATE); REQUIRE(resUpdate->getOwnID() == OwnID); REQUIRE(resUpdate->getTracks().size() == 1); REQUIRE(resUpdate->getTracks()[0].getIdentifier() == track1.getIdentifier()); REQUIRE(resUpdate->getTracks()[0].Course.getValue() == 273); REQUIRE(resUpdate->getTracks()[0].Speed.getValue() == 11); REQUIRE(resUpdate->getTracks()[0].Pitch.getValue() == 45); REQUIRE(resUpdate->getTracks()[0].getPosition() == pos1); } //THEN } // WHEN } // GIVEN } //SCENARIO