Aller au contenu
Bienvenue sur la nouvelle documentation de CppUtils !
using CppUtils::UnitTest::TestSuite::Logger = Logger<"UnitTests">;
explicit TestSuite::TestSuite(const std::string& name, std::vector<std::string> prerequisites, std::function<void(TestSuite&)> function);

explicit TestSuite::TestSuite(std::string name, std::function<void(TestSuite&)> function);

auto TestSuite::addTest(std::string name, std::function<void(std::stop_token)> function, std::chrono::seconds timeout = std::chrono::seconds{10}) -> void;

auto TestSuite::addTest(std::string name, std::function<void()> function, std::chrono::seconds timeout = std::chrono::seconds{10}) -> void;


auto TestSuite::skipIf(bool condition, std::string message, std::source_location sourceLocation = std::source_location::current()) -> void;

auto TestSuite::expect(const auto& condition, std::source_location sourceLocation = std::source_location::current()) -> void requires requires { static_cast<bool>(condition); };

template <Chrono::Duration TimeoutDuration = std::chrono::milliseconds, Chrono::Duration StepDuration = std::chrono::milliseconds>
auto TestSuite::expectWait( auto&& predicate, TimeoutDuration timeout = std::chrono::milliseconds{1'000}, StepDuration step = std::chrono::milliseconds{20}, std::source_location sourceLocation = std::source_location::current()) -> void;

auto TestSuite::expectEqual(const auto& lhs, const auto& rhs, std::source_location sourceLocation = std::source_location::current()) -> void;

template <class ExceptionType>
auto TestSuite::expectThrow(auto&& function, std::source_location sourceLocation = std::source_location::current()) -> void;

auto TestSuite::expectNoThrow(auto&& function, std::source_location sourceLocation = std::source_location::current()) -> void;

std::vector< Test > tests;