From 54af217d741984b6a3f0b7a1d383dbb34c4afbef Mon Sep 17 00:00:00 2001 From: Snaipe Date: Wed, 11 Mar 2015 03:30:41 +0100 Subject: [PATCH 01/10] Made assert macros follow the function identifier coding style --- include/criterion/assert.h | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/include/criterion/assert.h b/include/criterion/assert.h index 21da10c..81caa32 100644 --- a/include/criterion/assert.h +++ b/include/criterion/assert.h @@ -37,7 +37,7 @@ enum criterion_assert_kind { FATAL }; -# define assertImpl(Kind, Condition, ...) \ +# define assert_impl(Kind, Condition, ...) \ do { \ int passed = !!(Condition); \ struct criterion_assert_stats stat = { \ @@ -53,45 +53,45 @@ enum criterion_assert_kind { return; \ } while (0) -# define assert(Condition, ...) assertImpl(FATAL, (Condition), ## __VA_ARGS__) -# define expect(Condition, ...) assertImpl(NORMAL, (Condition), ## __VA_ARGS__) +# define assert(Condition, ...) assert_impl(FATAL, (Condition), ## __VA_ARGS__) +# define expect(Condition, ...) assert_impl(NORMAL, (Condition), ## __VA_ARGS__) -# define assertArraysEqual(A, B, Size, ...) \ +# define assert_arrays_equal(A, B, Size, ...) \ assert(!memcmp((A), (B), (Size)), ## __VA_ARGS__) -# define expectArraysEqual(A, B, Size, ...) \ +# define expect_arrays_equal(A, B, Size, ...) \ expect(!memcmp((A), (B), (Size)), ## __VA_ARGS__) -# define assertEqual(Actual, Expected, ...) \ +# define assert_equal(Actual, Expected, ...) \ assert((Actual) == (Expected), ## __VA_ARGS__) -# define expectEqual(Actual, Expected, ...) \ +# define expect_equal(Actual, Expected, ...) \ expect((Actual) == (Expected), ## __VA_ARGS__) -# define assertFloatEqual(Actual, Expected, Epsilon, ...) \ +# define assert_float_equal(Actual, Expected, Epsilon, ...) \ assert((Expected) - (Actual) < (Epsilon) && (Actual) - (Expected) < (Epsilon), ## __VA_ARGS__) -# define expectFloatEqual(Actual, Expected, Epsilon, ...) \ +# define expect_float_equal(Actual, Expected, Epsilon, ...) \ expect((Expected) - (Actual) < (Epsilon) && (Actual) - (Expected) < (Epsilon), ## __VA_ARGS__) -# define assertStringsEqual(Actual, Expected, ...) \ +# define assert_strings_equal(Actual, Expected, ...) \ assert(!strcmp((Actual), (Expected)), ## __VA_ARGS__) -# define expectStringsEqual(Actual, Expected, ...) \ +# define expect_strings_equal(Actual, Expected, ...) \ expect(!strcmp((Actual), (Expected)), ## __VA_ARGS__) -# define assertNot(Condition, ...) assert(!(Condition), ## __VA_ARGS__) -# define expectNot(Condition, ...) expect(!(Condition), ## __VA_ARGS__) +# define assert_not(Condition, ...) assert(!(Condition), ## __VA_ARGS__) +# define expect_not(Condition, ...) expect(!(Condition), ## __VA_ARGS__) -# define assertNotEqual(Actual, Expected, ...) \ +# define assert_not_equal(Actual, Expected, ...) \ assert((Actual) != (Expected), ## __VA_ARGS__) # define expectNotEqual(Actual, Expected, ...) \ expect((Actual) != (Expected), ## __VA_ARGS__) -# define assertArraysNotEqual(A, B, Size, ...) \ +# define assert_arrays_not_equal(A, B, Size, ...) \ assert(memcmp((A), (B), (Size)), ## __VA_ARGS__) -# define expectArraysNotEqual(A, B, Size, ...) \ +# define expect_arrays_not_equal(A, B, Size, ...) \ expect(memcmp((A), (B), (Size)), ## __VA_ARGS__) -# define assertStringsNotEqual(Actual, Expected, ...) \ +# define assert_strings_not_equal(Actual, Expected, ...) \ assert(strcmp((Actual), (Expected)), ## __VA_ARGS__) -# define expectStringsNotEqual(Actual, Expected, ...) \ +# define expect_strings_not_equal(Actual, Expected, ...) \ expect(strcmp((Actual), (Expected)), ## __VA_ARGS__) #endif /* !CRITERION_ASSERT_H_ */ From e7dc892c424ca58d437c484f5123be4f2b04c876 Mon Sep 17 00:00:00 2001 From: Snaipe Date: Wed, 11 Mar 2015 03:36:54 +0100 Subject: [PATCH 02/10] Refactored assert macros --- include/criterion/assert.h | 40 ++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 15 deletions(-) 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_ */ From 919c49853d31c32ceda4c57931098af2a6bf95eb Mon Sep 17 00:00:00 2001 From: Snaipe Date: Wed, 11 Mar 2015 03:39:37 +0100 Subject: [PATCH 03/10] Removed __VA_ARG__ concatenation GCC extension as it has a better alternative in this case. --- include/criterion/assert.h | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/include/criterion/assert.h b/include/criterion/assert.h index 9200d7a..ae80cef 100644 --- a/include/criterion/assert.h +++ b/include/criterion/assert.h @@ -55,53 +55,53 @@ enum criterion_assert_kind { // Common asserts -# define assert(Condition, ...) assert_impl(FATAL, (Condition), ## __VA_ARGS__) -# define expect(Condition, ...) assert_impl(NORMAL, (Condition), ## __VA_ARGS__) +# define assert(Condition, ...) assert_impl(FATAL, (Condition), "" __VA_ARGS__) +# define expect(Condition, ...) assert_impl(NORMAL, (Condition), "" __VA_ARGS__) -# define assert_not(Condition, ...) assert(!(Condition), ## __VA_ARGS__) -# define expect_not(Condition, ...) expect(!(Condition), ## __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__) + assert((Actual) == (Expected), "" __VA_ARGS__) # define expect_equal(Actual, Expected, ...) \ - expect((Actual) == (Expected), ## __VA_ARGS__) + expect((Actual) == (Expected), "" __VA_ARGS__) # define assert_not_equal(Actual, Expected, ...) \ - assert((Actual) != (Expected), ## __VA_ARGS__) + assert((Actual) != (Expected), "" __VA_ARGS__) # define expectNotEqual(Actual, Expected, ...) \ - expect((Actual) != (Expected), ## __VA_ARGS__) + expect((Actual) != (Expected), "" __VA_ARGS__) // Floating-point asserts # define assert_float_equal(Actual, Expected, Epsilon, ...) \ - assert((Expected) - (Actual) < (Epsilon) && (Actual) - (Expected) < (Epsilon), ## __VA_ARGS__) + 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__) + expect((Expected) - (Actual) < (Epsilon) && (Actual) - (Expected) < (Epsilon), "" __VA_ARGS__) // String asserts # define assert_strings_equal(Actual, Expected, ...) \ - assert(!strcmp((Actual), (Expected)), ## __VA_ARGS__) + assert(!strcmp((Actual), (Expected)), "" __VA_ARGS__) # define expect_strings_equal(Actual, Expected, ...) \ - expect(!strcmp((Actual), (Expected)), ## __VA_ARGS__) + expect(!strcmp((Actual), (Expected)), "" __VA_ARGS__) # define assert_strings_not_equal(Actual, Expected, ...) \ - assert(strcmp((Actual), (Expected)), ## __VA_ARGS__) + assert(strcmp((Actual), (Expected)), "" __VA_ARGS__) # define expect_strings_not_equal(Actual, Expected, ...) \ - expect(strcmp((Actual), (Expected)), ## __VA_ARGS__) + expect(strcmp((Actual), (Expected)), "" __VA_ARGS__) // Array asserts # define assert_arrays_equal(A, B, Size, ...) \ - assert(!memcmp((A), (B), (Size)), ## __VA_ARGS__) + assert(!memcmp((A), (B), (Size)), "" __VA_ARGS__) # define expect_arrays_equal(A, B, Size, ...) \ - expect(!memcmp((A), (B), (Size)), ## __VA_ARGS__) + expect(!memcmp((A), (B), (Size)), "" __VA_ARGS__) # define assert_arrays_not_equal(A, B, Size, ...) \ - assert(memcmp((A), (B), (Size)), ## __VA_ARGS__) + assert(memcmp((A), (B), (Size)), "" __VA_ARGS__) # define expect_arrays_not_equal(A, B, Size, ...) \ - expect(memcmp((A), (B), (Size)), ## __VA_ARGS__) + expect(memcmp((A), (B), (Size)), "" __VA_ARGS__) #endif /* !CRITERION_ASSERT_H_ */ From b38ce35114fbc6426db673c387bf3bf78f5a7f7a Mon Sep 17 00:00:00 2001 From: Snaipe Date: Wed, 11 Mar 2015 04:00:36 +0100 Subject: [PATCH 04/10] 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 From 13cbea292c90619d9331fbb8dd43a4f19b7716d9 Mon Sep 17 00:00:00 2001 From: Snaipe Date: Wed, 11 Mar 2015 06:32:22 +0100 Subject: [PATCH 05/10] 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 From 431a683e8531d5cf2cc4f38364f63e07210b87de Mon Sep 17 00:00:00 2001 From: Snaipe Date: Wed, 11 Mar 2015 06:33:19 +0100 Subject: [PATCH 06/10] Added assert_float_not_equal, fixed bad comparison operator for floating-point equality --- include/criterion/assert.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/include/criterion/assert.h b/include/criterion/assert.h index d5f0759..da46b1f 100644 --- a/include/criterion/assert.h +++ b/include/criterion/assert.h @@ -101,9 +101,14 @@ enum criterion_assert_kind { // Floating-point asserts # define assert_float_equal(Actual, Expected, Epsilon, ...) \ - assert((Expected) - (Actual) < (Epsilon) && (Actual) - (Expected) < (Epsilon), "" __VA_ARGS__) + 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__) + expect((Expected) - (Actual) <= (Epsilon) && (Actual) - (Expected) <= (Epsilon), "" __VA_ARGS__) + +# define assert_float_not_equal(Actual, Expected, Epsilon, ...) \ + assert((Expected) - (Actual) > (Epsilon) || (Actual) - (Expected) > (Epsilon), "" __VA_ARGS__) +# define expect_float_not_equal(Actual, Expected, Epsilon, ...) \ + expect((Expected) - (Actual) > (Epsilon) || (Actual) - (Expected) > (Epsilon), "" __VA_ARGS__) // String asserts From 15ee9539faa5cc23e8a743ee9da8607b94d2f237 Mon Sep 17 00:00:00 2001 From: Snaipe Date: Wed, 11 Mar 2015 06:34:03 +0100 Subject: [PATCH 07/10] Fixed expect_strings expanding to assert --- include/criterion/assert.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/criterion/assert.h b/include/criterion/assert.h index da46b1f..66e0547 100644 --- a/include/criterion/assert.h +++ b/include/criterion/assert.h @@ -115,7 +115,7 @@ enum criterion_assert_kind { # 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__) + expect(strcmp((Actual), (Expected)) Op 0, "" __VA_ARGS__) # define assert_strings_equal(Actual, Expected, ...) \ assert_strings(Actual, Expected, ==, "" __VA_ARGS__) From 32fd6376ad790f8d64e3d652307dae86b6d2c638 Mon Sep 17 00:00:00 2001 From: Snaipe Date: Wed, 11 Mar 2015 06:38:33 +0100 Subject: [PATCH 08/10] Removing useless extra parenthesis in assert --- include/criterion/assert.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/criterion/assert.h b/include/criterion/assert.h index 66e0547..a5a6bed 100644 --- a/include/criterion/assert.h +++ b/include/criterion/assert.h @@ -55,8 +55,8 @@ enum criterion_assert_kind { // Common asserts -# define assert(Condition, ...) assert_impl(FATAL, (Condition), "" __VA_ARGS__) -# define expect(Condition, ...) assert_impl(NORMAL, (Condition), "" __VA_ARGS__) +# define assert(Condition, ...) assert_impl(FATAL, Condition, "" __VA_ARGS__) +# define expect(Condition, ...) assert_impl(NORMAL, Condition, "" __VA_ARGS__) # define assert_not(Condition, ...) assert(!(Condition), "" __VA_ARGS__) # define expect_not(Condition, ...) expect(!(Condition), "" __VA_ARGS__) From 02b3dc56f5d4c96ecd19130508a158074be4c10b Mon Sep 17 00:00:00 2001 From: Snaipe Date: Wed, 11 Mar 2015 19:02:47 +0100 Subject: [PATCH 09/10] Added assert samples --- samples/Makefile.am | 3 ++- samples/asserts.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 samples/asserts.c diff --git a/samples/Makefile.am b/samples/Makefile.am index 0cdbd5b..3fb962a 100644 --- a/samples/Makefile.am +++ b/samples/Makefile.am @@ -3,10 +3,11 @@ TESTS = \ report \ suites \ fixtures \ + asserts \ simple TESTS_ENVIRONMENT = CRITERION_ALWAYS_SUCCEED=1 check_PROGRAMS = $(TESTS) -CFLAGS = -I$(top_srcdir)/include/ +CFLAGS = -I$(top_srcdir)/include/ -std=c99 LDADD = -L$(top_srcdir)/ -lcriterion diff --git a/samples/asserts.c b/samples/asserts.c new file mode 100644 index 0000000..deec0b4 --- /dev/null +++ b/samples/asserts.c @@ -0,0 +1,43 @@ +#include + +Test(asserts, base) { + assert(true); + expect(true); + + assert(true, "Assertions may take failure messages"); + + expect(false, "assert is fatal, expect isn't"); + assert(false, "This assert runs"); + assert(false, "This does not"); +} + +Test(asserts, string) { + assert_strings_equal("hello", "hello"); + assert_strings_not_equal("hello", "olleh"); + + assert_strings_gt("hello", "hell"); + assert_strings_geq("hello", "hell"); + assert_strings_geq("hello", "hello"); + + assert_strings_lt("hell", "hello"); + assert_strings_leq("hell", "hello"); + assert_strings_leq("hello", "hello"); +} + +Test(asserts, native) { + assert_equal(1, 1); + assert_not_equal(1, 2); + + assert_lt(1, 2); + assert_leq(1, 2); + assert_leq(2, 2); + + assert_gt(2, 1); + assert_geq(2, 1); + assert_geq(2, 2); +} + +Test(asserts, float) { + assert_not_equal(0.1 * 0.1, 0.01); + assert_float_equal(0.1 * 0.1, 0.01, 0.001); +} From a769eef10e2a49eaaad0220c3c8aee6f56468446 Mon Sep 17 00:00:00 2001 From: Snaipe Date: Wed, 11 Mar 2015 19:07:22 +0100 Subject: [PATCH 10/10] Updated doc page on assertions --- doc/starter.rst | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/doc/starter.rst b/doc/starter.rst index 7b17da6..54e3819 100644 --- a/doc/starter.rst +++ b/doc/starter.rst @@ -50,15 +50,26 @@ parameter, and an optional failure message: On top of those, more assertions are available for common operations: -* ``{assert,expect}Equal(Actual, Expected, [Message])`` -* ``{assert,expect}NotEqual(Actual, Unexpected, [Message])`` -* ``{assert,expect}StringsEqual(Actual, Expected, [Message])`` -* ``{assert,expect}StringsNotEqual(Actual, Unexpected, [Message])`` -* ``{assert,expect}ArraysEqual(Actual, Expected, Size, [Message])`` -* ``{assert,expect}ArraysNotEqual(Actual, Unexpected, Size, [Message])`` +* ``{assert,expect}_not(Actual, Expected, [Message])`` +* ``{assert,expect}_equal(Actual, Expected, [Message])`` +* ``{assert,expect}_not_equal(Actual, Unexpected, [Message])`` +* ``{assert,expect}_lt(Actual, Expected, [Message])`` +* ``{assert,expect}_leq(Actual, Expected, [Message])`` +* ``{assert,expect}_gt(Actual, Expected, [Message])`` +* ``{assert,expect}_geq(Actual, Expected, [Message])`` +* ``{assert,expect}_float_equal(Actual, Expected, Epsilon, [Message])`` +* ``{assert,expect}_float_not_equal(Actual, Unexpected, Epsilon, [Message])`` +* ``{assert,expect}_strings_equal(Actual, Expected, [Message])`` +* ``{assert,expect}_strings_not_equal(Actual, Unexpected, [Message])`` +* ``{assert,expect}_strings_lt(Actual, Expected, [Message])`` +* ``{assert,expect}_strings_leq(Actual, Expected, [Message])`` +* ``{assert,expect}_strings_gt(Actual, Expected, [Message])`` +* ``{assert,expect}_strings_geq(Actual, Expected, [Message])`` +* ``{assert,expect}_arrays_equal(Actual, Expected, Size, [Message])`` +* ``{assert,expect}_arrays_not_equal(Actual, Unexpected, Size, [Message])`` -Initialization and finalization -------------------------------- +Fixtures +-------- Tests that need some setup and teardown can register functions that will run before and after the test function: