geopro/tests/controller/test_render_strategy_regist...

23 lines
655 B
C++

#include <gtest/gtest.h>
#include "controller/DatasetRenderStrategy.hpp"
using namespace geopro::controller;
namespace {
struct FakeStrategy : IDatasetRenderStrategy {
int added = 0;
void add(const std::string&, const std::string&) override { ++added; }
void remove(const std::string&) override {}
};
}
TEST(RenderStrategyRegistry, ResolvesById) {
RenderStrategyRegistry reg;
reg.registerStrategy("fake", std::make_unique<FakeStrategy>());
auto* s = reg.get("fake");
ASSERT_NE(s, nullptr);
s->add("trajectory", "d1");
EXPECT_EQ(static_cast<FakeStrategy*>(s)->added, 1);
EXPECT_EQ(reg.get("missing"), nullptr);
}