#include <iostream>
#include <memory>
using MockConfigurationManagerInterface = int;
class SetupEnvironment {
public:
SetupEnvironment() : m_MockConfigurationManager(std::make_unique<MockConfigurationManagerInterface>()) {}
MockConfigurationManagerInterface& get() {
return *m_MockConfigurationManager;
}
private:
std::unique_ptr<MockConfigurationManagerInterface> m_MockConfigurationManager;
};
class MnvManager {
public:
MnvManager(const MockConfigurationManagerInterface& mockConfigurationManager) : m_mockConfigurationManager(mockConfigurationManager) {}
private:
const MockConfigurationManagerInterface& m_mockConfigurationManager;
};
class MockManager {
public:
MockManager() : m_setupEnvironment{}, m_mnvManager(m_setupEnvironment.get()) {}
private:
SetupEnvironment m_setupEnvironment;
MnvManager m_mnvManager;
};
int main()
{
return 0;
}