Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r60064 - in sandbox/statistics/detail/assign/libs/assign: src test
From: erwann.rogard_at_[hidden]
Date: 2010-03-01 19:24:19


Author: e_r
Date: 2010-03-01 19:24:19 EST (Mon, 01 Mar 2010)
New Revision: 60064
URL: http://svn.boost.org/trac/boost/changeset/60064

Log:
m
Added:
   sandbox/statistics/detail/assign/libs/assign/test/Jamfile.v2 (contents, props changed)
   sandbox/statistics/detail/assign/libs/assign/test/static_list_of_auto_size_csv.cpp (contents, props changed)
Text files modified:
   sandbox/statistics/detail/assign/libs/assign/src/main.cpp | 6 +++---
   1 files changed, 3 insertions(+), 3 deletions(-)

Modified: sandbox/statistics/detail/assign/libs/assign/src/main.cpp
==============================================================================
--- sandbox/statistics/detail/assign/libs/assign/src/main.cpp (original)
+++ sandbox/statistics/detail/assign/libs/assign/src/main.cpp 2010-03-01 19:24:19 EST (Mon, 01 Mar 2010)
@@ -2,14 +2,14 @@
 #include <libs/assign/example/ref_list_of.h>
 #include <libs/assign/test/speed.h>
 #include <libs/assign/test/speed2.h>
-//#include <libs/assign/test/static_list_of_auto_size.h>
+#include <libs/assign/test/static_list_of_auto_size.h>
 
 int main (int argc, char * const argv[]) {
 
         //example_ref_list_of(std::cout);
         //test_speed(std::cout);
- test_speed2(std::cout);
-// check_static_list_of_auto_size();
+ //test_speed2(std::cout);
+ check_static_list_of_auto_size();
 
         return 0;
 

Added: sandbox/statistics/detail/assign/libs/assign/test/Jamfile.v2
==============================================================================
--- (empty file)
+++ sandbox/statistics/detail/assign/libs/assign/test/Jamfile.v2 2010-03-01 19:24:19 EST (Mon, 01 Mar 2010)
@@ -0,0 +1,36 @@
+# Boost.Assign library
+#
+# Copyright Thorsten Ottosen 2003-2005. Use, modification and
+# distribution is subject to 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)
+#
+# For more information, see http://www.boost.org/libs/assign/
+#
+
+rule assign-test ( name )
+{
+ return [
+ run $(name).cpp /boost/test//boost_unit_test_framework/<link>static ]
+ ;
+}
+
+test-suite assign :
+ [ assign-test basic ]
+ [ assign-test std ]
+ [ assign-test list_of ]
+ [ assign-test ptr_list_of ]
+ [ assign-test static_list_of ]
+ [ assign-test static_list_of_auto_size ]
+ [ assign-test static_list_of_auto_size_csv ]
+ [ assign-test tuple_list_of ]
+ [ assign-test list_inserter ]
+ [ assign-test ptr_list_inserter ]
+ [ assign-test ptr_map_inserter ]
+ [ assign-test list_of_workaround ]
+ [ assign-test email_example ]
+ [ assign-test my_vector_example ]
+ [ assign-test multi_index_container ]
+ ;
+
+

Added: sandbox/statistics/detail/assign/libs/assign/test/static_list_of_auto_size_csv.cpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/detail/assign/libs/assign/test/static_list_of_auto_size_csv.cpp 2010-03-01 19:24:19 EST (Mon, 01 Mar 2010)
@@ -0,0 +1,107 @@
+// Boost.Assign library
+//
+// Copyright Thorsten Ottosen 2003-2004. Use, modification and
+// distribution is subject to 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)
+//
+// For more information, see http://www.boost.org/libs/assign/
+//
+
+
+// This file is simply an override by ER of that by the same name without the
+// auto-size suffix name.
+
+#include <boost/detail/workaround.hpp>
+
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+# pragma warn -8091 // supress warning in Boost.Test
+# pragma warn -8057 // unused argument argc/argv in Boost.Test
+#endif
+
+#include <algorithm>
+#include <iostream>
+#include <boost/assign/auto_size/ref_list_of_csv.hpp>
+#include <boost/array.hpp>
+#include <boost/test/test_tools.hpp>
+
+template< class Range >
+void print( const Range& r )
+{
+ std::cout << "\n printing " << typeid(r).name() << " \n";
+ std::cout << "\n";
+
+ // ER_2010
+ typedef typename boost::range_iterator<const Range>::type it_;
+
+ // Previously :
+ // for( typename Range::iterator i = r.begin(), e = r.end();
+
+ // ER_2010
+ for(it_ i = r.begin(), e = r.end();
+ i !=e; ++i )
+ std::cout << " " << *i;
+}
+
+template< class Range >
+void sort( const Range& r )
+{
+ std::cout << "\n sorting " << typeid(r).name() << " \n";
+ std::sort( r.begin(), r.end() );
+ print( r );
+}
+
+template< class Range, class Pred >
+void sort( const Range& r, Pred pred )
+{
+ std::cout << "\n sorting " << typeid(r).name() << " \n";
+ std::sort( r.begin(), r.end(), pred );
+ print( r );
+}
+
+template< class Range >
+typename Range::const_iterator max_element( const Range& r )
+{
+ return std::max_element( r.begin(), r.end() );
+}
+
+void check_static_list_of_auto_size_csv()
+{
+ using namespace boost::assign;
+
+ BOOST_CHECK( cref_list_of_csv( 1 , 2 , 3 , 4 ).size() == 4 );
+
+ int a=1,b=5,c=3,d=4,e=2,f=9,g=0,h=7;
+
+ int& max = *max_element( ref_list_of_csv(a,b,c,d,e,f,g,h) );
+ BOOST_CHECK_EQUAL( max, f );
+ max = 8;
+ BOOST_CHECK_EQUAL( f, 8 );
+ const int& const_max = *max_element( cref_list_of_csv(a,b,c,d,e,f,g,h) );
+ BOOST_CHECK_EQUAL( max, const_max );
+
+ print( ref_list_of_csv(a,b,c,d,e,f,g,h) );
+ print( cref_list_of_csv(a,b,c,d,e,f,g,h) );
+
+ boost::array<int,4> array = cref_list_of_csv(1,2,3,4);
+
+ BOOST_CHECK_EQUAL( array[0], 1 );
+ BOOST_CHECK_EQUAL( array[3], 4 );
+ //
+ //print( cref_list_of_csv( "foo" , "bar" , "foobar" ) );
+ //
+}
+
+#include <boost/test/unit_test.hpp>
+using boost::unit_test::test_suite;
+
+test_suite* init_unit_test_suite( int argc, char* argv[] )
+{
+ test_suite* test = BOOST_TEST_SUITE( "List Test Suite" );
+
+ test->add( BOOST_TEST_CASE( &check_static_list_of_auto_size_csv ) );
+
+ return test;
+}
+
+


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk