#include "Entities/Tracklist/Tracklist.hpp" #include #include "SimCore/IdentifierMaker.hpp" #include "SimCore/Messages/SimTrack.hpp" #include "SimCore/Position.hpp" #include "WHISPER/Messages/Message.hpp" #include #include #include #include #define CATCH_CONFIG_MAIN #include #include SCENARIO("Testing the SimCore Sensor") { GIVEN("different Attributes for a Track in different forms") { TrackList::TrackList List; // List.setTrackTimeout(5000); double speed = 10; double course = 90; SimCore::Identifier id; auto track = std::make_shared(id,"Hamburg", SimCore::Kind::EntityKind::SURFACE,SimCore::Side::FRIEND); SimCore::Position pos; pos.setGeodesicPos(55, 8, 0); track->setPosition(pos); track->Speed.setValue(speed); track->Course.setValue(course); auto SensorTrack = std::make_shared(track); SimCore::SensorData Sensor1(SimCore::Identifier(),"ARPA","127.0.0.1", SimCore::SensorKinds::RADAR); SimCore::SensorData Sensor2(SimCore::Identifier(),"SMART","127.0.0.1", SimCore::SensorKinds::RADAR); WHEN("constructing Track Object with data") { List.addTrack(SensorTrack); THEN("check if Track attributes are correct") { REQUIRE(List.getSize() == 1); REQUIRE(List.getTrack(id)->getPosition().getGeocentricPos() == pos.getGeocentricPos()); REQUIRE(List.getTrack(id)->Speed.getValue() == speed); REQUIRE(List.getTrack(id)->Course.getValue() == course); // REQUIRE(List.getTrack(id)->getSensorCount() == 1); track->Course.setValue(270); List.addTrack(SensorTrack); // REQUIRE(List.getTrack(id)->Course.getValue() == 270); // REQUIRE(List.getTrack(id)->getSensorCount() == 2); std::this_thread::sleep_for(std::chrono::milliseconds(3000)); REQUIRE(List.getSize() == 1); // List.stopSanitizer(); } //THEN } // WHEN } // GIVEN } //SCENARIO