From b38ce35114fbc6426db673c387bf3bf78f5a7f7a Mon Sep 17 00:00:00 2001 From: Snaipe Date: Wed, 11 Mar 2015 04:00:36 +0100 Subject: [PATCH] Added string comparison asserts --- include/criterion/assert.h | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/include/criterion/assert.h b/include/criterion/assert.h index ae80cef..2a63430 100644 --- a/include/criterion/assert.h +++ b/include/criterion/assert.h @@ -82,15 +82,40 @@ enum criterion_assert_kind { // String asserts +# define assert_strings(Actual, Expected, Op, ...) \ + assert(strcmp((Actual), (Expected)) Op 0, "" __VA_ARGS__) +# define expect_strings(Actual, Expected, Op, ...) \ + assert(strcmp((Actual), (Expected)) Op 0, "" __VA_ARGS__) + # define assert_strings_equal(Actual, Expected, ...) \ - assert(!strcmp((Actual), (Expected)), "" __VA_ARGS__) + assert_strings(Actual, Expected, ==, "" __VA_ARGS__) # define expect_strings_equal(Actual, Expected, ...) \ - expect(!strcmp((Actual), (Expected)), "" __VA_ARGS__) + expect_strings(Actual, Expected, ==, "" __VA_ARGS__) + +# define assert_strings_gt(Actual, Expected, ...) \ + assert_strings(Actual, Expected, >, "" __VA_ARGS__) +# define expect_strings_gt(Actual, Expected, ...) \ + expect_strings(Actual, Expected, >, "" __VA_ARGS__) + +# define assert_strings_lt(Actual, Expected, ...) \ + assert_strings(Actual, Expected, <, "" __VA_ARGS__) +# define expect_strings_lt(Actual, Expected, ...) \ + expect_strings(Actual, Expected, <, "" __VA_ARGS__) + +# define assert_strings_geq(Actual, Expected, ...) \ + assert_strings(Actual, Expected, >=, "" __VA_ARGS__) +# define expect_strings_geq(Actual, Expected, ...) \ + expect_strings(Actual, Expected, >=, "" __VA_ARGS__) + +# define assert_strings_leq(Actual, Expected, ...) \ + assert_strings(Actual, Expected, <=, "" __VA_ARGS__) +# define expect_strings_leq(Actual, Expected, ...) \ + expect_strings(Actual, Expected, <=, "" __VA_ARGS__) # define assert_strings_not_equal(Actual, Expected, ...) \ - assert(strcmp((Actual), (Expected)), "" __VA_ARGS__) + assert_strings(Actual, Expected, !=, "" __VA_ARGS__) # define expect_strings_not_equal(Actual, Expected, ...) \ - expect(strcmp((Actual), (Expected)), "" __VA_ARGS__) + expect_strings(Actual, Expected, !=, "" __VA_ARGS__) // Array asserts