#include #include namespace { class Greeter { public: virtual std::string greet() = 0; }; fruit::Component getGreeterComponent(); class GreeterImpl : public Greeter { public: INJECT(GreeterImpl()) = default; std::string greet() override { return "Hello, world!"; } }; fruit::Component getGreeterComponent() { return fruit::createComponent().bind(); } } // namespace TEST(TestDeps, Fruit) { auto injector = fruit::Injector{getGreeterComponent}; ASSERT_NE(injector.get(), nullptr); }