From 33d4b0c8d1d9180d5394329f313dd19cdbe9e942 Mon Sep 17 00:00:00 2001 From: Mike Long Date: Tue, 22 May 2012 15:48:18 +0800 Subject: [PATCH] Initial tests for global fakes --- test/fff_test_global_c.c | 69 ++++++++++++++++++++++++++++++++++++++++ test/global_fakes.c | 4 +++ test/global_fakes.h | 10 ++++++ 3 files changed, 83 insertions(+) create mode 100644 test/fff_test_global_c.c create mode 100644 test/global_fakes.c create mode 100644 test/global_fakes.h diff --git a/test/fff_test_global_c.c b/test/fff_test_global_c.c new file mode 100644 index 0000000..7d5774d --- /dev/null +++ b/test/fff_test_global_c.c @@ -0,0 +1,69 @@ + +#include "global_fakes.h" + +#include +#include +#include + +/* Test Framework :-) */ +void setup(); +#define TEST_F(SUITE, NAME) void NAME() +#define RUN_TEST(SUITE, TESTNAME) printf(" Running %s.%s: \n", #SUITE, #TESTNAME); setup(); TESTNAME(); printf(" SUCCESS\n"); +#define ASSERT_EQ(A, B) assert((A) == (B)) +#define ASSERT(A) assert((A)) + + +// DECLARE_GLOBAL_FAKE_VOID_FUNC(global_void_func, int); + +// Let's see if I can define a fake here +#define MY_FACE_VOID_FUNC0(FUNCNAME) \ + DECLARE_FAKE_VOID_FUNC0(FUNCNAME) \ + DEFINE_FAKE_VOID_FUNC0(FUNCNAME) + +MY_FACE_VOID_FUNC0(test_func); + +void setup() +{ + RESET_FAKE(global_void_func); + RESET_FAKE(test_func); + RESET_HISTORY(); +} + + +TEST_F(FFFGlobalTestSuite, when_global_void_func_never_called_then_callcount_is_zero) +{ + ASSERT_EQ(global_void_func_fake.call_count, 0); +} + +TEST_F(FFFGlobalTestSuite, when_global_void_func_called_once_then_callcount_is_one) +{ + global_void_func(); + ASSERT_EQ(global_void_func_fake.call_count, 1); +} + +TEST_F(FFFTestSuite, when_void_func_called_once_and_reset_then_callcount_is_zero) +{ + global_void_func(); + RESET_FAKE(global_void_func); + ASSERT_EQ(global_void_func_fake.call_count, 0); +} + + +int main() +{ + setbuf(stdout, NULL); + fprintf(stdout, "-------------\n"); + fprintf(stdout, "Running Tests\n"); + fprintf(stdout, "-------------\n\n"); + fflush(0); + + /* Run tests */ + RUN_TEST(FFFGlobalTestSuite, when_global_void_func_never_called_then_callcount_is_zero); + RUN_TEST(FFFGlobalTestSuite, when_global_void_func_called_once_then_callcount_is_one); + + printf("\n-------------\n"); + printf("Complete\n"); + printf("-------------\n\n"); + + return 0; +} diff --git a/test/global_fakes.c b/test/global_fakes.c new file mode 100644 index 0000000..f6ad956 --- /dev/null +++ b/test/global_fakes.c @@ -0,0 +1,4 @@ +#include "global_fakes.h" +#include +DEFINE_FAKE_VOID_FUNC0(global_void_func); + diff --git a/test/global_fakes.h b/test/global_fakes.h new file mode 100644 index 0000000..24b82b5 --- /dev/null +++ b/test/global_fakes.h @@ -0,0 +1,10 @@ + +#ifndef GLOBAL_FAKES_H_ +#define GLOBAL_FAKES_H_ + +#include "../fff3.h" + +void global_void_func(void); +DECLARE_FAKE_VOID_FUNC0(global_void_func); + +#endif /* GLOBAL_FAKES_H_ */