| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | #include "SingletonHolder.h"#include <iostream>#include <cppunit/extensions/HelperMacros.h>#include "SharedHandle.h"namespace aria2 {class SingletonHolderTest : public CppUnit::TestFixture {  CPPUNIT_TEST_SUITE(SingletonHolderTest);  CPPUNIT_TEST(testInstance);  CPPUNIT_TEST_SUITE_END();private:public:  void setUp() {  }  void testInstance();};CPPUNIT_TEST_SUITE_REGISTRATION( SingletonHolderTest );class M {private:  std::string greeting_;public:  M(const std::string& greeting):greeting_(greeting) {}  const std::string& greeting() const { return greeting_; }  void greeting(const std::string& greeting) {    greeting_ = greeting;  }};void SingletonHolderTest::testInstance(){  M m("Hello world.");  SingletonHolder<M>::instance(&m);  CPPUNIT_ASSERT_EQUAL(std::string("Hello world."),                       SingletonHolder<M>::instance()->greeting());  SingletonHolder<M>::instance()->greeting("Yes, it worked!");  CPPUNIT_ASSERT_EQUAL(std::string("Yes, it worked!"),                       SingletonHolder<M>::instance()->greeting());}} // namespace aria2
 |