Gromacs  2016.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions
anonymous_namespace{abstractoptionstorage.cpp}::MockOptionStorage Class Reference
+ Inheritance diagram for anonymous_namespace{abstractoptionstorage.cpp}::MockOptionStorage:
+ Collaboration diagram for anonymous_namespace{abstractoptionstorage.cpp}::MockOptionStorage:

Description

Mock implementation of an option storage class for unit testing.

Provides facilities for checking that correct methods are called, and for controlling how they add values using the base class methods.

Public Member Functions

 MockOptionStorage (const MockOption &settings)
 Initializes the storage from option settings. More...
 
void addDummyValue ()
 Calls addValue("dummy") in the base class.
 
void markAsSet ()
 Marks the option as set. More...
 
void addValue (const std::string &value)
 Adds a value to a temporary storage. More...
 
void commitValues ()
 Commits values added with addValue(). More...
 
virtual gmx::OptionInfooptionInfo ()
 Returns an option info object corresponding to this option.
 
virtual std::string typeString () const
 Returns a short string describing the type of the option.
 
virtual std::string formatSingleValue (const std::string &) const
 Formats a single value as a string. More...
 
- Public Member Functions inherited from gmx::OptionStorageTemplate< std::string >
virtual int valueCount () const
 Returns the number of option values added so far. More...
 
virtual std::string formatValue (int i) const
 Returns the i'th value formatted as a string. More...
 
- Public Member Functions inherited from gmx::AbstractOptionStorage
bool isSet () const
 Returns true if the option has been set.
 
bool isBoolean () const
 Returns true if the option is a boolean option. More...
 
bool isHidden () const
 Returns true if the option is a hidden option.
 
bool isRequired () const
 Returns true if the option is required.
 
bool isVector () const
 Returns true if the option is vector-valued.
 
const std::string & name () const
 Returns the name of the option.
 
const std::string & description () const
 Returns the description of the option set by the calling code.
 
bool defaultValueIfSetExists () const
 Returns true if defaultValueIfSet() value is specified.
 
int minValueCount () const
 Returns the minimum number of values required in one set.
 
int maxValueCount () const
 Returns the maximum allowed number of values in one set (-1 = no limit).
 
virtual std::string formatExtraDescription () const
 Formats additional description for the option. More...
 
std::string formatDefaultValueIfSet () const
 Returns the default value if set for the option as a string. More...
 
void startSource ()
 Starts adding values from a new source for the option. More...
 
void startSet ()
 Starts adding a new set of values for the option. More...
 
void appendValue (const std::string &value)
 Adds a new value for the option, converting it from a string. More...
 
void finishSet ()
 Performs validation and/or actions once a set of values has been added. More...
 
void finish ()
 Performs validation and/or actions once all values have been added. More...
 

Additional Inherited Members

- Public Types inherited from gmx::OptionStorageTemplate< std::string >
typedef OptionStorageTemplate
< std::string > 
MyBase
 Alias for the template class for use in base classes.
 
typedef std::vector< std::string > ValueList
 Type of the container that contains the current values.
 
- Protected Member Functions inherited from gmx::OptionStorageTemplate< std::string >
 OptionStorageTemplate (const OptionTemplate< std::string, U > &settings, OptionFlags staticFlags=OptionFlags())
 Initializes the storage from option settings. More...
 
 OptionStorageTemplate (const AbstractOption &settings)
 Initializes the storage from base option settings. More...
 
virtual void clearSet ()
 Removes all values from temporary storage for a set. More...
 
virtual void convertValue (const std::string &value)=0
 Adds a new value, converting it from a string. More...
 
virtual void processSetValues (ValueList *values)
 Processes values for a set after all have been converted. More...
 
virtual void processSet ()
 Performs validation and/or actions once a set of values has been added. More...
 
virtual void processAll ()
 Performs validation and/or actions once all values have been added. More...
 
void clear ()
 Removes all values from the storage. More...
 
void addValue (const std::string &value)
 Adds a value to a temporary storage. More...
 
void commitValues ()
 Commits values added with addValue(). More...
 
virtual void refreshValues ()
 Updates alternative store locations. More...
 
void setDefaultValue (const std::string &value)
 Sets the default value for the option. More...
 
void setDefaultValueIfSet (const std::string &value)
 Sets the default value if set for the option. More...
 
ValueListvalues ()
 Provides derived classes access to the current list of values. More...
 
const ValueListvalues () const
 Provides derived classes access to the current list of values.
 
- Protected Member Functions inherited from gmx::AbstractOptionStorage
 AbstractOptionStorage (const AbstractOption &settings, OptionFlags staticFlags)
 Initializes the storage object from the settings object. More...
 
void markAsSet ()
 Marks the option as set.
 
bool hasFlag (OptionFlag flag) const
 Returns true if the given flag is set.
 
void setFlag (OptionFlag flag)
 Sets the given flag.
 
void clearFlag (OptionFlag flag)
 Clears the given flag.
 
void setMinValueCount (int count)
 Sets a new minimum number of values required in one set. More...
 
void setMaxValueCount (int count)
 Sets a new maximum number of values required in one set. More...
 
- Static Protected Attributes inherited from gmx::AbstractOptionStorage
static const int DefaultValueIfSetIndex = -1
 Index used with formatValue() for formatting default value if set.
 

Constructor & Destructor Documentation

anonymous_namespace{abstractoptionstorage.cpp}::MockOptionStorage::MockOptionStorage ( const MockOption settings)

Initializes the storage from option settings.

Parameters
[in]settingsStorage settings.

Member Function Documentation

void anonymous_namespace{abstractoptionstorage.cpp}::MockOptionStorage::addValue ( const std::string &  value)
inline

Adds a value to a temporary storage.

Parameters
[in]valueValue to add. A copy is made.
Exceptions
std::bad_allocif out of memory.
InvalidInputErrorif the maximum value count has been reached.

Derived classes should call this function from the convertValue() implementation to add converted values to the storage. If the maximum value count has been reached, the value is discarded and an exception is thrown.

If adding values outside convertValue() (e.g., to set a custom default value), derived classes should call clearSet() before adding values (unless in the constructor) and commitValues() once all values are added.

void anonymous_namespace{abstractoptionstorage.cpp}::MockOptionStorage::commitValues ( )
inline

Commits values added with addValue().

Exceptions
std::bad_allocif out of memory.

If this function succeeds, values added with addValue() since the previous clearSet() are added to the storage for the option. Only throws in out-of-memory conditions, and provides the strong exception safety guarantee as long as the copy constructor of T does not throw.

See addValue() for cases where this method should be used in derived classes.

Calls refreshValues() and clearSet() if it is successful.

virtual std::string anonymous_namespace{abstractoptionstorage.cpp}::MockOptionStorage::formatSingleValue ( const std::string &  value) const
inlinevirtual

Formats a single value as a string.

Parameters
[in]valueValue to format.
Returns
value formatted as a string.

The derived class must provide this method to format values a strings. Called by formatValue() to do the actual formatting.

Implements gmx::OptionStorageTemplate< std::string >.

void anonymous_namespace{abstractoptionstorage.cpp}::MockOptionStorage::markAsSet ( )
inline

Marks the option as set.


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