From 374d6d0f4e5c791d3934010655fb288b9ca16e80 Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Sat, 18 Feb 2006 20:54:15 +0000 Subject: [PATCH] Add a failing test case [SVN r32997] --- test/multiset.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/test/multiset.cpp b/test/multiset.cpp index b1dce73..e57a734 100644 --- a/test/multiset.cpp +++ b/test/multiset.cpp @@ -17,6 +17,9 @@ #include #include +#include +#include +#include MPL_TEST_CASE() { @@ -34,3 +37,32 @@ MPL_TEST_CASE() MPL_ASSERT_RELATION( (count::value), ==, 1 ); MPL_ASSERT_RELATION( (count::value), ==, 1 ); } + + +// Use a template for testing so that GCC will show us the actual types involved +template +void test() +{ + BOOST_MPL_ASSERT_RELATION( size::value, ==, 3 ); + + typedef typename end::type not_found; + BOOST_MPL_ASSERT_NOT(( is_same::type,not_found> )); + BOOST_MPL_ASSERT_NOT(( is_same::type,not_found> )); + BOOST_MPL_ASSERT_NOT(( is_same::type,not_found> )); + BOOST_MPL_ASSERT(( is_same::type,not_found> )); +}; + +MPL_TEST_CASE() +{ + typedef insert, int> set_of_1_int; + typedef begin::type iter_to_1_int; + BOOST_MPL_ASSERT(( is_same< deref::type, int > )); + + typedef multiset0<> s0; + typedef insert::type s1; + typedef insert::type s2; + typedef insert::type myset; + + test(); + test(); +}