Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
Thyra::MultiVectorTester< Scalar > Class Template Reference

Unit testing class for a MultiVectorBase object. More...

#include <Thyra_MultiVectorTester_decl.hpp>

Inheritance diagram for Thyra::MultiVectorTester< Scalar >:
Inheritance graph
[legend]

Public Types

typedef Teuchos::ScalarTraits
< Scalar >::magnitudeType 
ScalarMag
 Local typedef for scalar magnitude. More...
 

Public Member Functions

LinearOpTester< Scalar > & linearOpTester ()
 Expose a non-const reference to the LinearOpTester object used to test the LinearOpBase interface supported by MultiVectorBase. More...
 
const LinearOpTester< Scalar > & linearOpTester () const
 Expose a const reference to the LinearOpTester object used to test the LinearOpBase interface supported by MultiVectorBase. More...
 
void warning_tol (const ScalarMag &warning_tol)
 Set the tolerance above which a relative error will generate a warning message. More...
 
ScalarMag warning_tol () const
 Return the warning tolerance for *this. More...
 
void error_tol (const ScalarMag &error_tol)
 Set the error above which a relative error will generate a an message and cause the test to fail. More...
 
ScalarMag error_tol () const
 Return the error tolerance for *this. More...
 
void num_random_vectors (const int num_random_vectors)
 Set the number random vectors that is generated during each test. More...
 
int num_random_vectors () const
 Return the number of random vectors used for *this objects tests. More...
 
void show_all_tests (const bool show_all_tests)
 Set whether all of the tests will be printed independent if they pass or fail. More...
 
bool show_all_tests () const
 Return the number of random vectors used for *this objects tests. More...
 
void dump_all (const bool dump_all)
 Set whether all of the vectors and multi-vectors will be dumped or not. More...
 
bool dump_all () const
 Return the number of random vectors used for *this objects tests. More...
 
 MultiVectorTester (const ScalarMag warning_tol=1e-13, const ScalarMag error_tol=1e-10, const int num_random_vectors=1, const bool show_all_tests=false, const bool dump_all=false)
 Default constructor which sets default parameter values. More...
 
bool checkMultiVector (const VectorSpaceBase< Scalar > &vs, const Ptr< Teuchos::FancyOStream > &out) const
 Check a multi-vector as created by a VectorSpaceBase object. More...
 
bool check (const MultiVectorBase< Scalar > &mv, const Ptr< Teuchos::FancyOStream > &out) const
 Check a multi-vector object in a set of comprehensive teats. More...
 

Detailed Description

template<class Scalar>
class Thyra::MultiVectorTester< Scalar >

Unit testing class for a MultiVectorBase object.

ToDo: Finish documentation!

Definition at line 28 of file Thyra_MultiVectorTester_decl.hpp.

Member Typedef Documentation

template<class Scalar>
typedef Teuchos::ScalarTraits<Scalar>::magnitudeType Thyra::MultiVectorTester< Scalar >::ScalarMag

Local typedef for scalar magnitude.

Definition at line 32 of file Thyra_MultiVectorTester_decl.hpp.

Constructor & Destructor Documentation

template<class Scalar >
Thyra::MultiVectorTester< Scalar >::MultiVectorTester ( const ScalarMag  warning_tol = 1e-13,
const ScalarMag  error_tol = 1e-10,
const int  num_random_vectors = 1,
const bool  show_all_tests = false,
const bool  dump_all = false 
)

Default constructor which sets default parameter values.

Note: It is not recommended that the client pass in values in this constructor since the argument list may change in the near future but instead use the above set functions to change an option after construction.

Postconditions:

Definition at line 25 of file Thyra_MultiVectorTester_def.hpp.

Member Function Documentation

template<class Scalar >
LinearOpTester< Scalar > & Thyra::MultiVectorTester< Scalar >::linearOpTester ( )
inline

Expose a non-const reference to the LinearOpTester object used to test the LinearOpBase interface supported by MultiVectorBase.

Clients can use this interface to override options directly set on *this.

Definition at line 193 of file Thyra_MultiVectorTester_decl.hpp.

template<class Scalar >
const LinearOpTester< Scalar > & Thyra::MultiVectorTester< Scalar >::linearOpTester ( ) const
inline

Expose a const reference to the LinearOpTester object used to test the LinearOpBase interface supported by MultiVectorBase.

Clients can use this interface to query (but not change) options.

Definition at line 201 of file Thyra_MultiVectorTester_decl.hpp.

template<class Scalar >
void Thyra::MultiVectorTester< Scalar >::warning_tol ( const ScalarMag warning_tol)
inline

Set the tolerance above which a relative error will generate a warning message.

Also calls this->linearOpTester().set_all_warning_tol(warning_tol).

Definition at line 209 of file Thyra_MultiVectorTester_decl.hpp.

template<class Scalar >
MultiVectorTester< Scalar >::ScalarMag Thyra::MultiVectorTester< Scalar >::warning_tol ( ) const
inline

Return the warning tolerance for *this.

Definition at line 219 of file Thyra_MultiVectorTester_decl.hpp.

template<class Scalar >
void Thyra::MultiVectorTester< Scalar >::error_tol ( const ScalarMag error_tol)
inline

Set the error above which a relative error will generate a an message and cause the test to fail.

Also calls this->linearOpTester().set_all_error_tol(error_tol).

Definition at line 227 of file Thyra_MultiVectorTester_decl.hpp.

template<class Scalar >
MultiVectorTester< Scalar >::ScalarMag Thyra::MultiVectorTester< Scalar >::error_tol ( ) const
inline

Return the error tolerance for *this.

Definition at line 237 of file Thyra_MultiVectorTester_decl.hpp.

template<class Scalar >
void Thyra::MultiVectorTester< Scalar >::num_random_vectors ( const int  num_random_vectors)
inline

Set the number random vectors that is generated during each test.

Also calls this->linearOpTester().num_random_vectors(num_random_vectors).

Definition at line 245 of file Thyra_MultiVectorTester_decl.hpp.

template<class Scalar >
int Thyra::MultiVectorTester< Scalar >::num_random_vectors ( ) const
inline

Return the number of random vectors used for *this objects tests.

Definition at line 254 of file Thyra_MultiVectorTester_decl.hpp.

template<class Scalar >
void Thyra::MultiVectorTester< Scalar >::show_all_tests ( const bool  show_all_tests)
inline

Set whether all of the tests will be printed independent if they pass or fail.

Also calls this->linearOpTester().show_all_tests(show_all_tests).

Definition at line 262 of file Thyra_MultiVectorTester_decl.hpp.

template<class Scalar >
bool Thyra::MultiVectorTester< Scalar >::show_all_tests ( ) const
inline

Return the number of random vectors used for *this objects tests.

Definition at line 271 of file Thyra_MultiVectorTester_decl.hpp.

template<class Scalar >
void Thyra::MultiVectorTester< Scalar >::dump_all ( const bool  dump_all)
inline

Set whether all of the vectors and multi-vectors will be dumped or not.

Also calls this->linearOpTester().dump_all(dump_all).

Definition at line 279 of file Thyra_MultiVectorTester_decl.hpp.

template<class Scalar >
bool Thyra::MultiVectorTester< Scalar >::dump_all ( ) const
inline

Return the number of random vectors used for *this objects tests.

Definition at line 288 of file Thyra_MultiVectorTester_decl.hpp.

template<class Scalar>
bool Thyra::MultiVectorTester< Scalar >::checkMultiVector ( const VectorSpaceBase< Scalar > &  vs,
const Ptr< Teuchos::FancyOStream > &  out 
) const

Check a multi-vector as created by a VectorSpaceBase object.

Definition at line 41 of file Thyra_MultiVectorTester_def.hpp.

template<class Scalar>
bool Thyra::MultiVectorTester< Scalar >::check ( const MultiVectorBase< Scalar > &  mv,
const Ptr< Teuchos::FancyOStream > &  out 
) const

Check a multi-vector object in a set of comprehensive teats.

Parameters
mv[in] The multi-vector object to test.
out[in/out] If out != NULL then output will be sent to *out.

The behavior of this function greatly depends on a number of options (see MultiVectorTester() for the default values for these options):

  • print_all_tests(bool): If print_all_tests() == true, then some output will be sent to *out for every test performed. This is useful to see all of tests that are performed and in debugging.
  • dump_all(bool): If dump_all() == true, then all of the vectors will be printed that are created during the tests. This option is really only needed during initial debugging and should only be used with small vector spaces since it will produce a lot of O(space.dim()) output.
  • num_random_tests(int): This is the number of random tests to perform per category of test. A higher number will result is better validation but will consume more CPU time.
  • warning_tol(ScalarMag): Any test with a relative error greater than warning_tol() will result in a warning message printed to *out but will not result in a filed test.
  • error_tol(Scalar): Any test with a relative error greater than error_tol() will result in an error message printed to *out and will result in a failed test.
Returns
The function returns true if all of the tests where within the error_tol() and returns false if not.

The best way to see what this testing function is doing is to run the test with out!=NULL and to look at the implementation by clicking on the following link to the source code:

Definition at line 151 of file Thyra_MultiVectorTester_def.hpp.


The documentation for this class was generated from the following files: