#ifndef UNITY_FIXTURE_H_
#define UNITY_FIXTURE_H_
#include "unity.h"
#include "unity_internals.h"
#include "unity_fixture_malloc_overrides.h"
#include "unity_fixture_internals.h"
int UnityMain(int argc, const char* argv[], void (*runAllTests)(void));
#define TEST_GROUP(group) \
static const char* TEST_GROUP_ ## group = # group
#define TEST_SETUP(group) static void TEST_ ## group ## _SETUP(void); \
static void TEST_ ## group ## _SETUP(void)
#define TEST_TEAR_DOWN(group) static void TEST_ ## group ## _TEAR_DOWN(void); \
static void TEST_ ## group ## _TEAR_DOWN(void)
#define TEST(group, name) \
void TEST_ ## group ## _ ## name ## _(void); \
void TEST_ ## group ## _ ## name ## _run(void); \
void TEST_ ## group ## _ ## name ## _run(void) \
{ \
UnityTestRunner(TEST_ ## group ## _SETUP, \
TEST_ ## group ## _ ## name ## _, \
TEST_ ## group ## _TEAR_DOWN, \
"TEST(" # group ", " # name ")", \
TEST_GROUP_ ## group, # name, \
__FILE__, __LINE__); \
} \
void TEST_ ## group ## _ ## name ## _(void)
#define IGNORE_TEST(group, name) \
void TEST_ ## group ## _ ## name ## _(void); \
void TEST_ ## group ## _ ## name ## _run(void); \
void TEST_ ## group ## _ ## name ## _run(void) \
{ \
UnityIgnoreTest("IGNORE_TEST(" # group ", " # name ")", TEST_GROUP_ ## group, # name); \
} \
void TEST_ ## group ## _ ## name ## _(void)
#define DECLARE_TEST_CASE(group, name) \
void TEST_ ## group ## _ ## name ## _run(void)
#define RUN_TEST_CASE(group, name) \
{ DECLARE_TEST_CASE(group, name); \
TEST_ ## group ## _ ## name ## _run(); }
#define TEST_GROUP_RUNNER(group) \
void TEST_ ## group ## _GROUP_RUNNER_runAll(void); \
void TEST_ ## group ## _GROUP_RUNNER(void); \
void TEST_ ## group ## _GROUP_RUNNER(void) \
{ \
TEST_ ## group ## _GROUP_RUNNER_runAll(); \
} \
void TEST_ ## group ## _GROUP_RUNNER_runAll(void)
#define RUN_TEST_GROUP(group) \
{ void TEST_ ## group ## _GROUP_RUNNER(void); \
TEST_ ## group ## _GROUP_RUNNER(); }
#define UT_PTR_SET(ptr, newPointerValue) UnityPointer_Set((void**)&ptr, (void*)newPointerValue)
#define TEST_ASSERT_POINTERS_EQUAL(expected, actual) TEST_ASSERT_EQUAL_PTR(expected, actual)
#define TEST_ASSERT_BYTES_EQUAL(expected, actual) TEST_ASSERT_EQUAL_HEX8(0xff & (expected), 0xff & (actual))
#define FAIL(message) TEST_FAIL_MESSAGE((message))
#define CHECK(condition) TEST_ASSERT_TRUE((condition))
#define LONGS_EQUAL(expected, actual) TEST_ASSERT_EQUAL_INT((expected), (actual))
#define STRCMP_EQUAL(expected, actual) TEST_ASSERT_EQUAL_STRING((expected), (actual))
#define DOUBLES_EQUAL(expected, actual, delta) TEST_ASSERT_FLOAT_WITHIN (((expected), (actual), (delta))
void UnityMalloc_MakeMallocFailAfterCount(int count);
#endif