25 lines
891 B
C++
25 lines
891 B
C++
#include <gtest/gtest.h>
|
||
#include "IDatasetChartStrategy.hpp" // geopro::controller(控制器层)
|
||
using namespace geopro::controller;
|
||
namespace {
|
||
struct Fake : IDatasetChartStrategy {
|
||
std::string ddCode() const override { return "dd_inversion_data"; }
|
||
bool hasGridPhase() const override { return true; }
|
||
};
|
||
}
|
||
TEST(ChartStrategyRegistry, FindsRegisteredAndDegradesUnknown) {
|
||
ChartStrategyRegistry reg;
|
||
reg.add(std::make_unique<Fake>());
|
||
EXPECT_TRUE(reg.supports("dd_inversion_data"));
|
||
EXPECT_NE(reg.find("dd_inversion_data"), nullptr);
|
||
EXPECT_FALSE(reg.supports("dd_unknown"));
|
||
EXPECT_EQ(reg.find("dd_unknown"), nullptr);
|
||
}
|
||
TEST(ChartStrategyRegistry, ReportsHasGridPhase) {
|
||
ChartStrategyRegistry reg;
|
||
reg.add(std::make_unique<Fake>());
|
||
auto* s = reg.find("dd_inversion_data");
|
||
ASSERT_NE(s, nullptr);
|
||
EXPECT_TRUE(s->hasGridPhase());
|
||
}
|