| 12345678910111213141516171819202122232425262728293031323334 |
- //
- // const_propogating_ptr.t.h
- // pointers
- //
- // Created by Sam Jaffe on 1/5/17.
- //
- #pragma once
- #include <cxxtest/TestSuite.h>
- #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<mock_object>;
- 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() );
- }
- };
|