// Boost.Test
#include <boost/test/floating_point_comparison.hpp>
-#include <boost/test/unit_test.hpp>
+#include <boost/test/auto_unit_test.hpp>
using boost::unit_test::test_suite;
using boost::unit_test::test_case;
**
** DESCRIPTION :
*/
-void arch_test()
+BOOST_AUTO_TEST_CASE(arch_test)
{
- Arch _arch32( "i386" );
-
- BOOST_CHECK_EQUAL( _arch32, Arch_i386 );
- BOOST_CHECK_EQUAL( _arch32.asString(), string("i386"));
- BOOST_REQUIRE( _arch32.compatibleWith (Arch_x86_64));
- BOOST_CHECK_THROW( Arch(NULL), exception);
- BOOST_CHECK_EQUAL( Arch(), Arch_noarch );
- BOOST_REQUIRE( Arch("") != Arch_noarch );
- BOOST_REQUIRE( Arch("").empty() );
+ //////////////////////////////////////////////////////////////////////
+ //
+ //////////////////////////////////////////////////////////////////////
+ BOOST_REQUIRE( Arch() == Arch_noarch );
+ BOOST_REQUIRE( Arch("") == Arch_empty );
BOOST_REQUIRE( ! Arch_noarch.empty() );
- BOOST_REQUIRE( ! ( _arch32.compare(Arch_x86_64) >= 0) );
-}
+ BOOST_REQUIRE( Arch_empty.empty() );
+ BOOST_REQUIRE( Arch_noarch.isBuiltIn() );
+ BOOST_REQUIRE( ! Arch_empty.isBuiltIn() );
+ BOOST_REQUIRE( Arch_empty != Arch_noarch );
+ //////////////////////////////////////////////////////////////////////
+ //
+ //////////////////////////////////////////////////////////////////////
+ BOOST_CHECK_EQUAL( Arch("i386"), Arch_i386 );
+ BOOST_CHECK_EQUAL( Arch("i386").idStr(), "i386" );
+ BOOST_CHECK_EQUAL( Arch("i386").asString(), "i386" );
+ BOOST_REQUIRE( Arch_i386.isBuiltIn() );
-test_suite*
-init_unit_test_suite( int, char* [] )
-{
- test_suite* test= BOOST_TEST_SUITE( "ArchTest" );
- test->add( BOOST_TEST_CASE( &arch_test ), 0 /* expected zero error */ );
- return test;
+ BOOST_CHECK_EQUAL( Arch("FOO").idStr(), "FOO" );
+ BOOST_CHECK_EQUAL( Arch("FOO").asString(), "FOO" );
+ BOOST_REQUIRE( ! Arch("FOO").isBuiltIn() );
+ //////////////////////////////////////////////////////////////////////
+ //
+ //////////////////////////////////////////////////////////////////////
+ BOOST_REQUIRE( Arch_noarch.compatibleWith( Arch_noarch ) );
+ BOOST_REQUIRE( Arch_noarch.compatibleWith( Arch_i386 ) );
+ BOOST_REQUIRE( Arch_noarch.compatibleWith( Arch_x86_64 ) );
+
+ BOOST_REQUIRE( ! Arch_i386.compatibleWith( Arch_noarch ) );
+ BOOST_REQUIRE( Arch_i386.compatibleWith( Arch_i386 ) );
+ BOOST_REQUIRE( Arch_i386.compatibleWith( Arch_x86_64 ) );
+
+ BOOST_REQUIRE( ! Arch_x86_64.compatibleWith( Arch_noarch ) );
+ BOOST_REQUIRE( ! Arch_x86_64.compatibleWith( Arch_i386 ) );
+ BOOST_REQUIRE( Arch_x86_64.compatibleWith( Arch_x86_64 ) );
+ //////////////////////////////////////////////////////////////////////
+ //
+ //////////////////////////////////////////////////////////////////////
+ BOOST_CHECK_EQUAL( Arch::baseArch( Arch_x86_64 ), Arch_x86_64 );
+ BOOST_CHECK_EQUAL( Arch::baseArch( Arch_i686 ), Arch_i386 );
+ //////////////////////////////////////////////////////////////////////
+ //
+ //////////////////////////////////////////////////////////////////////
+ BOOST_REQUIRE( Arch_i386.compare( Arch_noarch ) > 0 );
+ BOOST_REQUIRE( Arch_i386.compare( Arch_i386 ) == 0 );
+ BOOST_REQUIRE( Arch_i386.compare( Arch_x86_64 ) < 0 );
}