| /* Boost test/cmp_set.cpp |
| * test compare::set |
| * |
| * Copyright 2004 Guillaume Melquiond |
| * |
| * 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 "cmp_header.hpp" |
| |
| using namespace boost::numeric::interval_lib::compare::set; |
| |
| // comparisons between [1,2] and [3,4] |
| |
| static void test_12_34() { |
| const I a(1,2), b(3,4); |
| |
| BOOST_CHECK(!(a < b)); |
| BOOST_CHECK(!(a <= b)); |
| BOOST_CHECK(!(a > b)); |
| BOOST_CHECK(!(a >= b)); |
| |
| BOOST_CHECK(!(b > a)); |
| BOOST_CHECK(!(b >= a)); |
| BOOST_CHECK(!(b < a)); |
| BOOST_CHECK(!(b <= a)); |
| |
| BOOST_CHECK(!(a == b)); |
| BOOST_CHECK(a != b); |
| |
| # ifdef __BORLANDC__ |
| ::detail::ignore_unused_variable_warning(a); |
| ::detail::ignore_unused_variable_warning(b); |
| # endif |
| } |
| |
| // comparisons between [1,3] and [2,4] |
| |
| static void test_13_24() { |
| const I a(1,3), b(2,4); |
| |
| BOOST_CHECK(!(a < b)); |
| BOOST_CHECK(!(a <= b)); |
| BOOST_CHECK(!(a > b)); |
| BOOST_CHECK(!(a >= b)); |
| |
| BOOST_CHECK(!(b < a)); |
| BOOST_CHECK(!(b <= a)); |
| BOOST_CHECK(!(b > a)); |
| BOOST_CHECK(!(b >= a)); |
| |
| BOOST_CHECK(!(a == b)); |
| BOOST_CHECK(a != b); |
| |
| # ifdef __BORLANDC__ |
| ::detail::ignore_unused_variable_warning(a); |
| ::detail::ignore_unused_variable_warning(b); |
| # endif |
| } |
| |
| // comparisons between [1,4] and [2,3] |
| |
| static void test_14_23() { |
| const I a(1,4), b(2,3); |
| |
| BOOST_CHECK(!(a < b)); |
| BOOST_CHECK(!(a <= b)); |
| BOOST_CHECK(a > b); |
| BOOST_CHECK(a >= b); |
| |
| BOOST_CHECK(b < a); |
| BOOST_CHECK(b <= a); |
| BOOST_CHECK(!(b > a)); |
| BOOST_CHECK(!(b >= a)); |
| |
| BOOST_CHECK(!(a == b)); |
| BOOST_CHECK(a != b); |
| |
| # ifdef __BORLANDC__ |
| ::detail::ignore_unused_variable_warning(a); |
| ::detail::ignore_unused_variable_warning(b); |
| # endif |
| } |
| |
| // comparisons between [1,2] and [2,3] |
| |
| static void test_12_23() { |
| const I a(1,2), b(2,3); |
| |
| BOOST_CHECK(!(a < b)); |
| BOOST_CHECK(!(a <= b)); |
| BOOST_CHECK(!(a > b)); |
| BOOST_CHECK(!(a >= b)); |
| |
| BOOST_CHECK(!(b < a)); |
| BOOST_CHECK(!(b <= a)); |
| BOOST_CHECK(!(b > a)); |
| BOOST_CHECK(!(b >= a)); |
| |
| BOOST_CHECK(!(a == b)); |
| BOOST_CHECK(a != b); |
| |
| # ifdef __BORLANDC__ |
| ::detail::ignore_unused_variable_warning(a); |
| ::detail::ignore_unused_variable_warning(b); |
| # endif |
| } |
| |
| // comparisons between [1,2] and empty set |
| |
| static void test_12_E() { |
| I a(1, 2), b(I::empty()); |
| |
| BOOST_CHECK(!(a < b)); |
| BOOST_CHECK(!(a <= b)); |
| BOOST_CHECK(a > b); |
| BOOST_CHECK(a >= b); |
| |
| BOOST_CHECK(b < a); |
| BOOST_CHECK(b <= a); |
| BOOST_CHECK(!(b > a)); |
| BOOST_CHECK(!(b >= a)); |
| |
| BOOST_CHECK(!(a == b)); |
| BOOST_CHECK(a != b); |
| |
| # ifdef __BORLANDC__ |
| ::detail::ignore_unused_variable_warning(a); |
| ::detail::ignore_unused_variable_warning(b); |
| # endif |
| } |
| |
| // comparisons between two empty sets |
| |
| static void test_E_E() { |
| I a(I::empty()), b(I::empty()); |
| |
| BOOST_CHECK(!(a < b)); |
| BOOST_CHECK(a <= b); |
| BOOST_CHECK(!(a > b)); |
| BOOST_CHECK(a >= b); |
| |
| BOOST_CHECK(!(b < a)); |
| BOOST_CHECK(b <= a); |
| BOOST_CHECK(!(b > a)); |
| BOOST_CHECK(b >= a); |
| |
| BOOST_CHECK(a == b); |
| BOOST_CHECK(!(a != b)); |
| |
| # ifdef __BORLANDC__ |
| ::detail::ignore_unused_variable_warning(a); |
| ::detail::ignore_unused_variable_warning(b); |
| # endif |
| } |
| |
| // comparisons between [1,2] and [1,2] |
| |
| static void test_12_12() { |
| const I a(1,2), b(1,2); |
| |
| BOOST_CHECK(!(a < b)); |
| BOOST_CHECK(a <= b); |
| BOOST_CHECK(!(a > b)); |
| BOOST_CHECK(a >= b); |
| |
| BOOST_CHECK(!(b < a)); |
| BOOST_CHECK(b <= a); |
| BOOST_CHECK(!(b > a)); |
| BOOST_CHECK(b >= a); |
| |
| BOOST_CHECK(a == b); |
| BOOST_CHECK(!(a != b)); |
| |
| # ifdef __BORLANDC__ |
| ::detail::ignore_unused_variable_warning(a); |
| ::detail::ignore_unused_variable_warning(b); |
| # endif |
| } |
| |
| // comparisons between [1,1] and [1,1] |
| |
| static void test_11_11() { |
| const I a(1,1), b(1,1); |
| |
| BOOST_CHECK(!(a < b)); |
| BOOST_CHECK(a <= b); |
| BOOST_CHECK(!(a > b)); |
| BOOST_CHECK(a >= b); |
| |
| BOOST_CHECK(!(b < a)); |
| BOOST_CHECK(b <= a); |
| BOOST_CHECK(!(b > a)); |
| BOOST_CHECK(b >= a); |
| |
| BOOST_CHECK(a == b); |
| BOOST_CHECK(!(a != b)); |
| |
| # ifdef __BORLANDC__ |
| ::detail::ignore_unused_variable_warning(a); |
| ::detail::ignore_unused_variable_warning(b); |
| # endif |
| } |
| |
| int test_main(int, char *[]) { |
| test_12_34(); |
| test_13_24(); |
| test_14_23(); |
| test_12_23(); |
| test_12_E(); |
| test_E_E(); |
| test_12_12(); |
| test_11_11(); |
| |
| return 0; |
| } |