ADD: added Identifier class and Identifier Maker and storrage service plus tests

This commit is contained in:
Henry Winkel
2023-01-09 21:26:04 +01:00
parent e90a1fc396
commit 5597e85b83
12 changed files with 939 additions and 162 deletions

View File

@@ -0,0 +1,40 @@
#include "SimCore/Identifier.hpp"
#include <SimCore/SimCore.hpp>
#define CATCH_CONFIG_MAIN
#include <catch2/catch.hpp>
SCENARIO("Testing the SimCorePositionClass")
{
GIVEN("different position in different forms")
{
SimCore::Identifier ID1(100,SimCore::ObjectSource::EXTERNAL);
SimCore::Identifier ID2(100,SimCore::ObjectSource::EXTERNAL);
SimCore::Identifier ID3(100,SimCore::ObjectSource::INTERNAL);
SimCore::Identifier ID4(200,SimCore::ObjectSource::INTERNAL);
WHEN("constructing Position Object with data")
{
THEN("positions attributes are correct")
{
REQUIRE(ID1.getNumber() == 100);
REQUIRE(ID1.isExternal() == true);
REQUIRE(ID1.getPair().first == 100);
REQUIRE(ID1.getPair().second == true);
REQUIRE(ID1 == ID2);
REQUIRE(ID1 != ID3);
REQUIRE(ID4 != ID3);
} //THEN
} // WHEN
} // GIVEN
} //SCENARIO

View File

@@ -0,0 +1,48 @@
#include "SimCore/Identifier.hpp"
#include "SimCore/IdentifierMaker.hpp"
#include <SimCore/SimCore.hpp>
#include <memory>
#define CATCH_CONFIG_MAIN
#include <catch2/catch.hpp>
#include <loguru.hpp>
SCENARIO("Testing the SimCorePositionClass")
{
GIVEN("different position in different forms")
{
SimCore::IdentifierMaker IDList;
auto ID1 = IDList.getNewIdentifier(SimCore::EXTERNAL);
auto ID2 = IDList.getNewIdentifier(SimCore::EXTERNAL);
auto ID3 = IDList.getNewIdentifier(SimCore::EXTERNAL);
auto ID4 = IDList.getNewIdentifier(SimCore::INTERNAL);
auto ID5 = std::make_shared<SimCore::Identifier>(100, SimCore::EXTERNAL);
WHEN("constructing Position Object with data")
{
THEN("positions attributes are correct")
{
REQUIRE(ID1 != ID2);
REQUIRE(ID1 != ID3);
REQUIRE(ID2 != ID3);
REQUIRE(ID1 != ID4);
REQUIRE(IDList.isInList(ID4) == true);
REQUIRE(IDList.isInList(ID5) == false);
REQUIRE(IDList.size() > 3);
REQUIRE(IDList.size() == 4);
} //THEN
} // WHEN
} // GIVEN
} //SCENARIO