One option for suites/tests.

This commit is contained in:
2023-04-02 17:02:13 -07:00
parent 1dce48f049
commit d813d837ea
2 changed files with 35 additions and 3 deletions

View File

@@ -4,7 +4,7 @@ namespace JTest {
using std::wostream;
// TODO: Consider making testresults_t a class so we can hide the vectors behind accessor methods void add(...), T get(), vector<T> get(uint32_t index)
typedef struct {
struct testresults_t {
uint32_t total;
uint32_t skipped;
uint32_t passed;
@@ -12,7 +12,18 @@ namespace JTest {
// vector<error_t> errors;
// vector<testfailure_t> failures;
// vector<testmethod_t> skipped;
} testresults_t;
};
testresults_t operator+(const testresults_t& left, const testresults_t& right);
testresults_t operator+(const testresults_t& left, const testresults_t& right) {
return add(left, right);
}
testresults_t& operator+=(testresults_t& left, const testresults_t& right);
testresults_t& operator+=(testresults_t& left, const testresults_t& right) {
left = left + right;
return left;
}
testresults_t make_testresults();
testresults_t make_testresults(uint32_t total, uint32_t skipped, uint32_t passed, uint32_t failed);

View File

@@ -15,7 +15,28 @@ using std::wcout;
// const vector<wstring>& might stop being a reference
testresults_t test_ClassToTest_main(int argc, const vector<wstring>& argv) {
return make_testresults();
auto results = describe(L"ClassToTest", [](){
auto results = make_testresults();
results += it(L"should do the thing", [](){
});
results += it(L"should do the other thing", [](){
});
results += it(L"should not do the bad thing", [](){
});
results += it(L"should throw an exception if we do the other bad thing", [](){
});
return results;
}, make_describe_options().beforeEach([](){}).afterEach([](){}).beforeAll([](){}).afterAll([](){}));
return results;
}
// Dummy test harness