diff -r 000000000000 -r e4d67989cc36 genericopenlibs/cppstdlib/stl/test/eh/test_valarray.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/genericopenlibs/cppstdlib/stl/test/eh/test_valarray.cpp Tue Feb 02 02:01:42 2010 +0200 @@ -0,0 +1,85 @@ +/*---------------------------------------------------------------------------------------------- + * Portions Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. + *---------------------------------------------------------------------------------------------- +*/ +// Boris - this file is, um, rather incomplete. Please remove from distribution. + +/*********************************************************************************** + test_string.cpp + + * Copyright (c) 1997 + * Mark of the Unicorn, Inc. + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Mark of the Unicorn makes no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied warranty. + +***********************************************************************************/ +#include "Prefix.h" +#if defined( EH_VALARRAY_IMPLEMENTED ) +#include "Tests.h" +#include +#include "TestClass.h" +#include "LeakCheck.h" +#include "test_construct.h" +#include "test_assign_op.h" +#include "test_push_back.h" +#include "test_insert.h" +#include "test_push_front.h" + +typedef __valarray__ TestValarray; + +inline sequence_container_tag +container_category(const TestValarray&) +{ + return sequence_container_tag(); +} + +void test_rope() +{ + TestValarray testValarray, testValarray2; + size_t ropeSize = random_number(random_base); + + while ( testValarray.size() < ropeSize ) + { + TestValarray::value_type x = random_number(random_base) ; // initialize before use + testValarray.push_back( x ); + testValarray2.push_back( TestValarray::value_type() ); + } + WeakCheck( testValarray, test_insert_one(testValarray) ); + WeakCheck( testValarray, test_insert_one(testValarray, 0) ); + WeakCheck( testValarray, test_insert_one(testValarray, testValarray.size()) ); + + WeakCheck( testValarray, test_insert_n(testValarray, random_number(random_base) ) ); + WeakCheck( testValarray, test_insert_n(testValarray, random_number(random_base), 0 ) ); + WeakCheck( testValarray, test_insert_n(testValarray, random_number(random_base), testValarray.size() ) ); + + size_t insCnt = random_number(random_base); + TestValarray::value_type *insFirst = new TestValarray::value_type[1+insCnt]; + + WeakCheck( testValarray, insert_range_tester(testValarray, insFirst, insFirst+insCnt) ); + WeakCheck( testValarray, insert_range_at_begin_tester(testValarray, insFirst, insFirst+insCnt) ); + WeakCheck( testValarray, insert_range_at_end_tester(testValarray, insFirst, insFirst+insCnt) ); + + ConstCheck( 0, test_construct_pointer_range(insFirst, insFirst+insCnt) ); + delete[] insFirst; + + WeakCheck( testValarray, insert_range_tester(testValarray, testValarray2.begin(), testValarray2.end() ) ); + + WeakCheck( testValarray, test_push_front(testValarray) ); + WeakCheck( testValarray, test_push_back(testValarray) ); + + ConstCheck( 0, test_default_construct() ); + ConstCheck( 0, test_construct_n( random_number(random_base) ) ); + ConstCheck( 0, test_construct_n_instance( random_number(random_base) ) ); + ConstCheck( 0, test_construct_iter_range( testValarray2 ) ); + ConstCheck( testValarray, test_copy_construct() ); + + WeakCheck( testValarray, test_assign_op( testValarray2 ) ); +} + +#endif // EH_ROPE_IMPLEMENTED