C++Spec 1.0.0
BDD testing for C++
Loading...
Searching...
No Matches
CppSpec::Runnable Class Referenceabstract

Base class for all objects in the execution tree. More...

#include <runnable.hpp>

Inheritance diagram for CppSpec::Runnable:

Public Member Functions

 Runnable (std::source_location location)
 
bool has_parent () noexcept
 Check to see if the Runnable has a parent.
 
bool has_parent () const noexcept
 
Runnableget_parent () noexcept
 Get the Runnable's parent.
 
const Runnableget_parent () const noexcept
 
std::list< std::shared_ptr< Runnable > > & get_children () noexcept
 
const std::list< std::shared_ptr< Runnable > > & get_children () const noexcept
 
template<class C>
C * get_parent_as () noexcept
 
template<class C>
const C * get_parent_as () const noexcept
 
template<typename T, typename... Args>
T * make_child (Args &&... args)
 
std::string padding () const noexcept
 Generate padding (indentation) fore the current object.
 
std::source_location get_location () const noexcept
 
void set_location (std::source_location location) noexcept
 
virtual void run ()=0
 
virtual void timed_run ()
 
std::chrono::duration< double > get_runtime () const
 
std::chrono::time_point< std::chrono::system_clock > get_start_time () const
 
virtual Result get_result () const
 
size_t num_tests () const noexcept
 
size_t num_failures () const noexcept
 

Detailed Description

Base class for all objects in the execution tree.

A base class for all objects that comprise some abstract structure with a nesting concept. Used to propogate ('pass') failures from leaf to root without exceptions (and/or code-jumping), thus allowing execution to continue virtually uninterrupted.

Member Function Documentation

◆ padding()

std::string CppSpec::Runnable::padding ( ) const
inlinenodiscardnoexcept

Generate padding (indentation) fore the current object.

Returns
A string of spaces for use in pretty-printing.

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