32 lines
818 B
C++
32 lines
818 B
C++
|
|
#ifndef CONST_CONTAINER_TEST_RETURN_VAL_H_
|
|
#define CONST_CONTAINER_TEST_RETURN_VAL_H_
|
|
|
|
#include <concepts>
|
|
|
|
#include <const_list.h>
|
|
|
|
#define TEST_FAIL(name, msg) ret_val_s { name, ReturnCode::FAILED, msg }
|
|
#define TEST_PASS(name, msg) ret_val_s { name, ReturnCode::PASSED, msg }
|
|
|
|
enum ReturnCode { FAILED = -1, PASSED = 0 };
|
|
|
|
struct ret_val_s {
|
|
const char *test_name = "";
|
|
ReturnCode val = FAILED;
|
|
const char *msg = "";
|
|
};
|
|
|
|
template<std::size_t Nr>
|
|
struct ret_val {
|
|
const char * name;
|
|
std::array<ret_val_s, Nr> vals;
|
|
|
|
[[nodiscard]] constexpr inline std::size_t size() const { return vals.size(); }
|
|
|
|
constexpr inline ret_val_s& operator[](std::size_t i) { return vals[i]; }
|
|
constexpr inline const ret_val_s& operator[](std::size_t i) const { return vals[i]; }
|
|
};
|
|
|
|
#endif //CONST_CONTAINER_TEST_RETURN_VAL_H_
|