From 3b25f2dd5c872ec6c8ee6bd649d2515bff158f09 Mon Sep 17 00:00:00 2001 From: Rendo Date: Wed, 2 Sep 2026 19:39:42 +0500 Subject: [PATCH] feat: custom test --- test.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/test.cpp b/test.cpp index 9bbe081..4fdb349 100644 --- a/test.cpp +++ b/test.cpp @@ -1,15 +1,14 @@ #include +#include #include #include -typedef std::function TestFunction; - class Test { private: - TestFunction complete; + std::function complete; public: std::string test_name; - Test(std::string name, TestFunction complete): test_name(name), complete(complete){}; + Test(std::string name, std::function complete): test_name(name), complete(complete){}; bool evaluate(); }; @@ -21,11 +20,14 @@ class TestSuite { std::vector tests; public: TestSuite(std::string); + void run(); + template TestSuite* eq(std::string, T, T); template TestSuite* neq(std::string, T, T); + TestSuite* custom(std::string, std::function); }; TestSuite::TestSuite(std::string name): suite_name(name) { @@ -44,6 +46,11 @@ TestSuite* TestSuite::neq(std::string test_name, T test_value, T expected_value) return this; } +TestSuite* TestSuite::custom(std::string test_name, std::function completness_function) { + tests.push_back(Test(test_name, completness_function)); + return this; +} + void TestSuite::run() { std::cout << "=== " << suite_name << " ===" << std::endl; int completed = 0;