3#include <QtTest/QtTest>
17 inline bool qCompare(
knowCore::Uri const& t1,
const char*
const& t2,
const char* actual,
18 const char* expected,
const char* file,
int line)
20 return qCompare((QString)t1, QString::fromUtf8(t2), actual, expected, file, line);
26 inline char* toString(
const knowCore::Uri& t) {
return QTest::toString((QString)t); }
29 return QTest::toString(t.
toEpoch<knowCore::NanoSeconds>().count());
31 inline char* toString(
const knowCore::BigNumber& t) {
return QTest::toString(t.toString()); }
34 auto const [success, result, error] = t.printable();
37 return QTest::toString(result.value());
41 return QTest::toString(error.value());
44 template<
typename _T_>
45 inline char* toString(
const cres_qresult<_T_>& _t)
47 if(_t.is_successful())
49 return QTest::toString(_t.get_value());
53 return toString(_t.get_error().get_message());
58 return t.
isValid() ? QTest::toString(t.
symbol()) : QTest::toString(
"invalid unit");
62#define KNOWCORE_TEST_WAIT_FOR_ACT(_CONDITION_, _ACT_) \
63 for(int i = 0; i < 2000; ++i) \
65 QThread::msleep(10); \
69 auto ___expr___ = clog_eval_expr(_CONDITION_); \
70 if(___expr___.value()) \
74 clog_info("Waiting for: {} since {}s", ___expr___, i / 100); \
79#define KNOWCORE_TEST_WAIT_FOR(_CONDITION_) KNOWCORE_TEST_WAIT_FOR_ACT(_CONDITION_, )
Class that can contains large numeric value.
Definition BigNumber.h:51
Definition Timestamp.h:39
_unit_ toEpoch() const
Definition Timestamp.h:161
QString symbol() const
Definition Unit.cpp:245
bool isValid() const
Definition Unit.cpp:259