MADNESS 0.10.1
Classes | Functions
test_QCCalculationParametersBase.cc File Reference
#include "QCCalculationParametersBase.h"
#include "parallel_archive.h"
Include dependency graph for test_QCCalculationParametersBase.cc:

Classes

struct  inputfile
 
class  Parameters
 

Functions

int main (int argc, char **argv)
 
bool test_blank_separated_string (World &world)
 blank-separated values for free-form string keys, e.g. xc GGA_X_PBE 0.75 ...
 
bool test_blank_separated_string_commandline (World &world)
 the same values, coming in through –<tag>="key=val; key=val"
 
bool test_capitalization (World &world)
 
bool test_comment_lines (World &world)
 
void test_contains (const std::string &msg, const std::string &snippet)
 check that an error message carries snippet, wherever in the message it sits
 
void test_deck_is_rejected (World &world, const std::string &inputlines, const std::string &key)
 a deck that cannot be parsed must be rejected, naming the offending key
 
bool test_derived (World &world)
 
bool test_empty_lines (World &world)
 
bool test_group_header (World &world)
 
bool test_not_allowed (World &world)
 
bool test_quoted_list (World &world)
 
template<typename T >
void test_same (const T &t1, const T &t2)
 
bool test_serialize (World &world)
 
bool test_trailing_characters (World &world)
 a value that does not convert must abort the run, not be printed and ignored
 
bool test_type_conversion1 (World &world)
 
bool test_type_conversion2 (World &world)
 
bool test_type_conversion3 (World &world)
 
bool test_type_conversion4 (World &world)
 
bool test_type_conversion5 (World &world)
 
bool test_type_conversion6 (World &world)
 
bool test_type_conversion7 (World &world)
 
bool test_type_conversion8 (World &world)
 

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

◆ test_blank_separated_string()

bool test_blank_separated_string ( World &  world)

blank-separated values for free-form string keys, e.g. xc GGA_X_PBE 0.75 ...

double quotes used to be mandatory: an unquoted line kept only the first word and then tripped the trailing-character check, so the value was discarded

References param, madness::print(), madness::commandlineparser::set_keyval(), and test_same().

Referenced by main().

◆ test_blank_separated_string_commandline()

bool test_blank_separated_string_commandline ( World &  world)

the same values, coming in through –<tag>="key=val; key=val"

References param, madness::print(), madness::commandlineparser::set_keyval(), and test_same().

Referenced by main().

◆ test_capitalization()

bool test_capitalization ( World &  world)

◆ test_comment_lines()

bool test_comment_lines ( World &  world)

◆ test_contains()

void test_contains ( const std::string &  msg,
const std::string &  snippet 
)

check that an error message carries snippet, wherever in the message it sits

Referenced by test_deck_is_rejected(), and test_not_allowed().

◆ test_deck_is_rejected()

void test_deck_is_rejected ( World &  world,
const std::string &  inputlines,
const std::string &  key 
)

a deck that cannot be parsed must be rejected, naming the offending key

these used to pass vacuously: read_input_and_commandline_options printed the error and swallowed it, so the catch block below was never entered

References param, madness::commandlineparser::set_keyval(), and test_contains().

Referenced by test_trailing_characters(), test_type_conversion3(), and test_type_conversion4().

◆ test_derived()

bool test_derived ( World &  world)

◆ test_empty_lines()

bool test_empty_lines ( World &  world)

◆ test_group_header()

bool test_group_header ( World &  world)

a group starts at its header, the line whose first word is the tag; the tag as a value in an earlier group (guess lcao before the lcao group) used to be taken for the header, and that group's remaining lines (here maxiter 3) were read instead

References param, madness::print(), madness::commandlineparser::set_keyval(), and test_same().

Referenced by main().

◆ test_not_allowed()

bool test_not_allowed ( World &  world)

◆ test_quoted_list()

bool test_quoted_list ( World &  world)

list elements may be double-quoted, as string values may: a regenerated input file (madqc's mad.in) writes a list as JSON, and the quotes used to stay in the elements, so exact matches on them (the converge_* accessors, the population schemes) failed

References param, madness::print(), madness::commandlineparser::set_keyval(), and test_same().

Referenced by main().

◆ test_same()

template<typename T >
void test_same ( const T &  t1,
const T &  t2 
)

◆ test_serialize()

bool test_serialize ( World &  world)

◆ test_trailing_characters()

bool test_trailing_characters ( World &  world)

a value that does not convert must abort the run, not be printed and ignored

swallowing it left the calculation running with the default value, so a deck that asked for something the parser choked on quietly computed something else

References madness::print(), and test_deck_is_rejected().

Referenced by main().

◆ test_type_conversion1()

bool test_type_conversion1 ( World &  world)

◆ test_type_conversion2()

bool test_type_conversion2 ( World &  world)

◆ test_type_conversion3()

bool test_type_conversion3 ( World &  world)

References madness::print(), and test_deck_is_rejected().

Referenced by main().

◆ test_type_conversion4()

bool test_type_conversion4 ( World &  world)

References madness::print(), and test_deck_is_rejected().

Referenced by main().

◆ test_type_conversion5()

bool test_type_conversion5 ( World &  world)

◆ test_type_conversion6()

bool test_type_conversion6 ( World &  world)

◆ test_type_conversion7()

bool test_type_conversion7 ( World &  world)

◆ test_type_conversion8()

bool test_type_conversion8 ( World &  world)