// // const_propogating_ptr.t.h // pointers // // Created by Sam Jaffe on 1/5/17. // #pragma once #include #include "const_propogating_ptr.hpp" class const_propogating_ptr_TestSuite : public CxxTest::TestSuite { public: struct mock_object { bool is_const( ) { return false; } bool is_const( ) const { return true; } }; private: using ptr_t = std::shared_ptr; public: void test_non_const() { ptr_t p { new mock_object }; const_propogating_ptr< ptr_t > cp { p }; TS_ASSERT( ! cp->is_const() ); } void test_const() { ptr_t p { new mock_object }; const_propogating_ptr< ptr_t > const cp { p }; TS_ASSERT( cp->is_const() ); } };