1 /*=============================================================================
2 Copyright (c) 2010 Tim Blechmann
4 Use, modification and distribution is subject to the Boost Software
5 License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6 http://www.boost.org/LICENSE_1_0.txt)
7 =============================================================================*/
9 #define BOOST_TEST_MAIN
10 #include <boost/test/unit_test.hpp>
14 #include <boost/heap/priority_queue.hpp>
16 #include "common_heap_tests.hpp"
17 #include "stable_heap_tests.hpp"
18 #include "merge_heap_tests.hpp"
20 template <bool stable
>
21 void run_common_priority_queue_tests(void)
23 typedef boost::heap::priority_queue
<int, boost::heap::stable
<stable
> > pri_queue
;
24 BOOST_CONCEPT_ASSERT((boost::heap::PriorityQueue
<pri_queue
>));
26 run_concept_check
<pri_queue
>();
27 run_common_heap_tests
<pri_queue
>();
28 run_iterator_heap_tests
<pri_queue
>();
29 run_copyable_heap_tests
<pri_queue
>();
30 run_moveable_heap_tests
<pri_queue
>();
31 run_merge_tests
<pri_queue
>();
34 typedef boost::heap::priority_queue
<q_tester
, boost::heap::stable
<stable
> > stable_pri_queue
;
35 run_stable_heap_tests
<stable_pri_queue
>();
39 BOOST_AUTO_TEST_CASE( std_pri_queue_test
)
41 run_common_priority_queue_tests
<false>();
42 run_common_priority_queue_tests
<true>();
45 BOOST_AUTO_TEST_CASE( std_pri_queue_leak_test
)
47 typedef boost::heap::priority_queue
<boost::shared_ptr
<int> > pri_queue
;
48 run_leak_check_test
<pri_queue
>();