From 13cbea292c90619d9331fbb8dd43a4f19b7716d9 Mon Sep 17 00:00:00 2001 From: Snaipe Date: Wed, 11 Mar 2015 06:32:22 +0100 Subject: [PATCH] Added comparison asserts over native types --- 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 2a63430..d5f0759 100644 --- a/include/criterion/assert.h +++ b/include/criterion/assert.h @@ -63,15 +63,40 @@ enum criterion_assert_kind { // Native asserts +# define assert_op(Actual, Expected, Op, ...) \ + assert((Actual) Op (Expected), "" __VA_ARGS__) +# define expect_op(Actual, Expected, Op, ...) \ + expect((Actual) Op (Expected), "" __VA_ARGS__) + # define assert_equal(Actual, Expected, ...) \ - assert((Actual) == (Expected), "" __VA_ARGS__) + assert_op(Actual, Expected, ==, "" __VA_ARGS__) # define expect_equal(Actual, Expected, ...) \ - expect((Actual) == (Expected), "" __VA_ARGS__) + expect_op(Actual, Expected, ==, "" __VA_ARGS__) # define assert_not_equal(Actual, Expected, ...) \ - assert((Actual) != (Expected), "" __VA_ARGS__) + assert_op(Actual, Expected, !=, "" __VA_ARGS__) # define expectNotEqual(Actual, Expected, ...) \ - expect((Actual) != (Expected), "" __VA_ARGS__) + expect_op(Actual, Expected, !=, "" __VA_ARGS__) + +# define assert_lt(Actual, Expected, ...) \ + assert_op(Actual, Expected, <, "" __VA_ARGS__) +# define expect_lt(Actual, Expected, ...) \ + expect_op(Actual, Expected, <, "" __VA_ARGS__) + +# define assert_gt(Actual, Expected, ...) \ + assert_op(Actual, Expected, >, "" __VA_ARGS__) +# define expect_gt(Actual, Expected, ...) \ + expect_op(Actual, Expected, >, "" __VA_ARGS__) + +# define assert_leq(Actual, Expected, ...) \ + assert_op(Actual, Expected, <=, "" __VA_ARGS__) +# define expect_leq(Actual, Expected, ...) \ + expect_op(Actual, Expected, <=, "" __VA_ARGS__) + +# define assert_geq(Actual, Expected, ...) \ + assert_op(Actual, Expected, >=, "" __VA_ARGS__) +# define expect_geq(Actual, Expected, ...) \ + expect_op(Actual, Expected, >=, "" __VA_ARGS__) // Floating-point asserts