2 // sp_recursive_assign_test.cpp
4 // Copyright 2009 Peter Dimov
6 // Distributed under the Boost Software License, Version 1.0.
7 // See accompanying file LICENSE_1_0.txt or copy at
8 // http://www.boost.org/LICENSE_1_0.txt
12 #include <boost/shared_ptr.hpp>
13 #include <boost/detail/lightweight_test.hpp>
63 static boost::shared_ptr<void> s_pv;
80 boost::shared_ptr<void> pv( new Y );
93 BOOST_TEST( X::instances == 0 );
94 BOOST_TEST( Y::instances == 0 );
95 BOOST_TEST( Z::instances == 0 );
98 boost::shared_ptr<void> pv( new Z );
102 BOOST_TEST( X::instances == 0 );
103 BOOST_TEST( Y::instances == 0 );
104 BOOST_TEST( Z::instances == 1 );
107 boost::shared_ptr<void> pv( new X );
111 BOOST_TEST( X::instances == 0 );
112 BOOST_TEST( Y::instances == 1 );
113 BOOST_TEST( Z::instances == 0 );
117 BOOST_TEST( X::instances == 0 );
118 BOOST_TEST( Y::instances == 0 );
119 BOOST_TEST( Z::instances == 0 );
121 return boost::report_errors();