Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TestManager Class Reference

TestManager class for managing and performing tests. More...

#include <testManager.h>

Classes

struct  Node
 
struct  Stat
 

Public Member Functions

void interactive ()
 
void batch (const std::string &arg)
 
void batch_recursive (const std::string &arg="")
 
void batch_recursive (const int argc, char **argv)
 
bool registerTest (const std::string &key, const Test_function func)
 
void list ()
 
int getCheckPrecision () const
 

Static Public Member Functions

static TestManagerInstance ()
 
static bool RegisterTest (const std::string &key, const Test_function func)
 

Static Public Attributes

static const std::string class_name = "TestManager"
 

Private Member Functions

 TestManager ()
 
 TestManager (const TestManager &)
 
TestManageroperator= (const TestManager &)
 
 ~TestManager ()
 
Nodefind_node (Node *p, const std::vector< std::string > &v)
 
Nodeappend_key (Node *p, const std::vector< std::string > &v)
 
Nodeappend_key (Node *p, int argc, char **argv)
 
void stat_report () const
 
std::string find_fullpath (const Node *p, const std::string &path="")
 
void interactive_master ()
 
void interactive_slave ()
 
void run (const Node *p)
 
void run_traversal (const Node *p)
 
bool menu (const Node *p, const bool is_top=false)
 
void banner ()
 
void set_precision ()
 
void list_traverse (const Node *p, const std::string &prefix)
 
void traverse (const Node *p, const std::string &indent="")
 

Static Private Member Functions

static void CreateInstance ()
 

Private Attributes

Bridge::VerboseLevel m_vl
 
Node m_root_node
 
int m_precision
 
Stat m_stat
 

Static Private Attributes

static TestManagers_instance = 0
 

Detailed Description

TestManager class for managing and performing tests.

TestManager class provides framework for managing and performing various tests. Tests are registered to TestManager, and performed interactively through hierarchical menu, or in a batch mode by specifying test names.

Each test is in a form of a function which takes no argument, and returns status whether the test is successful or not. It is expected that each test is independent with each other, leaving no side effects.

TestManager collects and reports statistics of success/failure of tests when 'all' of the subtree of tests are selected in interactive mode.

N.B. TestManager is a singleton class.

Definition at line 52 of file testManager.h.

Constructor & Destructor Documentation

TestManager::TestManager ( )
private

Definition at line 69 of file testManager.cpp.

TestManager::TestManager ( const TestManager )
private
TestManager::~TestManager ( )
private

Definition at line 78 of file testManager.cpp.

Member Function Documentation

TestManager::Node * TestManager::append_key ( TestManager::Node p,
const std::vector< std::string > &  v 
)
private

Definition at line 393 of file testManager.cpp.

TestManager::Node * TestManager::append_key ( TestManager::Node p,
int  argc,
char **  argv 
)
private

Definition at line 435 of file testManager.cpp.

void TestManager::banner ( )
private

Definition at line 30 of file testManager.cpp.

void TestManager::batch ( const std::string &  arg)

Definition at line 126 of file testManager.cpp.

void TestManager::batch_recursive ( const std::string &  arg = "")

Definition at line 139 of file testManager.cpp.

void TestManager::batch_recursive ( const int  argc,
char **  argv 
)

Definition at line 168 of file testManager.cpp.

void TestManager::CreateInstance ( )
staticprivate

Definition at line 60 of file testManager.cpp.

std::string TestManager::find_fullpath ( const Node p,
const std::string &  path = "" 
)
private

Definition at line 461 of file testManager.cpp.

TestManager::Node * TestManager::find_node ( TestManager::Node p,
const std::vector< std::string > &  v 
)
private

Definition at line 367 of file testManager.cpp.

int TestManager::getCheckPrecision ( ) const
inline

Definition at line 73 of file testManager.h.

TestManager & TestManager::Instance ( )
static

Definition at line 41 of file testManager.cpp.

void TestManager::interactive ( )

Definition at line 85 of file testManager.cpp.

void TestManager::interactive_master ( )
private

Definition at line 96 of file testManager.cpp.

void TestManager::interactive_slave ( )
private

Definition at line 108 of file testManager.cpp.

void TestManager::list ( )

Definition at line 578 of file testManager.cpp.

void TestManager::list_traverse ( const Node p,
const std::string &  prefix 
)
private

Definition at line 549 of file testManager.cpp.

bool TestManager::menu ( const Node p,
const bool  is_top = false 
)
private

Definition at line 256 of file testManager.cpp.

TestManager& TestManager::operator= ( const TestManager )
private
bool TestManager::registerTest ( const std::string &  key,
const Test_function  func 
)

Definition at line 203 of file testManager.cpp.

static bool TestManager::RegisterTest ( const std::string &  key,
const Test_function  func 
)
inlinestatic

Definition at line 69 of file testManager.h.

void TestManager::run ( const Node p)
private

Definition at line 211 of file testManager.cpp.

void TestManager::run_traversal ( const Node p)
private

Definition at line 241 of file testManager.cpp.

void TestManager::set_precision ( )
private

Definition at line 343 of file testManager.cpp.

void TestManager::stat_report ( ) const
private

Definition at line 514 of file testManager.cpp.

void TestManager::traverse ( const Node p,
const std::string &  indent = "" 
)
private

Definition at line 585 of file testManager.cpp.

Member Data Documentation

const std::string TestManager::class_name = "TestManager"
static

Definition at line 55 of file testManager.h.

int TestManager::m_precision
private

Definition at line 151 of file testManager.h.

Node TestManager::m_root_node
private

Definition at line 148 of file testManager.h.

Stat TestManager::m_stat
private

Definition at line 154 of file testManager.h.

Bridge::VerboseLevel TestManager::m_vl
private

Definition at line 146 of file testManager.h.

TestManager * TestManager::s_instance = 0
staticprivate

Definition at line 87 of file testManager.h.


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