From 13d6ea115613ef29a19635b42dac16f4e2dfd6e4 Mon Sep 17 00:00:00 2001 From: Robert Ramey Date: Wed, 15 Aug 2007 20:09:24 +0000 Subject: [PATCH] initial checkin [SVN r38701] --- test/test_valarray.cpp | 57 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 test/test_valarray.cpp diff --git a/test/test_valarray.cpp b/test/test_valarray.cpp new file mode 100644 index 00000000..87efe6c4 --- /dev/null +++ b/test/test_valarray.cpp @@ -0,0 +1,57 @@ +/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 +// test_valarrray.cpp + +// (C) Copyright 2005 Matthias Troyer . +// 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) + +// should pass compilation and execution + +#include + +#include // remove +#include +#if defined(BOOST_NO_STDC_NAMESPACE) +namespace std{ + using ::remove; +} +#endif + +#include "test_tools.hpp" +#include +#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST) + +#include + +int test_main( int /* argc */, char* /* argv */[] ) +{ + const char * testfile = boost::archive::tmpnam(NULL); + BOOST_REQUIRE(NULL != testfile); + + // test array of objects + std::valarray avalarray(2); + avalarray[0] = 42; + avalarray[1] = -42; + { + test_ostream os(testfile, TEST_STREAM_FLAGS); + test_oarchive oa(os); + oa << boost::serialization::make_nvp("avalarray", avalarray); + } + std::valarray avalarray1; + { + test_istream is(testfile, TEST_STREAM_FLAGS); + test_iarchive ia(is); + ia >> boost::serialization::make_nvp("avalarray", avalarray1); + } + bool equal = ( avalarray.size() == avalarray1.size() + && avalarray[0] == avalarray1[0] + && avalarray[1] == avalarray1[1] + ); + + BOOST_CHECK(equal); + std::remove(testfile); + return EXIT_SUCCESS; +} + +// EOF