1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- // Boost static_min_max.hpp test program -----------------------------------//
- // (C) Copyright Daryle Walker 2001.
- // 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)
- // See http://www.boost.org for most recent version including documentation.
- // Revision History
- // 23 Sep 2001 Initial version (Daryle Walker)
- #include <boost/detail/lightweight_test.hpp> // for main, BOOST_TEST
- #include <boost/cstdlib.hpp> // for boost::exit_success
- #include <boost/integer/static_min_max.hpp> // for boost::static_signed_min, etc.
- #include <iostream> // for std::cout (std::endl indirectly)
- // Main testing function
- int
- main
- (
- int , // "argc" is unused
- char * [] // "argv" is unused
- )
- {
- using std::cout;
- using std::endl;
- using boost::static_signed_min;
- using boost::static_signed_max;
- using boost::static_unsigned_min;
- using boost::static_unsigned_max;
- // Two positives
- cout << "Doing tests with two positive values." << endl;
- BOOST_TEST( (static_signed_min< 9, 14>::value) == 9 );
- BOOST_TEST( (static_signed_max< 9, 14>::value) == 14 );
- BOOST_TEST( (static_signed_min<14, 9>::value) == 9 );
- BOOST_TEST( (static_signed_max<14, 9>::value) == 14 );
- BOOST_TEST( (static_unsigned_min< 9, 14>::value) == 9 );
- BOOST_TEST( (static_unsigned_max< 9, 14>::value) == 14 );
- BOOST_TEST( (static_unsigned_min<14, 9>::value) == 9 );
- BOOST_TEST( (static_unsigned_max<14, 9>::value) == 14 );
- // Two negatives
- cout << "Doing tests with two negative values." << endl;
- BOOST_TEST( (static_signed_min< -8, -101>::value) == -101 );
- BOOST_TEST( (static_signed_max< -8, -101>::value) == -8 );
- BOOST_TEST( (static_signed_min<-101, -8>::value) == -101 );
- BOOST_TEST( (static_signed_max<-101, -8>::value) == -8 );
- // With zero
- cout << "Doing tests with zero and a positive or negative value." << endl;
- BOOST_TEST( (static_signed_min< 0, 14>::value) == 0 );
- BOOST_TEST( (static_signed_max< 0, 14>::value) == 14 );
- BOOST_TEST( (static_signed_min<14, 0>::value) == 0 );
- BOOST_TEST( (static_signed_max<14, 0>::value) == 14 );
- BOOST_TEST( (static_unsigned_min< 0, 14>::value) == 0 );
- BOOST_TEST( (static_unsigned_max< 0, 14>::value) == 14 );
- BOOST_TEST( (static_unsigned_min<14, 0>::value) == 0 );
- BOOST_TEST( (static_unsigned_max<14, 0>::value) == 14 );
- BOOST_TEST( (static_signed_min< 0, -101>::value) == -101 );
- BOOST_TEST( (static_signed_max< 0, -101>::value) == 0 );
- BOOST_TEST( (static_signed_min<-101, 0>::value) == -101 );
- BOOST_TEST( (static_signed_max<-101, 0>::value) == 0 );
- // With identical
- cout << "Doing tests with two identical values." << endl;
- BOOST_TEST( (static_signed_min<0, 0>::value) == 0 );
- BOOST_TEST( (static_signed_max<0, 0>::value) == 0 );
- BOOST_TEST( (static_unsigned_min<0, 0>::value) == 0 );
- BOOST_TEST( (static_unsigned_max<0, 0>::value) == 0 );
- BOOST_TEST( (static_signed_min<14, 14>::value) == 14 );
- BOOST_TEST( (static_signed_max<14, 14>::value) == 14 );
- BOOST_TEST( (static_unsigned_min<14, 14>::value) == 14 );
- BOOST_TEST( (static_unsigned_max<14, 14>::value) == 14 );
- BOOST_TEST( (static_signed_min< -101, -101>::value) == -101 );
- BOOST_TEST( (static_signed_max< -101, -101>::value) == -101 );
- return boost::report_errors();
- }
|