#include #include #include struct SomeComponent { static constexpr utempl::ConstexprString kName = "some"; constexpr SomeComponent(auto&) {}; }; struct SomeOtherComponent { SomeComponent& component; static constexpr utempl::ConstexprString kName = "other"; constexpr SomeOtherComponent(auto& context) : component(context.template FindComponent<"some">()) { }; }; TEST(Dependencies, Get) { constexpr auto dependencies = cserver::ServiceContextBuilder{} .Append() .Append() .AppendConfigParam<"threads", 8>() .Sort() .GetDependencyGraph(); using Need = const cserver::DependencyGraph< cserver::DependencyGraphElement< "some", {}>, cserver::DependencyGraphElement< "other", {utempl::ConstexprString{"some"}}>>; EXPECT_EQ(boost::typeindex::type_id().pretty_name(), boost::typeindex::type_id().pretty_name()); };