/** @file * @author Edouard DUPIN * @copyright 2016, Edouard DUPIN, all right reserved * @license APACHE v2.0 (see license file) */ #include #include #include "main.h" class testClass : public ememory::EnableSharedFromThis { public: testClass() { EMEMORY_INFO("create TestClass"); } ~testClass() { EMEMORY_INFO("delete TestClass"); } }; TEST(TestEnableSharedFromThis, base) { ememory::SharedPtr data = ememory::makeShared(); EXPECT_EQ(data.useCount(), 1); ememory::WeakPtr dataWeak = data; EXPECT_EQ(data.useCount(), 1); EXPECT_EQ(dataWeak.useCount(), 1); data.reset(); EXPECT_EQ(data.useCount(), 0); EXPECT_EQ(dataWeak.useCount(), 0); }