#include "SimControl/TrackItem.hpp" #include "SimControl/Tracklist.hpp" #include "SimCore/Identifier.hpp" #include "SimCore/Messages/SimTrack.hpp" #include "SimCore/Position.hpp" #include "SimCore/SimCore.hpp" #include #include #include #include #include #define CATCH_CONFIG_MAIN #include "SimControl/PodList.hpp" #include #include #include "string.cpp" void createScenario(SimControl::TrackList *list,std::vector *ids) { GeographicLib::Geodesic geod(GeographicLib::Constants::WGS84_a(), GeographicLib::Constants::WGS84_f()); double lat = 54, lon = 1; int counter = 0; double distance = 10000; int rasterSize = 5; for (int i = 0; i < rasterSize; i++ ) { double lonTmp = lon; for (int a = 0; a < rasterSize; a++) { std::string name = "test"; name += std::to_string(counter); double lat2, lon2; geod.Direct(lat, lonTmp, 90, distance, lat2, lon2); SimCore::Identifier id; ids->push_back(id.getUUID()); SimCore::Position pos; pos.setGeodesicPos(lat2, lon2, 0); auto track = std::make_shared(id,name,SimCore::Kind::EntityKind::SURFACE,SimCore::Side::NEUTRAL); track->setPosition(pos); list->addTrack(std::make_shared(*track)); // SimControl::startNewShip(name, std::to_string(lat2), std::to_string(lon2), "0", "0", "0"); lonTmp = lon2; counter ++; } double lat2, lon2; geod.Direct(lat, lon, 0, distance, lat2, lon2); lat = lat2; } } SCENARIO("Testing the the podlist") { std::vector ids; SimControl::TrackList list; createScenario(&list,&ids); auto track = list.getTrackBySringID(ids[3]); // list.deleteTrack(track->getIdentifier()); // list.addTrack(track); // std::this_thread::sleep_for(std::chrono::milliseconds(300)); GIVEN("different Attributes for a Track in different forms") { WHEN("constructing Track Object with data") { THEN("check if Track attributes are correct") { REQUIRE(ids.size() == 25); REQUIRE(list.getTracklistSize() == 25); list.deleteTrack(track->getIdentifier()); list.addTrack(std::make_shared(*track)); // REQUIRE(list.getTracklistSize() == 24); std::this_thread::sleep_for(std::chrono::milliseconds(7500)); LOG_S(INFO)<<"add saved track"; list.addTrack(std::make_shared(*track)); LOG_S(INFO)<<"added saved track"; REQUIRE(list.getTracklistSize() == 1); } //THEN } // WHEN } // GIVEN } //SCENARIO