diff --git a/dune/common/test/.gitignore b/dune/common/test/.gitignore index e24e6f6ef014ec6c6245f69d3e5682f5650ed752..a30bd5f9b8d7c031c6084cc0077c41703bee2666 100644 --- a/dune/common/test/.gitignore +++ b/dune/common/test/.gitignore @@ -70,6 +70,7 @@ /tuplestest_tr1 /tupleutilitytest /typetraitstest +/typetraitstest_deprecated /utilitytest tags diff --git a/dune/common/test/CMakeLists.txt b/dune/common/test/CMakeLists.txt index 05493e50172c26ebed35504647ef94319da918ee..05d2d0b5544be10f3498cc575c36052afe856af9 100644 --- a/dune/common/test/CMakeLists.txt +++ b/dune/common/test/CMakeLists.txt @@ -35,6 +35,7 @@ set(TESTS tuplestest tupleutilitytest typetraitstest + typetraitstest_deprecated utilitytest) #test that should build but fail to run successfully @@ -166,6 +167,7 @@ set_target_properties(testdebugallocator_fail5 PROPERTIES COMPILE_DEFINITIONS "F add_executable("tuplestest" tuplestest.cc) add_executable("tupleutilitytest" tupleutilitytest.cc) add_executable("typetraitstest" typetraitstest.cc) +add_executable("typetraitstest_deprecated" typetraitstest_deprecated.cc) add_executable("utilitytest" utilitytest.cc) set(TESTPROGS ${TESTS} ${FAILTESTS}) diff --git a/dune/common/test/Makefile.am b/dune/common/test/Makefile.am index 597a3aadff6520643afb0ce5190e1bcee6ff554f..00a21fb7b238ad88d7f97f343a76b3a9df23ac44 100644 --- a/dune/common/test/Makefile.am +++ b/dune/common/test/Makefile.am @@ -43,6 +43,7 @@ TESTPROGS = \ tuplestest \ tupleutilitytest \ typetraitstest \ + typetraitstest_deprecated \ utilitytest # which tests to run @@ -205,6 +206,8 @@ tupleutilitytest_SOURCES = tupleutilitytest.cc typetraitstest_SOURCES = typetraitstest.cc +typetraitstest_deprecated_SOURCES = typetraitstest_deprecated.cc + utilitytest_SOURCES = utilitytest.cc diff --git a/dune/common/test/typetraitstest.cc b/dune/common/test/typetraitstest.cc index 760664d997dfd2651eebc13456701e963effd102..6227ee135b8f17aa7c32ea81f80cbeac8199aca7 100644 --- a/dune/common/test/typetraitstest.cc +++ b/dune/common/test/typetraitstest.cc @@ -26,19 +26,6 @@ int main() { assert( Dune::TypeTraits<int&>::isReference ); assert( not Dune::TypeTraits<int&&>::isReference ); -#ifndef DISABLE_DEPRECATED_METHOD_CHECKS - // Test TypeTraits::PointeeType - assert( (Dune::is_same<Dune::Empty, Dune::TypeTraits<int>::PointeeType>::value) ); - assert( (Dune::is_same<int, Dune::TypeTraits<int*>::PointeeType>::value) ); - assert( (Dune::is_same<int*, Dune::TypeTraits<int**>::PointeeType>::value) ); - assert( (Dune::is_same<const int, Dune::TypeTraits<const int*>::PointeeType>::value) ); - assert( (Dune::is_same<Dune::Empty, Dune::TypeTraits<int* const>::PointeeType>::value) ); - - // Test TypeTraits::ReferredType - assert( (Dune::is_same<int, Dune::TypeTraits<int>::ReferredType>::value) ); - assert( (Dune::is_same<int, Dune::TypeTraits<int&>::ReferredType>::value) ); -#endif // DISABLE_DEPRECATED_METHOD_CHECKS - // Test is_pointer assert( not Dune::is_pointer<int>::value ); assert( Dune::is_pointer<int*>::value ); diff --git a/dune/common/test/typetraitstest_deprecated.cc b/dune/common/test/typetraitstest_deprecated.cc new file mode 100644 index 0000000000000000000000000000000000000000..897ae4e04df592ab26a87daa322bf84001727718 --- /dev/null +++ b/dune/common/test/typetraitstest_deprecated.cc @@ -0,0 +1,37 @@ +// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- +// vi: set et ts=4 sw=2 sts=2: +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +/** \file + * \brief Test the deprecated functionality of the TypeTraits class. + */ + +#include <cassert> + +// Suppress deprecation warnings +// do this before including any other dune-headers +#include <dune/common/deprecated.hh> +#undef DUNE_DEPRECATED +#define DUNE_DEPRECATED +#undef DUNE_DEPRECATED_MSG +#define DUNE_DEPRECATED_MSG(text) + +#include <dune/common/typetraits.hh> + +int main() { + + // Test TypeTraits::PointeeType + assert( (Dune::is_same<Dune::Empty, Dune::TypeTraits<int>::PointeeType>::value) ); + assert( (Dune::is_same<int, Dune::TypeTraits<int*>::PointeeType>::value) ); + assert( (Dune::is_same<int*, Dune::TypeTraits<int**>::PointeeType>::value) ); + assert( (Dune::is_same<const int, Dune::TypeTraits<const int*>::PointeeType>::value) ); + assert( (Dune::is_same<Dune::Empty, Dune::TypeTraits<int* const>::PointeeType>::value) ); + + // Test TypeTraits::ReferredType + assert( (Dune::is_same<int, Dune::TypeTraits<int>::ReferredType>::value) ); + assert( (Dune::is_same<int, Dune::TypeTraits<int&>::ReferredType>::value) ); + + return 0; +}