mirror of
https://github.com/slint-ui/slint.git
synced 2025-10-02 22:54:36 +00:00
C++ Tests add an assert_eq macro
More consistency with rusts tests
This commit is contained in:
parent
932d0f23a0
commit
b41e80b7db
3 changed files with 27 additions and 11 deletions
|
@ -8,8 +8,8 @@
|
||||||
Please contact info@sixtyfps.io for more information.
|
Please contact info@sixtyfps.io for more information.
|
||||||
LICENSE END */
|
LICENSE END */
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "sixtyfps.h"
|
#include "sixtyfps.h"
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
namespace sixtyfps::testing {
|
namespace sixtyfps::testing {
|
||||||
inline void mock_elapsed_time(int64_t time_in_ms)
|
inline void mock_elapsed_time(int64_t time_in_ms)
|
||||||
|
@ -20,4 +20,20 @@ template<typename Component>
|
||||||
inline void send_mouse_click(Component &component, float x, float y) {
|
inline void send_mouse_click(Component &component, float x, float y) {
|
||||||
cbindgen_private::sixtyfps_send_mouse_click({&Component::component_type, &component}, x, y);
|
cbindgen_private::sixtyfps_send_mouse_click({&Component::component_type, &component}, x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define assert_eq(A, B) sixtyfps::testing::private_api::assert_eq_impl(A, B, #A, #B, __FILE__, __LINE__)
|
||||||
|
|
||||||
|
namespace private_api {
|
||||||
|
template<typename A, typename B>
|
||||||
|
void assert_eq_impl(const A &a, const B &b, const char *a_str, const char *b_str,
|
||||||
|
const char *file, int line) {
|
||||||
|
if (a != b) {
|
||||||
|
std::cerr << file << ":" << line <<": assert_eq FAILED!\n"
|
||||||
|
<< a_str << ": " << a << "\n"
|
||||||
|
<< b_str << ": " << b << std::endl;
|
||||||
|
std::abort();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace sixtyfps
|
} // namespace sixtyfps
|
||||||
|
|
|
@ -87,13 +87,13 @@ export TestCase := Rectangle {
|
||||||
TestCase instance;
|
TestCase instance;
|
||||||
|
|
||||||
sixtyfps::testing::send_mouse_click(instance, 5., 5.);
|
sixtyfps::testing::send_mouse_click(instance, 5., 5.);
|
||||||
assert(instance.get_value() == 10);
|
assert_eq(instance.get_value(), 10);
|
||||||
|
|
||||||
sixtyfps::testing::send_mouse_click(instance, 15., 15.);
|
sixtyfps::testing::send_mouse_click(instance, 15., 15.);
|
||||||
assert(instance.get_value() == 13);
|
assert_eq(instance.get_value(), 13);
|
||||||
|
|
||||||
sixtyfps::testing::send_mouse_click(instance, 5., 15.);
|
sixtyfps::testing::send_mouse_click(instance, 5., 15.);
|
||||||
assert(instance.get_value() == 13+42);
|
assert_eq(instance.get_value(), 13+42);
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -29,15 +29,15 @@ instance.on_test_signal3([&](int a, auto b) {
|
||||||
signal_3_emited ++;
|
signal_3_emited ++;
|
||||||
});
|
});
|
||||||
instance.set_signal_emission_count(0);
|
instance.set_signal_emission_count(0);
|
||||||
assert(instance.get_signal_emission_count() == 0);
|
assert_eq(instance.get_signal_emission_count(), 0);
|
||||||
instance.emit_test_signal(42);
|
instance.emit_test_signal(42);
|
||||||
assert(instance.get_signal_emission_count() == 1);
|
assert_eq(instance.get_signal_emission_count(), 1);
|
||||||
assert(signal_3_emited == 0);
|
assert_eq(signal_3_emited, 0);
|
||||||
instance.emit_test_signal2("hello");
|
instance.emit_test_signal2("hello");
|
||||||
assert(instance.get_signal_emission_count() == 88);
|
assert_eq(instance.get_signal_emission_count(), 88);
|
||||||
assert(signal_3_emited == 1);
|
assert_eq(signal_3_emited, 1);
|
||||||
assert(signal_3_int_value == 55);
|
assert_eq(signal_3_int_value, 55);
|
||||||
assert(signal_3_string_value == "hello");
|
assert_eq(signal_3_string_value, "hello");
|
||||||
```
|
```
|
||||||
|
|
||||||
```rust
|
```rust
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue