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

Exposes elementary check methods, with the option to plug in arbitrary Extenders to compose functionality. More...

#include <FreeCheckers.hpp>

Inheritance diagram for sequoia::testing::checker< Mode, Extender >:
sequoia::testing::basic_test< Mode, move_only_allocation_extender< Mode > > sequoia::testing::basic_test< Mode, performance_extender< Mode > > sequoia::testing::basic_test< Mode, regular_allocation_extender< Mode > > sequoia::testing::basic_test< Mode, Extender > sequoia::testing::basic_move_only_allocation_test< Mode > sequoia::testing::basic_performance_test< Mode > sequoia::testing::basic_regular_allocation_test< Mode > sequoia::testing::absolute_physical_value_test sequoia::testing::affine_coordinates_false_negative_test sequoia::testing::affine_coordinates_test sequoia::testing::affine_physical_value_test sequoia::testing::algorithms_test sequoia::testing::array_utilities_test sequoia::testing::bar_free_test sequoia::testing::basic_test_interface_free_test sequoia::testing::bitmask_free_test sequoia::testing::bucketed_sequence_regular_test sequoia::testing::chrono_false_negative_free_diagnostics sequoia::testing::chrono_false_positive_free_diagnostics sequoia::testing::commandline_arguments_false_negative_test sequoia::testing::commandline_arguments_test sequoia::testing::commands_free_test sequoia::testing::complex_false_negative_free_diagnostics sequoia::testing::complex_false_positive_free_diagnostics sequoia::testing::concepts_test sequoia::testing::container_false_negative_free_diagnostics sequoia::testing::container_false_positive_free_diagnostics sequoia::testing::convex_physical_value_test sequoia::testing::creator_free_test sequoia::testing::dependency_analyzer_free_test sequoia::testing::dynamic_directed_graph_fundamental_weight_contiguous_test sequoia::testing::dynamic_directed_graph_fundamental_weight_test sequoia::testing::dynamic_directed_graph_unweighted_contiguous_test sequoia::testing::dynamic_directed_graph_unweighted_test sequoia::testing::dynamic_undirected_embedded_graph_fundamental_weight_contiguous_test sequoia::testing::dynamic_undirected_embedded_graph_fundamental_weight_test sequoia::testing::dynamic_undirected_embedded_graph_meta_data_test sequoia::testing::dynamic_undirected_embedded_graph_shared_fundamental_weight_contiguous_test sequoia::testing::dynamic_undirected_embedded_graph_shared_fundamental_weight_test sequoia::testing::dynamic_undirected_embedded_graph_unweighted_contiguous_test sequoia::testing::dynamic_undirected_embedded_graph_unweighted_test sequoia::testing::dynamic_undirected_graph_fundamental_weight_contiguous_test sequoia::testing::dynamic_undirected_graph_fundamental_weight_test sequoia::testing::dynamic_undirected_graph_meta_data_test sequoia::testing::dynamic_undirected_graph_shared_fundamental_weight_contiguous_test sequoia::testing::dynamic_undirected_graph_shared_fundamental_weight_test sequoia::testing::dynamic_undirected_graph_shared_unsortable_weight_test sequoia::testing::dynamic_undirected_graph_unsortable_weight_test sequoia::testing::dynamic_undirected_graph_unweighted_contiguous_test sequoia::testing::dynamic_undirected_graph_unweighted_test sequoia::testing::elementary_false_negative_free_diagnostics sequoia::testing::elementary_false_positive_free_diagnostics sequoia::testing::exceptions_false_negative_free_diagnostics sequoia::testing::exceptions_false_positive_free_diagnostics sequoia::testing::experimental_test sequoia::testing::factory_false_negative_test sequoia::testing::factory_test sequoia::testing::failure_info_false_negative_test sequoia::testing::failure_info_test sequoia::testing::file_system_free_test sequoia::testing::file_system_utilities_free_test sequoia::testing::flatten_type_list_free_test sequoia::testing::free_checkers_meta_free_test sequoia::testing::function_false_negative_free_diagnostics sequoia::testing::function_false_positive_free_diagnostics sequoia::testing::indent_free_test sequoia::testing::individual_test_paths_free_test sequoia::testing::integral_physical_value_test sequoia::testing::iterator_test sequoia::testing::linear_sequence_false_negative_test sequoia::testing::linear_sequence_test sequoia::testing::materials_updater_free_test sequoia::testing::mixed_physical_value_test sequoia::testing::monotonic_sequence_false_negative_test sequoia::testing::monotonic_sequence_test sequoia::testing::move_only_false_negative_diagnostics sequoia::testing::move_only_false_positive_diagnostics sequoia::testing::move_only_state_transition_false_negative_diagnostics sequoia::testing::move_only_state_transition_false_positive_diagnostics sequoia::testing::node_storage_test sequoia::testing::normal_path_false_negative_test sequoia::testing::normal_path_test sequoia::testing::orderable_move_only_false_negative_diagnostics sequoia::testing::orderable_move_only_false_positive_diagnostics sequoia::testing::orderable_regular_false_negative_diagnostics sequoia::testing::orderable_regular_false_positive_diagnostics sequoia::testing::output_free_test sequoia::testing::partition_iterator_test sequoia::testing::partitioned_data_false_negative_test sequoia::testing::partitioned_sequence_regular_test sequoia::testing::path_false_negative_free_diagnostics sequoia::testing::path_false_positive_free_diagnostics sequoia::testing::patterns_free_test sequoia::testing::performance_utilities_test sequoia::testing::physical_value_false_negative_test sequoia::testing::physical_value_meta_free_test sequoia::testing::regular_false_negative_diagnostics sequoia::testing::regular_false_positive_diagnostics sequoia::testing::regular_state_transition_false_negative_diagnostics sequoia::testing::regular_state_transition_false_positive_diagnostics sequoia::testing::relational_false_negative_diagnostics sequoia::testing::relational_false_positive_diagnostics sequoia::testing::sequences_free_test sequoia::testing::shell_commands_false_negative_test sequoia::testing::shell_commands_test sequoia::testing::smart_pointer_false_negative_free_diagnostics sequoia::testing::smart_pointer_false_positive_free_diagnostics sequoia::testing::spaces_meta_free_test sequoia::testing::static_directed_graph_fundamental_weight_test sequoia::testing::static_directed_graph_unweighted_test sequoia::testing::static_linearly_partitioned_sequence_false_negative_test sequoia::testing::static_linearly_partitioned_sequence_test sequoia::testing::static_partitioned_sequence_test sequoia::testing::static_undirected_embedded_graph_fundamental_weight_test sequoia::testing::static_undirected_embedded_graph_unweighted_test sequoia::testing::static_undirected_graph_fundamental_weight_test sequoia::testing::static_undirected_graph_unsortable_weight_test sequoia::testing::static_undirected_graph_unweighted_test sequoia::testing::statistical_algorithms_test sequoia::testing::streaming_free_test sequoia::testing::string_false_negative_free_diagnostics sequoia::testing::string_false_positive_free_diagnostics sequoia::testing::substitutions_free_test sequoia::testing::suite_free_test sequoia::testing::sum_types_false_negative_free_diagnostics sequoia::testing::sum_types_false_positive_free_diagnostics sequoia::testing::test_edge_false_negatives sequoia::testing::test_edges sequoia::testing::test_graph_false_negatives sequoia::testing::test_graph_meta sequoia::testing::test_graph_update sequoia::testing::test_heterogeneous_node_storage sequoia::testing::test_heterogeneous_static_graph sequoia::testing::test_runner_end_to_end_test sequoia::testing::test_runner_false_negative_test sequoia::testing::test_runner_project_creation sequoia::testing::test_runner_test sequoia::testing::test_runner_test_creation sequoia::testing::test_static_graph_traversals sequoia::testing::test_static_priority_queue sequoia::testing::test_static_priority_queue_false_negatives sequoia::testing::test_static_queue sequoia::testing::test_static_queue_false_negatives sequoia::testing::test_static_stack sequoia::testing::test_static_stack_false_negatives sequoia::testing::test_subgraph sequoia::testing::threading_models_test sequoia::testing::tree_false_negative_test sequoia::testing::tree_test sequoia::testing::type_algorithms_free_test sequoia::testing::type_list_free_test sequoia::testing::type_traits_test sequoia::testing::unsafe_absolute_physical_value_test sequoia::testing::utilities_test sequoia::testing::vector_coordinates_false_negative_test sequoia::testing::vector_coordinates_test sequoia::testing::vector_physical_value_test

Public Types

using logger_type = test_logger< Mode >
 

Public Member Functions

 checker (const checker &)=delete
 
checkeroperator= (const checker &)=delete
 
template<class T , class Advisor = null_advisor, class Self >
requires supports_equality_check<Mode, T, Advisor>
bool check (this Self &self, equality_check_t, const reporter &description, const T &obtained, const T &prediction, tutor< Advisor > advisor={})
 
template<class T , class Advisor = null_advisor, class Self >
requires supports_simple_equality_check<Mode, T, Advisor>
bool check (this Self &self, simple_equality_check_t, const reporter &description, const T &obtained, const T &prediction, tutor< Advisor > advisor={})
 
template<class T , class U , minimal_reporting_permitted MinimalReporting, class Advisor = null_advisor, class Self >
requires supports_best_available_check<MinimalReporting, Mode, T, U, Advisor>
bool check (this Self &self, with_best_available_check_t< MinimalReporting >, const reporter &description, const T &obtained, const U &prediction, tutor< Advisor > advisor={})
 
template<class ValueBasedCustomizer , class T , class U , class Advisor = null_advisor, class Self >
requires supports_generalized_equivalence_check<general_equivalence_check_t<ValueBasedCustomizer>, Mode, T, U, Advisor>
bool check (this Self &self, general_equivalence_check_t< ValueBasedCustomizer > checker, const reporter &description, const T &obtained, const U &prediction, tutor< Advisor > advisor={})
 
template<class ValueBasedCustomizer , class T , class U , class Advisor = null_advisor, class Self >
requires supports_generalized_equivalence_check<general_weak_equivalence_check_t<ValueBasedCustomizer>, Mode, T, U, Advisor>
bool check (this Self &self, general_weak_equivalence_check_t< ValueBasedCustomizer > checker, const reporter &description, const T &obtained, const U &prediction, tutor< Advisor > advisor={})
 
template<class Compare , class T , class Advisor = null_advisor, class Self >
requires potential_comparator_for<Compare, T>
bool check (this Self &self, Compare compare, const reporter &description, const T &obtained, const T &prediction, tutor< Advisor > advisor={})
 
template<class Advisor = null_advisor, class Self >
bool check (this Self &self, const reporter &description, const bool obtained, tutor< Advisor > advisor={})
 
template<class Compare , std::input_or_output_iterator Iter, std::sentinel_for< Iter > Sentinel, std::input_or_output_iterator PredictionIter, std::sentinel_for< PredictionIter > PredictionSentinel, class Advisor = null_advisor, class Self >
requires supports_iterator_range_check<Compare, Mode, Iter, PredictionIter, Advisor>
bool check (this Self &self, Compare compare, const reporter &description, Iter first, Sentinel last, PredictionIter predictionFirst, PredictionSentinel predictionLast, tutor< Advisor > advisor={})
 
template<class E , class Fn , invocable_r< std::string, project_paths, std::string > Postprocessor = default_exception_message_postprocessor, class Self >
bool check_exception_thrown (this Self &self, const reporter &description, Fn &&function, Postprocessor postprocessor={})
 
log_summary summary (std::string_view prefix, const log_summary::duration delta) const
 
void reset_results () noexcept
 
bool has_critical_failures () const noexcept
 

Static Public Attributes

static constexpr test_mode mode {Mode}
 

Protected Member Functions

 checker (active_recovery_files recovery)
 
 checker (checker &&) noexcept=default
 
checkeroperator= (checker &&) noexcept=default
 
std::size_t checks () const noexcept
 
std::size_t failures () const noexcept
 
const uncaught_exception_infoexceptions_detected_by_sentinel () const noexcept
 
sentinel< Mode > make_sentinel (std::string message)
 
std::string_view top_level_message () const
 
const failure_output & failure_messages () const noexcept
 

Friends

template<class Stream >
requires serializable_to<Stream, test_logger<Mode>>
Stream & operator<< (Stream &os, const checker &c)
 

Detailed Description

template<test_mode Mode, class Extender>
class sequoia::testing::checker< Mode, Extender >

Exposes elementary check methods, with the option to plug in arbitrary Extenders to compose functionality.

This class template is templated on the enum class test_mode, with an Extender which will become variadic as soon as variadic friends are available.

In its unextended form, the class is appropriate for plugging into basic_test to generate a base class appropriate for testing free functions. Within the unit test framework various Extenders are defined. For example, there are extensions to test types with regular semantics, types with move-only semantics, to do performance tests, and more, besides. The template design allows extenders to be conveniently mixed and matched via using declarations.


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