#ifndef __TEST_SUITE_H__
#define __TEST_SUITE_H__

typedef struct TestSuite TestSuite;

void (* g_unitTestFailureCallback)(const char *, const char *, int, const char *, ...);

struct TestSuite {
	char * description;
	int numberOfTestCases;
	void (** testCases)();
};

#define TestCase_assert(condition, ...) \
	if (!(condition)) { \
		(*g_unitTestFailureCallback)(__FILE__, __FUNCTION__, __LINE__, __VA_ARGS__); \
	}

#endif
