/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include #include #include struct key1 {}; struct key2 {}; struct key3 {}; void equality_test() { using namespace boost::fusion; map, pair > v1(5, 'a'); map, pair > v2(5, 'a'); BOOST_TEST(v1 == v2); map, pair > v3(5, 'b'); map, pair > t4(2, 'a'); BOOST_TEST(v1 != v3); BOOST_TEST(v1 != t4); BOOST_TEST(!(v1 != v2)); map, pair, pair > v5(5, 'a', true); BOOST_TEST(v1 != v5); BOOST_TEST(!(v1 == v5)); BOOST_TEST(v5 != v1); BOOST_TEST(!(v5 == v1)); } void ordering_test() { using namespace boost::fusion; map, pair > v1(4, 3.3f); map, pair > v2(5, 3.3f); map, pair > v3(5, 4.4); BOOST_TEST(v1 < v2); BOOST_TEST(v1 <= v2); BOOST_TEST(v2 > v1); BOOST_TEST(v2 >= v1); BOOST_TEST(v2 < v3); BOOST_TEST(v2 <= v3); BOOST_TEST(v3 > v2); BOOST_TEST(v3 >= v2); #if defined(FUSION_TEST_FAIL) map v5(5, 'a', true); v1 >= v5; #endif } int main() { equality_test(); ordering_test(); return boost::report_errors(); }