23 lines
655 B
C++
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);
|
|
}
|