diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/assertions.c | 29 | ||||
-rw-r--r-- | tests/main.c | 1 | ||||
-rw-r--r-- | tests/tests.h | 2 |
3 files changed, 31 insertions, 1 deletions
diff --git a/tests/assertions.c b/tests/assertions.c index 0a2875d..ad9fc18 100644 --- a/tests/assertions.c +++ b/tests/assertions.c @@ -73,3 +73,32 @@ const char *test_assert_true() return 0; } + + +const char *test_assert_false() +{ + int val = setjmp(_lily_globals.env); + if (val != 0) + return "true assertion failed incorrectly!"; + + lily_assert_false(false); + + int passed_thru = 0; + _lily_globals.error_msg = NULL; + _lily_globals.error_location = ""; + val = setjmp(_lily_globals.env); + + if (passed_thru == 0) { + passed_thru = 1; + lily_assert_false(true); + return "false assertion incorrectly succeeded!"; + } + else { + if (strcmp(_lily_globals.error_msg, "true is not false") != 0) + return "false assertion produced incorrect error message!"; + if (strcmp(_lily_globals.error_location, "tests/assertions.c:93") != 0) + return "false assertion produced incorrect error location!"; + } + + return 0; +} diff --git a/tests/main.c b/tests/main.c index 65683ee..5dfb679 100644 --- a/tests/main.c +++ b/tests/main.c @@ -13,6 +13,7 @@ int main() run_test(test_LILY_LOCATION); run_test(test_assert_msg); run_test(test_assert_true); + run_test(test_assert_false); return 0; } diff --git a/tests/tests.h b/tests/tests.h index 7962104..ca72b4a 100644 --- a/tests/tests.h +++ b/tests/tests.h @@ -10,5 +10,5 @@ int validate_message(const char* received, const char* expected, const char* test_LILY_LOCATION(); const char* test_assert_msg(); const char* test_assert_true(); - +const char* test_assert_false(); #endif |