Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
Loading...
Searching...
No Matches
database::testing::assertions Namespace Reference

Query assertion helpers. More...

Functions

bool has_rows (const core::database_result &result, size_t expected)
 Check if result contains expected number of rows.
 
bool is_empty (const core::database_result &result)
 Check if result is empty.
 
template<typename T >
bool contains_field_value (const core::database_result &result, const std::string &field, const T &value)
 Check if result contains a row with specific field value.
 
template<typename T >
bool is_success (const kcenon::common::Result< T > &result)
 Check if a Result<T> is successful.
 
template<typename T >
bool is_error (const kcenon::common::Result< T > &result)
 Check if a Result<T> is an error.
 
bool is_success (const kcenon::common::VoidResult &result)
 Check if a VoidResult is successful.
 
bool is_error (const kcenon::common::VoidResult &result)
 Check if a VoidResult is an error.
 

Detailed Description

Query assertion helpers.

Function Documentation

◆ contains_field_value()

template<typename T >
bool database::testing::assertions::contains_field_value ( const core::database_result & result,
const std::string & field,
const T & value )

Check if result contains a row with specific field value.

Definition at line 201 of file database_test_utils.h.

201 {
202 for (const auto& row : result) {
203 auto it = row.find(field);
204 if (it != row.end()) {
205 if (auto* v = std::get_if<T>(&it->second)) {
206 if (*v == value) return true;
207 }
208 }
209 }
210 return false;
211}

◆ has_rows()

bool database::testing::assertions::has_rows ( const core::database_result & result,
size_t expected )
inline

Check if result contains expected number of rows.

Definition at line 186 of file database_test_utils.h.

186 {
187 return result.size() == expected;
188}

◆ is_empty()

bool database::testing::assertions::is_empty ( const core::database_result & result)
inline

Check if result is empty.

Definition at line 193 of file database_test_utils.h.

193 {
194 return result.empty();
195}

◆ is_error() [1/2]

template<typename T >
bool database::testing::assertions::is_error ( const kcenon::common::Result< T > & result)

Check if a Result<T> is an error.

Definition at line 225 of file database_test_utils.h.

225 {
226 return result.is_err();
227}

◆ is_error() [2/2]

bool database::testing::assertions::is_error ( const kcenon::common::VoidResult & result)
inline

Check if a VoidResult is an error.

Definition at line 239 of file database_test_utils.h.

239 {
240 return result.is_err();
241}

◆ is_success() [1/2]

template<typename T >
bool database::testing::assertions::is_success ( const kcenon::common::Result< T > & result)

Check if a Result<T> is successful.

Definition at line 217 of file database_test_utils.h.

217 {
218 return result.is_ok();
219}

◆ is_success() [2/2]

bool database::testing::assertions::is_success ( const kcenon::common::VoidResult & result)
inline

Check if a VoidResult is successful.

Definition at line 232 of file database_test_utils.h.

232 {
233 return result.is_ok();
234}