123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- class Test
- {
- public:
-
-
-
-
-
-
- Test(const char *name);
-
-
- ~Test();
-
-
-
-
-
-
- void require(bool expr, const char *source);
-
-
- static void report();
- private:
- const char *_name;
- bool _fail;
- static int16_t _passed;
- static int16_t _failed;
- };
- Test::Test(const char *name) :
- _name(name),
- _fail(false)
- {
- }
- Test::~Test()
- {
- Serial.printf("%s: %s\n", _fail ? "FAILED" : "passed", _name);
- if (_fail) {
- _failed++;
- } else {
- _passed++;
- }
- }
- void
- Test::require(bool expr, const char *source)
- {
- if (!expr) {
- _fail = true;
- Serial.printf("%s: fail: %s\n", _name, source);
- }
- }
- void
- Test::report()
- {
- Serial.printf("\n%d passed %d failed\n", _passed, _failed);
- }
- int16_t Test::_passed = 0;
- int16_t Test::_failed = 0;
- #define TEST(name) Test _test(# name)
- #define REQUIRE(expr) _test.require(expr, # expr)
|