1 #define BOOST_TEST_MAIN
2 #include <boost/test/unit_test.hpp>
6 #include <boost/heap/binomial_heap.hpp>
8 #include "common_heap_tests.hpp"
9 #include "stable_heap_tests.hpp"
10 #include "mutable_heap_tests.hpp"
11 #include "merge_heap_tests.hpp"
13 template <bool stable, bool constant_time_size>
14 void run_binomial_heap_test(void)
16 typedef boost::heap::binomial_heap<int, boost::heap::stable<stable>,
17 boost::heap::compare<std::less<int> >,
18 boost::heap::allocator<std::allocator<int> >,
19 boost::heap::constant_time_size<constant_time_size> > pri_queue;
21 BOOST_CONCEPT_ASSERT((boost::heap::MutablePriorityQueue<pri_queue>));
22 BOOST_CONCEPT_ASSERT((boost::heap::MergablePriorityQueue<pri_queue>));
24 run_common_heap_tests<pri_queue>();
25 run_iterator_heap_tests<pri_queue>();
26 run_copyable_heap_tests<pri_queue>();
27 run_moveable_heap_tests<pri_queue>();
29 run_merge_tests<pri_queue>();
31 run_mutable_heap_tests<pri_queue >();
32 run_ordered_iterator_tests<pri_queue>();
35 typedef boost::heap::binomial_heap<q_tester, boost::heap::stable<stable>,
36 boost::heap::constant_time_size<constant_time_size> > stable_pri_queue;
38 run_stable_heap_tests<stable_pri_queue>();
42 BOOST_AUTO_TEST_CASE( binomial_heap_test )
44 run_binomial_heap_test<false, false>();
45 run_binomial_heap_test<false, true>();
46 run_binomial_heap_test<true, false>();
47 run_binomial_heap_test<true, true>();