OTest2
A C++ testing framework
Namespaces | Classes | Typedefs | Enumerations | Functions
OTest2 Namespace Reference

Namespaces

 Assertions
 
 Controls
 
 Private
 

Classes

class  AssertBean
 A helper class packing assertion condition and an assertion message together. More...
 
class  AssertBuffer
 Streambuffer interface used in the assertion API. More...
 
struct  AssertBufferAssertData
 Common data kept for opened assertion. More...
 
class  AssertBufferBase
 An empty implementation of the assertion buffer. More...
 
class  AssertBufferListener
 Listener of the string assertion buffer. More...
 
class  AssertBufferStr
 An implementation of the assertion buffer keeping messages in a memory buffer. More...
 
class  AssertContext
 Assertion context. More...
 
struct  AssertionParameter
 A helper trait - get normalized type of a captured assertion parameter. More...
 
class  AssertStream
 Assertion stream. More...
 
class  Base64Buffer
 Base64 stream buffer. More...
 
class  Base64IStream
 Input base64 stream. More...
 
class  Base64OStream
 Base64 output stream. More...
 
class  Bzip2IStream
 Bzip2 input stream. More...
 
class  Bzip2OStream
 Bzip2 output stream. More...
 
class  Case
 Interface of a test case. More...
 
class  CaseGenerated
 Common implementation of a generated test case. More...
 
class  CaseOrdinary
 An ordinary case object scheduled by the CmdFirstState, CmdRunState and CmdState commands. More...
 
class  CaseRepeaterMulti
 
class  CmdDummy
 Dummy (NOP) command. More...
 
class  CmdFirstState
 Run next test case. More...
 
class  CmdLeaveObject
 Leaving of a testing object. More...
 
class  CmdNextObject
 Schedule run of next testing object. More...
 
class  CmdRepeatObject
 Schedule repeated run of testing object. More...
 
class  CmdRunState
 Run a state. More...
 
class  CmdStartUpObject
 Start a testing object up. More...
 
class  CmdState
 
class  CmdTearDownObject
 Run a tear-down function. More...
 
class  Command
 generic command interface More...
 
class  CommandStack
 Stack of framework commands. More...
 
class  Context
 OTest2 runtime context. More...
 
class  ContextObject
 A generic interface of objects which offers OTest2 context. More...
 
class  DfltEnvironment
 Default test environment. More...
 
struct  DiffBlock
 One block change. More...
 
class  DiffLogBuilder
 Generic interface of the log builder. More...
 
class  DiffLogBuilderArray
 Builder of the diff array. More...
 
class  DiffLogBuilderBlock
 Log builder making records of whole blocks of changes. More...
 
class  DiffLogBuilderReverse
 Simple decorator - inversion of operations. More...
 
struct  DiffRecord
 A diff change record. More...
 
class  DiffScoreLCS
 Ordinary scoring function - standard LCS algorithm. More...
 
class  EmptyMarshaler
 Empty marshaler - no function is invoked. More...
 
struct  Equal
 
struct  Equal< const char *, const char * >
 
struct  EqualFP
 
class  ExcCatcher
 Generic exception catcher interface. More...
 
class  ExcCatcherOrdinary
 Ordinary exception catcher handling std::exception. More...
 
class  Exception
 Generic OTest2 exception. More...
 
class  ExcTestMarkIn
 An exception thrown from the testmark deserializer. More...
 
class  FceMarshaler
 Generic interface of a function marshaler. More...
 
class  GenericAssertion
 Implementation class of the generic assertions. More...
 
struct  Greater
 
struct  Greater< const char *, const char * >
 
struct  GreaterOrEqual
 
struct  GreaterOrEqual< const char *, const char * >
 
class  Hirschberg
 
struct  IdentityAccessor
 
class  InfixIterator
 ostream iterator with infix delimiter More...
 
class  ItemWiseAssertion
 Implementation of item-wise container assertions. More...
 
struct  Less
 
struct  Less< const char *, const char * >
 
struct  LessOrEqual
 
struct  LessOrEqual< const char *, const char * >
 
class  LexicographicalAssertion
 Implementation of lexicographical container assertions. More...
 
class  LexiGreater
 the '>' operator for lexicographical assertions More...
 
class  LexiGreaterOrEqual
 the '>=' operator for lexicographical assertions More...
 
class  LexiLess
 the '<' operator for lexicographical assertions More...
 
class  LexiLessOrEqual
 the '<=' operator for lexicographical assertions More...
 
struct  ListContainerTrait
 A simple trait allowing access to list container's iterators. More...
 
class  LongTextAssertion
 
class  MapAssertion
 Implementation of map assertions. More...
 
struct  MapContainerTrait
 A trait for access to a map container. More...
 
struct  NormalizeStringType
 A trait which is used to normalize types of string literals and C-strings. More...
 
struct  NormalizeStringType< char * >
 
struct  NormalizeStringType< char[len_]>
 
struct  NormalizeStringType< const char * >
 
struct  NormalizeStringType< const char[len_]>
 
struct  NotEqual
 
struct  NotEqual< const char *, const char * >
 
struct  NotEqualFP
 
class  Object
 Generic testing object. More...
 
class  ObjectPath
 This is a simple object keeping path to current testing object. More...
 
class  ObjectRepeater
 Generic interface of a repeater of a testing object (this repeater is not a part of the OTest2 API) More...
 
class  ObjectRepeaterFactory
 Factory of object repeater objects. More...
 
class  ObjectRepeaterFactoryMultiNested
 
class  ObjectRepeaterFactoryMultiRoot
 
class  ObjectRepeaterFactoryOnceNested
 
class  ObjectRepeaterFactoryOnceRoot
 
class  ObjectRepeaterMultiNested
 
class  ObjectRepeaterMultiRoot
 
class  ObjectRepeaterOnce
 Object repeater which runs the test just once. More...
 
class  ObjectRepeaterOnceNested
 
class  ObjectRepeaterOnceRoot
 
class  ObjectScenario
 Inteface of a testing object scheduled by the scenario (test, suite and test case) More...
 
class  Parameters
 Generic parameters of a run of an testing object. More...
 
struct  PrintTrait
 Generic type trait. More...
 
struct  PrintTrait< const char * >
 
struct  PrintTrait< Equal< A_, B_ > >
 
struct  PrintTrait< EqualFP< A_, B_, P_ > >
 
struct  PrintTrait< Greater< A_, B_ > >
 
struct  PrintTrait< GreaterOrEqual< A_, B_ > >
 
struct  PrintTrait< Less< A_, B_ > >
 
struct  PrintTrait< LessOrEqual< A_, B_ > >
 
struct  PrintTrait< LexiGreater< A_, B_ > >
 
struct  PrintTrait< LexiGreaterOrEqual< A_, B_ > >
 
struct  PrintTrait< LexiLess< A_, B_ > >
 
struct  PrintTrait< LexiLessOrEqual< A_, B_ > >
 
struct  PrintTrait< NotEqual< A_, B_ > >
 
struct  PrintTrait< NotEqualFP< A_, B_, P_ > >
 
struct  PrintTrait< std::string >
 
class  Registry
 Test registry. More...
 
class  RegressionAssertion
 Implementation class of the regression assertions. More...
 
struct  RegressionTrait
 Generic regression trait. More...
 
class  Repeater
 Generic repeater interface. More...
 
class  RepeaterValue
 Generic repeater for a list of values. More...
 
class  Reporter
 Generic test reporter. More...
 
class  ReporterConsole
 A reporter writing into a console or file. More...
 
class  ReporterJUnit
 A reporter creating JUnit XML reports. More...
 
class  ReporterStatistics
 A helper class keeping statistic counters. More...
 
class  ReporterTee
 A tee reporter - a composition of several reporters. More...
 
class  Runner
 Generic test runner. More...
 
class  RunnerFilter
 Generic interface of a runner filter. More...
 
class  RunnerFilterEntire
 Run all objects. More...
 
class  RunnerFilterTags
 Filter of tagged testing objects. More...
 
class  RunnerFilterUntagged
 Run all untagged objects. More...
 
class  RunnerOrdinary
 Ordinary implementation of the Runner interface. More...
 
class  RunnerResult
 Result of test run. More...
 
class  Scenario
 Generic scenario object. More...
 
class  ScenarioCase
 Scenario object of a test case. More...
 
class  ScenarioCaseBuilder
 A helper class for building of a case scenario (mainly composition of test sections) More...
 
class  ScenarioContainer
 Generic interface of a scenario container. More...
 
class  ScenarioIter
 Generic scenario iterator. More...
 
class  ScenarioIterContainer
 
class  ScenarioRoot
 Scenario object representing entire test. More...
 
class  ScenarioSuite
 A scenario object representing one test suite. More...
 
class  SemanticStack
 Semantic stack. More...
 
class  State
 Generic test state interface. More...
 
class  StateGenerated
 Common implementation of generated states. More...
 
class  StateOrdinary
 Ordinary state class. More...
 
class  StateRegistry
 Registry of test states. More...
 
class  Suite
 Suite interface. More...
 
class  SuiteGenerated
 Helper class for suites generated by the otest2 preprocessor. More...
 
class  SuiteRepeaterMulti
 
class  TagExpressionException
 Invalid tag expression. More...
 
class  Tags
 List of tags assigned to a testing object. More...
 
class  TagsStack
 Stack of assigned tags. More...
 
class  TeeOStream
 An output stream working as the tee unix utility. More...
 
class  TerminalDriver
 Terminal driver. More...
 
class  TestMark
 Generic interface of a test mark node. More...
 
class  TestMarkBool
 Bool test mark. More...
 
class  TestMarkBuilder
 Builder of test marks. More...
 
class  TestMarkFactory
 A factory of testmark objects used for deserialization. More...
 
class  TestMarkFloat
 Floating point test mark. More...
 
class  TestMarkFormatter
 Generic interface of the testmark formatter. More...
 
class  TestMarkFormatterAssert
 Testmark formatter working with the assertion stream. More...
 
class  TestMarkFormatterIOS
 Implementation of the testmark formatter based on an IO stream. More...
 
class  TestMarkHash
 A simple generator of a testmark hash. More...
 
class  TestMarkIn
 A generic interface of a testmark deserializer. More...
 
class  TestMarkInBin
 Testmark deserializer based on a binary stream. More...
 
class  TestMarkInBinIOS
 Binary testmark deserializer based on a C++ input stream. More...
 
class  TestMarkInt
 Integer test mark. More...
 
class  TestMarkList
 Ordered list of nested test marks. More...
 
class  TestMarkMap
 Unordered indexed multimap of test marks. More...
 
class  TestMarkNull
 Test mark node representing a null pointer. More...
 
class  TestMarkOut
 A generic interface of a serializer of test marks. More...
 
class  TestMarkOutBin
 Generic implementation of the testmark serializer based on a binary stream. More...
 
class  TestMarkOutBinIOS
 A binary testmark serializer based on the standard C++ streams. More...
 
class  TestMarkPrefix
 A generic test mark with string prefix. More...
 
class  TestMarkPrinter
 Printer of testmarks. More...
 
class  TestMarkStorage
 Storage of test marks. More...
 
class  TestMarkString
 String test mark. More...
 
class  TestRoot
 Root testing object. More...
 
class  TimeSource
 Generic interface for getting of current time. More...
 
class  TimeSourceSys
 Source of current system time. More...
 
struct  TypeOfMine
 
struct  TypeOfParent
 
struct  TypeOfParent< T_ & >
 
struct  TypePack
 
struct  TypeTrait
 Generic type trait used by the framework. More...
 
class  UserData
 An object keeping user data passed from user's custom main function. More...
 
class  UserDataMissingException
 An exception thrown if user datum is missing. More...
 
class  UserDataWrongTypeException
 An exception thrown if the expected type of a user datum is different than the actual one. More...
 

Typedefs

typedef std::shared_ptr< AssertBufferAssertBufferPtr
 
typedef std::shared_ptr< AssertBufferStrAssertBufferStrPtr
 
typedef std::shared_ptr< CaseOrdinaryCaseOrdinaryPtr
 Shared pointer of the ordinary cases. More...
 
typedef std::shared_ptr< CommandCommandPtr
 
typedef std::vector< DiffRecordDiffLogArray
 Ordered (indexes into the sequences) list of diff changes. More...
 
typedef std::vector< DiffBlockDiffLogBlocks
 Ordered (indexes into the sequences) list of diff changes. More...
 
typedef std::shared_ptr< FceMarshalerFceMarshalerPtr
 
typedef std::shared_ptr< ObjectObjectPtr
 Shared pointer to a testing object. More...
 
typedef std::shared_ptr< ObjectRepeaterFactoryObjectRepeaterFactoryPtr
 Shared pointer of the object repeater factories. More...
 
typedef std::shared_ptr< ObjectRepeaterObjectRepeaterPtr
 Shared pointer of the object repeater objects. More...
 
typedef std::shared_ptr< ObjectScenarioObjectScenarioPtr
 Shared pointer of a testing object scheduled by the scenario. More...
 
typedef std::shared_ptr< ScenarioContainerScenarioContainerPtr
 Shared pointer to a scenario container. More...
 
typedef std::shared_ptr< ScenarioIterScenarioIterPtr
 Shared pointer of the scenario iter interface. More...
 
typedef std::shared_ptr< ScenarioScenarioPtr
 Shared pointer of the scenario object. More...
 
typedef std::shared_ptr< StateOrdinaryStateOrdinaryPtr
 Shared pointer of ordinary states. More...
 
typedef std::shared_ptr< StateStatePtr
 Pointer to test state objects. More...
 
typedef std::uint64_t TestMarkHashCode
 
typedef std::shared_ptr< TestMarkTestMarkPtr
 

Enumerations

enum  DiffAction : uint8_t { DiffAction::SUBSTR = 0, DiffAction::CHANGE, DiffAction::INSERT, DiffAction::DELETE }
 
enum  Color : std::uint8_t {
  Color::BLACK = 0, Color::RED, Color::GREEN, Color::YELLOW,
  Color::BLUE, Color::MAGENTA, Color::CYAN, Color::WHITE
}
 List of colors supported by the reporters. More...
 
enum  Style : std::uint8_t { Style::NORMAL = 0, Style::BOLD, Style::DIM }
 Style of shown text. More...
 
enum  TestMarkOutBinTag : std::uint8_t {
  TestMarkOutBinTag::TYPE = 1, TestMarkOutBinTag::INT_SHORT = 2, TestMarkOutBinTag::INT_NORMAL = 3, TestMarkOutBinTag::INT_HUGE = 4,
  TestMarkOutBinTag::FLOAT = 5, TestMarkOutBinTag::STRING_SHORT = 6, TestMarkOutBinTag::STRING_NORMAL = 7, TestMarkOutBinTag::STRING_HUGE = 8
}
 

Functions

template<typename... Values_>
std::ostream & operator<< (std::ostream &os_, const Private::Manipulator< Values_... > &manip_)
 Application of manipulators. More...
 
Private::Manipulator< Colorforeground (Color color_)
 Foreground color manipulator. More...
 
Private::Manipulator< Colorbackground (Color color_)
 Background color manipulator. More...
 
Private::Manipulator< StyletextStyle (Style style_)
 Text style manipulator. More...
 
Private::Manipulator resetAttrs ()
 Reset color and style attributes - manipulator. More...
 
Private::Manipulator< int > assertPar (int index_)
 Print assertion parameter. More...
 
Private::Manipulator commitMsg ()
 Commit current assertion message. More...
 
constexpr long double DEFAULT_FLOAT_PRECISION (1.0e-12)
 Default precision for floating point comparisons. More...
 
int defaultMainLoop (Runner &runner_)
 Default main loop. More...
 
template<typename Type_ , typename ScoreFce_ = DiffScoreLCS<Type_>>
void hirschbergDiff (const Type_ left_[], std::size_t left_len_, const Type_ right_[], std::size_t right_len_, DiffLogArray &diff_log_, ScoreFce_ score_fce_=ScoreFce_())
 Compute the diff algorithm for specified sequences. More...
 
template<typename Type_ , typename ScoreFce_ = DiffScoreLCS<Type_>>
void hirschbergDiff (const Type_ left_[], std::size_t left_len_, const Type_ right_[], std::size_t right_len_, DiffLogBuilder &log_builder_, ScoreFce_ score_fce_=ScoreFce_())
 Compute the diff algorithm for specified sequences. More...
 
template<typename Type_ , typename ScoreFce_ = DiffScoreLCS<Type_>>
void hirschbergDiff (const std::vector< Type_ > &left_, const std::vector< Type_ > &right_, DiffLogBuilder &log_builder_, ScoreFce_ score_fce_=ScoreFce_())
 Compute the diff algorithm for specified sequences. More...
 
void internalError (const Context &context_, const std::string &message_) noexcept
 Fail the running test because of an internal error. More...
 
void printOrdinalNumber (std::ostream &os_, int number_)
 Format the ordinal number with appropriate suffix. More...
 
void printTestMarkDiff (TestMarkFormatter &formatter_, const std::vector< TestMark::LinearizedRecord > &left_, const std::vector< TestMark::LinearizedRecord > &right_, const DiffLogBlocks &diff_log_, int context_)
 Print difference of two testmarks. More...
 
template<typename T_ >
void odelete (T_ *&object_)
 Delete a pointer and set it invalid. More...
 
template<typename Type_ , typename... Args_>
std::unique_ptr< Type_ > make_unique (Args_ &&... args_)
 Replacement of the unique_ptr function missing in C++11. More...
 
template std::ostream & operator<< (std::ostream &os_, const Private::Manipulator< Color > &)
 
template std::ostream & operator<< (std::ostream &os_, const Private::Manipulator< Style > &)
 
template std::ostream & operator<< (std::ostream &os_, const Private::Manipulator< int > &)
 
template std::ostream & operator<< (std::ostream &os_, const Private::Manipulator<> &)
 
bool runUserCode (const Context &context_, std::function< void(const Context &)> ftor_) noexcept
 

Typedef Documentation

◆ AssertBufferPtr

typedef std::shared_ptr<AssertBuffer> OTest2::AssertBufferPtr

Definition at line 27 of file assertbufferptr.h.

◆ AssertBufferStrPtr

typedef std::shared_ptr<AssertBufferStr> OTest2::AssertBufferStrPtr

Definition at line 27 of file assertbufferstrptr.h.

◆ CaseOrdinaryPtr

typedef std::shared_ptr<CaseOrdinary> OTest2::CaseOrdinaryPtr

Shared pointer of the ordinary cases.

Definition at line 27 of file caseordinaryptr.h.

◆ CommandPtr

typedef std::shared_ptr<Command> OTest2::CommandPtr

Definition at line 27 of file commandptr.h.

◆ DiffLogArray

typedef std::vector<DiffRecord> OTest2::DiffLogArray

Ordered (indexes into the sequences) list of diff changes.

Definition at line 47 of file difflogarray.h.

◆ DiffLogBlocks

typedef std::vector<DiffBlock> OTest2::DiffLogBlocks

Ordered (indexes into the sequences) list of diff changes.

Definition at line 42 of file difflogblock.h.

◆ FceMarshalerPtr

typedef std::shared_ptr<FceMarshaler> OTest2::FceMarshalerPtr

Definition at line 27 of file fcemarshalerptr.h.

◆ ObjectPtr

typedef std::shared_ptr<Object> OTest2::ObjectPtr

Shared pointer to a testing object.

Definition at line 27 of file objectptr.h.

◆ ObjectRepeaterFactoryPtr

Shared pointer of the object repeater factories.

Definition at line 27 of file objectrepeaterfactoryptr.h.

◆ ObjectRepeaterPtr

typedef std::shared_ptr<ObjectRepeater> OTest2::ObjectRepeaterPtr

Shared pointer of the object repeater objects.

Definition at line 27 of file objectrepeaterptr.h.

◆ ObjectScenarioPtr

typedef std::shared_ptr<ObjectScenario> OTest2::ObjectScenarioPtr

Shared pointer of a testing object scheduled by the scenario.

Definition at line 27 of file objectscenarioptr.h.

◆ ScenarioContainerPtr

Shared pointer to a scenario container.

Definition at line 27 of file scenariocontainerptr.h.

◆ ScenarioIterPtr

typedef std::shared_ptr<ScenarioIter> OTest2::ScenarioIterPtr

Shared pointer of the scenario iter interface.

Definition at line 27 of file scenarioiterptr.h.

◆ ScenarioPtr

typedef std::shared_ptr<Scenario> OTest2::ScenarioPtr

Shared pointer of the scenario object.

Definition at line 27 of file scenarioptr.h.

◆ StateOrdinaryPtr

typedef std::shared_ptr<StateOrdinary> OTest2::StateOrdinaryPtr

Shared pointer of ordinary states.

Definition at line 27 of file stateordinaryptr.h.

◆ StatePtr

typedef std::shared_ptr<State> OTest2::StatePtr

Pointer to test state objects.

Definition at line 27 of file stateptr.h.

◆ TestMarkHashCode

typedef std::uint64_t OTest2::TestMarkHashCode

Definition at line 28 of file testmarkhashcode.h.

◆ TestMarkPtr

typedef std::shared_ptr<TestMark> OTest2::TestMarkPtr

Definition at line 26 of file testmarkptr.h.

Enumeration Type Documentation

◆ Color

enum OTest2::Color : std::uint8_t
strong

List of colors supported by the reporters.

Enumerator
BLACK 
RED 
GREEN 
YELLOW 
BLUE 
MAGENTA 
CYAN 
WHITE 

Definition at line 30 of file reporterattributes.h.

◆ DiffAction

enum OTest2::DiffAction : uint8_t
strong
Enumerator
SUBSTR 

the item is the same

CHANGE 

the item has changed

INSERT 

the item has been inserted into the left sequence

DELETE 

the item has been deleted from the right sequence

Definition at line 31 of file hirschberg.h.

◆ Style

enum OTest2::Style : std::uint8_t
strong

Style of shown text.

Enumerator
NORMAL 
BOLD 
DIM 

Definition at line 44 of file reporterattributes.h.

◆ TestMarkOutBinTag

enum OTest2::TestMarkOutBinTag : std::uint8_t
strong
Enumerator
TYPE 
INT_SHORT 
INT_NORMAL 
INT_HUGE 
FLOAT 
STRING_SHORT 
STRING_NORMAL 
STRING_HUGE 

Definition at line 27 of file testmarkoutbintags.h.

Function Documentation

◆ assertPar()

Private::Manipulator< int > OTest2::assertPar ( int  index_)

Print assertion parameter.

Parameters
index_Zero based index of the parameter

Definition at line 196 of file assertstream.cpp.

◆ background()

Private::Manipulator< Color > OTest2::background ( Color  color_)

Background color manipulator.

Parameters
color_The color

Definition at line 182 of file assertstream.cpp.

◆ commitMsg()

Private::Manipulator OTest2::commitMsg ( )

Commit current assertion message.

Definition at line 201 of file assertstream.cpp.

◆ DEFAULT_FLOAT_PRECISION()

constexpr long double OTest2::DEFAULT_FLOAT_PRECISION ( 1.0e-  12)
constexpr

Default precision for floating point comparisons.

◆ defaultMainLoop()

int OTest2::defaultMainLoop ( Runner runner_)

Default main loop.

Parameters
runner_Test runner used in the loop
Returns
An exit code (return value from the main function)

Definition at line 28 of file dfltloop.cpp.

◆ foreground()

Private::Manipulator< Color > OTest2::foreground ( Color  color_)

Foreground color manipulator.

Parameters
color_The color

Definition at line 177 of file assertstream.cpp.

◆ hirschbergDiff() [1/3]

template<typename Type_ , typename ScoreFce_ = DiffScoreLCS<Type_>>
void OTest2::hirschbergDiff ( const std::vector< Type_ > &  left_,
const std::vector< Type_ > &  right_,
DiffLogBuilder log_builder_,
ScoreFce_  score_fce_ = ScoreFce_() 
)

Compute the diff algorithm for specified sequences.

Parameters
[in]left_left sequence
[in]right_right sequence
[out]log_builder_A builder of the diff log
[in]score_fce_A scoring function

Definition at line 412 of file hirschberg.h.

◆ hirschbergDiff() [2/3]

template<typename Type_ , typename ScoreFce_ = DiffScoreLCS<Type_>>
void OTest2::hirschbergDiff ( const Type_  left_[],
std::size_t  left_len_,
const Type_  right_[],
std::size_t  right_len_,
DiffLogArray diff_log_,
ScoreFce_  score_fce_ = ScoreFce_() 
)

Compute the diff algorithm for specified sequences.

Parameters
[in]left_left sequence
[in]left_len_Length of the left sequence
[in]right_right sequence
[in]right_len_Length of the right sequence
[out]diff_log_list of diff changes
[in]score_fce_A scoring function

Definition at line 100 of file difflogarray.h.

◆ hirschbergDiff() [3/3]

template<typename Type_ , typename ScoreFce_ = DiffScoreLCS<Type_>>
void OTest2::hirschbergDiff ( const Type_  left_[],
std::size_t  left_len_,
const Type_  right_[],
std::size_t  right_len_,
DiffLogBuilder log_builder_,
ScoreFce_  score_fce_ = ScoreFce_() 
)

Compute the diff algorithm for specified sequences.

Parameters
[in]left_left sequence
[in]left_len_Length of the left sequence
[in]right_right sequence
[in]right_len_Length of the right sequence
[out]log_builder_A builder of the diff log
[in]score_fce_A scoring function

Definition at line 391 of file hirschberg.h.

◆ internalError()

void OTest2::internalError ( const Context context_,
const std::string &  message_ 
)
noexcept

Fail the running test because of an internal error.

Parameters
context_The OTest2 context
message_An error message

Definition at line 28 of file internalerror.cpp.

◆ make_unique()

template<typename Type_ , typename... Args_>
std::unique_ptr<Type_> OTest2::make_unique ( Args_ &&...  args_)

Replacement of the unique_ptr function missing in C++11.

Definition at line 44 of file utils.h.

◆ odelete()

template<typename T_ >
void OTest2::odelete ( T_ *&  object_)

Delete a pointer and set it invalid.

Parameters
object_The pointer

Definition at line 34 of file utils.h.

◆ operator<<() [1/5]

template std::ostream& OTest2::operator<< ( std::ostream &  os_,
const Private::Manipulator< Color > &   
)

◆ operator<<() [2/5]

template std::ostream& OTest2::operator<< ( std::ostream &  os_,
const Private::Manipulator< int > &   
)

◆ operator<<() [3/5]

template std::ostream& OTest2::operator<< ( std::ostream &  os_,
const Private::Manipulator< Style > &   
)

◆ operator<<() [4/5]

template<typename... Values_>
std::ostream & OTest2::operator<< ( std::ostream &  os_,
const Private::Manipulator< Values_... > &  manip_ 
)

Application of manipulators.

Definition at line 157 of file assertstream.cpp.

◆ operator<<() [5/5]

template std::ostream& OTest2::operator<< ( std::ostream &  os_,
const Private::Manipulator<> &   
)

◆ printOrdinalNumber()

void OTest2::printOrdinalNumber ( std::ostream &  os_,
int  number_ 
)

Format the ordinal number with appropriate suffix.

Parameters
[out]os_An output stream
[in]number_The number

Definition at line 25 of file printutils.cpp.

◆ printTestMarkDiff()

void OTest2::printTestMarkDiff ( TestMarkFormatter formatter_,
const std::vector< TestMark::LinearizedRecord > &  left_,
const std::vector< TestMark::LinearizedRecord > &  right_,
const DiffLogBlocks diff_log_,
int  context_ 
)

Print difference of two testmarks.

Parameters
os_An output stream
left_The left testmark
right_The right testmark
diff_log_The difference of the marks
context_Count of lines printed as a context of each change

Definition at line 28 of file testmarkdiffprinter.cpp.

◆ resetAttrs()

Private::Manipulator OTest2::resetAttrs ( )

Reset color and style attributes - manipulator.

Definition at line 192 of file assertstream.cpp.

◆ runUserCode()

bool OTest2::runUserCode ( const Context context_,
std::function< void(const Context &)>  ftor_ 
)
noexcept

Definition at line 33 of file runcode.cpp.

◆ textStyle()

Private::Manipulator< Style > OTest2::textStyle ( Style  style_)

Text style manipulator.

Parameters
style_The text style

Definition at line 187 of file assertstream.cpp.