diff --git a/include/criterion/assert.h b/include/criterion/assert.h index 81caa32..9200d7a 100644 --- a/include/criterion/assert.h +++ b/include/criterion/assert.h @@ -53,45 +53,55 @@ enum criterion_assert_kind { return; \ } while (0) +// Common asserts + # define assert(Condition, ...) assert_impl(FATAL, (Condition), ## __VA_ARGS__) # define expect(Condition, ...) assert_impl(NORMAL, (Condition), ## __VA_ARGS__) -# define assert_arrays_equal(A, B, Size, ...) \ - assert(!memcmp((A), (B), (Size)), ## __VA_ARGS__) -# define expect_arrays_equal(A, B, Size, ...) \ - expect(!memcmp((A), (B), (Size)), ## __VA_ARGS__) +# define assert_not(Condition, ...) assert(!(Condition), ## __VA_ARGS__) +# define expect_not(Condition, ...) expect(!(Condition), ## __VA_ARGS__) + +// Native asserts # define assert_equal(Actual, Expected, ...) \ assert((Actual) == (Expected), ## __VA_ARGS__) # define expect_equal(Actual, Expected, ...) \ expect((Actual) == (Expected), ## __VA_ARGS__) +# define assert_not_equal(Actual, Expected, ...) \ + assert((Actual) != (Expected), ## __VA_ARGS__) +# define expectNotEqual(Actual, Expected, ...) \ + expect((Actual) != (Expected), ## __VA_ARGS__) + +// Floating-point asserts + # define assert_float_equal(Actual, Expected, Epsilon, ...) \ assert((Expected) - (Actual) < (Epsilon) && (Actual) - (Expected) < (Epsilon), ## __VA_ARGS__) # define expect_float_equal(Actual, Expected, Epsilon, ...) \ expect((Expected) - (Actual) < (Epsilon) && (Actual) - (Expected) < (Epsilon), ## __VA_ARGS__) +// String asserts + # define assert_strings_equal(Actual, Expected, ...) \ assert(!strcmp((Actual), (Expected)), ## __VA_ARGS__) # define expect_strings_equal(Actual, Expected, ...) \ expect(!strcmp((Actual), (Expected)), ## __VA_ARGS__) -# define assert_not(Condition, ...) assert(!(Condition), ## __VA_ARGS__) -# define expect_not(Condition, ...) expect(!(Condition), ## __VA_ARGS__) +# define assert_strings_not_equal(Actual, Expected, ...) \ + assert(strcmp((Actual), (Expected)), ## __VA_ARGS__) +# define expect_strings_not_equal(Actual, Expected, ...) \ + expect(strcmp((Actual), (Expected)), ## __VA_ARGS__) -# define assert_not_equal(Actual, Expected, ...) \ - assert((Actual) != (Expected), ## __VA_ARGS__) -# define expectNotEqual(Actual, Expected, ...) \ - expect((Actual) != (Expected), ## __VA_ARGS__) +// Array asserts + +# define assert_arrays_equal(A, B, Size, ...) \ + assert(!memcmp((A), (B), (Size)), ## __VA_ARGS__) +# define expect_arrays_equal(A, B, Size, ...) \ + expect(!memcmp((A), (B), (Size)), ## __VA_ARGS__) # define assert_arrays_not_equal(A, B, Size, ...) \ assert(memcmp((A), (B), (Size)), ## __VA_ARGS__) # define expect_arrays_not_equal(A, B, Size, ...) \ expect(memcmp((A), (B), (Size)), ## __VA_ARGS__) -# define assert_strings_not_equal(Actual, Expected, ...) \ - assert(strcmp((Actual), (Expected)), ## __VA_ARGS__) -# define expect_strings_not_equal(Actual, Expected, ...) \ - expect(strcmp((Actual), (Expected)), ## __VA_ARGS__) - #endif /* !CRITERION_ASSERT_H_ */