Sequoia
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
sequoia::testing::regular_extender< Mode > Class Template Reference

Extender for testing classes exhibiting regular/std::totally_ordered semantics. More...

#include <RegularTestCore.hpp>

Public Member Functions

template<pseudoregular T, class Self >
void check_semantics (this Self &self, const reporter &description, const T &x, const T &y)
 Prerequisite: x != y.
 
template<pseudoregular T, class U , class Self >
requires equivalence_checkable_for_semantics<Mode, T, U>
void check_semantics (this Self &self, const reporter &description, const T &x, const T &y, const U &xEquivalent, const U &yEquivalent)
 
template<pseudoregular T, class U , class V , class Self >
requires equivalence_checkable_for_semantics<Mode, T, U> && checkable_against_for_semantics<Mode, T, V>
void check_semantics (this Self &self, const reporter &description, const T &x, const T &y, const U &xEquivalent, const U &yEquivalent, const V &movedFromPostConstruction, const V &movedFromPostAssignment)
 
template<pseudoregular T, class Self >
requires std::totally_ordered<T>
void check_semantics (this Self &self, const reporter &description, const T &x, const T &y, std::weak_ordering order)
 Prerequisite: x != y, with values consistent with order.
 
template<pseudoregular T, class U , class Self >
requires std::totally_ordered<T> && equivalence_checkable_for_semantics<Mode, T, U>
void check_semantics (this Self &self, const reporter &description, const T &x, const T &y, const U &xEquivalent, const U &yEquivalent, std::weak_ordering order)
 
template<pseudoregular T, class U , class V , class Self >
requires std::totally_ordered<T> && equivalence_checkable_for_semantics<Mode, T, U> && checkable_against_for_semantics<Mode, T, V>
void check_semantics (this Self &self, const reporter &description, const T &x, const T &y, const U &xEquivalent, const U &yEquivalent, const V &movedFromPostConstruction, const V &movedFromPostAssignment, std::weak_ordering order)
 
template<pseudoregular T, std::invocable< T & > Mutator, class Self >
void check_semantics (this Self &self, const reporter &description, const T &x, const T &y, Mutator m)
 Prerequisite: x != y.
 
template<pseudoregular T, class U , std::invocable< T & > Mutator, class Self >
requires equivalence_checkable_for_semantics<Mode, T, U>
void check_semantics (this Self &self, const reporter &description, const T &x, const T &y, const U &xEquivalent, const U &yEquivalent, Mutator m)
 
template<pseudoregular T, class U , class V , std::invocable< T & > Mutator, class Self >
requires equivalence_checkable_for_semantics<Mode, T, U>
void check_semantics (this Self &self, const reporter &description, const T &x, const T &y, const U &xEquivalent, const U &yEquivalent, const V &movedFromPostConstruction, const V &movedFromPostAssignment, Mutator m)
 
template<pseudoregular T, std::invocable< T & > Mutator, class Self >
requires std::totally_ordered<T>
void check_semantics (this Self &self, const reporter &description, const T &x, const T &y, std::weak_ordering order, Mutator m)
 Prerequisites: x != y, with values consistent with order.
 
template<pseudoregular T, class U , std::invocable< T & > Mutator, class Self >
requires std::totally_ordered<T> && equivalence_checkable_for_semantics<Mode, T, U>
void check_semantics (this Self &self, const reporter &description, const T &x, const T &y, const U &xEquivalent, const U &yEquivalent, std::weak_ordering order, Mutator m)
 
template<pseudoregular T, class U , class V , std::invocable< T & > Mutator, class Self >
requires equivalence_checkable_for_semantics<Mode, T, U>
void check_semantics (this Self &self, const reporter &description, const T &x, const T &y, const U &xEquivalent, const U &yEquivalent, const V &movedFromPostConstruction, const V &movedFromPostAssignment, std::weak_ordering order, Mutator m)
 

Static Public Attributes

static constexpr test_mode mode {Mode}
 

Protected Member Functions

 regular_extender (regular_extender &&) noexcept=default
 
regular_extenderoperator= (regular_extender &&) noexcept=default
 

Detailed Description

template<test_mode Mode>
class sequoia::testing::regular_extender< Mode >

Extender for testing classes exhibiting regular/std::totally_ordered semantics.

This class is designed to be plugged into the checker class template, in order to extend its functionality.

Member Function Documentation

◆ check_semantics() [1/8]

template<test_mode Mode>
template<pseudoregular T, class U , class Self >
requires equivalence_checkable_for_semantics<Mode, T, U>
void sequoia::testing::regular_extender< Mode >::check_semantics ( this Self &  self,
const reporter description,
const T &  x,
const T &  y,
const U &  xEquivalent,
const U &  yEquivalent 
)
inline

Prerequisites: x != y x equivalent to xEquivalent y equivalent to yEquivalent

◆ check_semantics() [2/8]

template<test_mode Mode>
template<pseudoregular T, class U , class V , class Self >
requires equivalence_checkable_for_semantics<Mode, T, U> && checkable_against_for_semantics<Mode, T, V>
void sequoia::testing::regular_extender< Mode >::check_semantics ( this Self &  self,
const reporter description,
const T &  x,
const T &  y,
const U &  xEquivalent,
const U &  yEquivalent,
const V &  movedFromPostConstruction,
const V &  movedFromPostAssignment 
)
inline

Prerequisites: x != y x equivalent to xEquivalent y equivalent to yEquivalent

◆ check_semantics() [3/8]

template<test_mode Mode>
template<pseudoregular T, class U , class V , std::invocable< T & > Mutator, class Self >
requires equivalence_checkable_for_semantics<Mode, T, U>
void sequoia::testing::regular_extender< Mode >::check_semantics ( this Self &  self,
const reporter description,
const T &  x,
const T &  y,
const U &  xEquivalent,
const U &  yEquivalent,
const V &  movedFromPostConstruction,
const V &  movedFromPostAssignment,
Mutator  m 
)
inline

Prerequisites: x != y x equivalent to xEquivalent y equivalent to yEquivalent

◆ check_semantics() [4/8]

template<test_mode Mode>
template<pseudoregular T, class U , class V , class Self >
requires std::totally_ordered<T> && equivalence_checkable_for_semantics<Mode, T, U> && checkable_against_for_semantics<Mode, T, V>
void sequoia::testing::regular_extender< Mode >::check_semantics ( this Self &  self,
const reporter description,
const T &  x,
const T &  y,
const U &  xEquivalent,
const U &  yEquivalent,
const V &  movedFromPostConstruction,
const V &  movedFromPostAssignment,
std::weak_ordering  order 
)
inline

Prerequisites: x != y, with values consistent with order x equivalent to xEquivalent y equivalent to yEquivalent

◆ check_semantics() [5/8]

template<test_mode Mode>
template<pseudoregular T, class U , class V , std::invocable< T & > Mutator, class Self >
requires equivalence_checkable_for_semantics<Mode, T, U>
void sequoia::testing::regular_extender< Mode >::check_semantics ( this Self &  self,
const reporter description,
const T &  x,
const T &  y,
const U &  xEquivalent,
const U &  yEquivalent,
const V &  movedFromPostConstruction,
const V &  movedFromPostAssignment,
std::weak_ordering  order,
Mutator  m 
)
inline

Prerequisites: x != y x equivalent to xEquivalent y equivalent to yEquivalent

◆ check_semantics() [6/8]

template<test_mode Mode>
template<pseudoregular T, class U , std::invocable< T & > Mutator, class Self >
requires equivalence_checkable_for_semantics<Mode, T, U>
void sequoia::testing::regular_extender< Mode >::check_semantics ( this Self &  self,
const reporter description,
const T &  x,
const T &  y,
const U &  xEquivalent,
const U &  yEquivalent,
Mutator  m 
)
inline

Prerequisites: x != y x equivalent to xEquivalent y equivalent to yEquivalent

◆ check_semantics() [7/8]

template<test_mode Mode>
template<pseudoregular T, class U , class Self >
requires std::totally_ordered<T> && equivalence_checkable_for_semantics<Mode, T, U>
void sequoia::testing::regular_extender< Mode >::check_semantics ( this Self &  self,
const reporter description,
const T &  x,
const T &  y,
const U &  xEquivalent,
const U &  yEquivalent,
std::weak_ordering  order 
)
inline

Prerequisites: x != y, with values consistent with order x equivalent to xEquivalent y equivalent to yEquivalent

◆ check_semantics() [8/8]

template<test_mode Mode>
template<pseudoregular T, class U , std::invocable< T & > Mutator, class Self >
requires std::totally_ordered<T> && equivalence_checkable_for_semantics<Mode, T, U>
void sequoia::testing::regular_extender< Mode >::check_semantics ( this Self &  self,
const reporter description,
const T &  x,
const T &  y,
const U &  xEquivalent,
const U &  yEquivalent,
std::weak_ordering  order,
Mutator  m 
)
inline

Prerequisites: x != y, with values consistent with order x equivalent to xEquivalent y equivalent to yEquivalent


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