cmn-clib(CommonLibraryForC)
C言語共通ライブラリ
 全て データ構造 ファイル 関数 変数 型定義 列挙型 列挙値 マクロ定義
CmnTest.h
[詳解]
1 
11 #ifndef CMNCLIB_CMN_TEST_H
12 #define CMNCLIB_CMN_TEST_H
13 
14 #include "cmnclib/Common.h"
15 #include "cmnclib/CmnData.h"
16 #include "cmnclib/CmnTime.h"
17 
19 typedef struct tag_CmnTestPlan {
23  char *report;
24 } CmnTestPlan;
25 
27 typedef struct tag_CmnTestCase {
28  char *testFileName;
29  char *testCaseName;
30  void (*testFunction)(struct tag_CmnTestCase*);
31  int result;
32  long lineOfNg;
33  char *expected;
34  char *actual;
35 } CmnTestCase;
36 
38 D_EXTERN void CmnTest_InitializeTestPlan(CmnTestPlan *plan);
40 D_EXTERN void CmnTest_AddTestCase(CmnTestPlan *plan, char *fileName, char *caseName, void (*testFunction)(CmnTestCase*));
42 D_EXTERN void CmnTest_Run(CmnTestPlan *plan, int realtimeReport);
44 D_EXTERN void CmnTest_DestroyTest(CmnTestPlan *plan);
46 D_EXTERN int CmnTest_AssertNumber(CmnTestCase *testCase, long line, long long actual, long long expected);
48 D_EXTERN int CmnTest_AssertPointer(CmnTestCase *testCase, long line, void *actual, void *expected);
50 D_EXTERN int CmnTest_AssertString(CmnTestCase *testCase, long line, char *actual, char *expected);
52 D_EXTERN int CmnTest_AssertData(CmnTestCase *testCase, long line, void *actual, void *expected, size_t dataLen);
54 D_EXTERN int CmnTest_AssertOK(CmnTestCase *testCase, long line);
56 D_EXTERN int CmnTest_AssertNG(CmnTestCase *testCase, long line);
57 
59 #define CmnTest_AddTestCaseEasy(plan, testFunction) CmnTest_AddTestCase(plan, __FILE__, #testFunction, testFunction)
60 
61 #endif /* CMNCLIB_CMN_TEST_H */
Definition: CmnData.h:24
D_EXTERN int CmnTest_AssertNumber(CmnTestCase *testCase, long line, long long actual, long long expected)
Definition: CmnTest.c:187
void(* testFunction)(struct tag_CmnTestCase *)
Definition: CmnTest.h:30
D_EXTERN int CmnTest_AssertData(CmnTestCase *testCase, long line, void *actual, void *expected, size_t dataLen)
Definition: CmnTest.c:323
D_EXTERN void CmnTest_InitializeTestPlan(CmnTestPlan *plan)
テストプランを作成する
Definition: CmnTest.c:61
char * testFileName
Definition: CmnTest.h:28
Definition: CmnTime.h:20
char * testCaseName
Definition: CmnTest.h:29
char * actual
Definition: CmnTest.h:34
D_EXTERN int CmnTest_AssertPointer(CmnTestCase *testCase, long line, void *actual, void *expected)
Definition: CmnTest.c:221
struct tag_CmnTestCase CmnTestCase
日付/時刻系 共通関数 I/Fヘッダファイル
D_EXTERN void CmnTest_Run(CmnTestPlan *plan, int realtimeReport)
テストを実行する
Definition: CmnTest.c:99
D_EXTERN int CmnTest_AssertNG(CmnTestCase *testCase, long line)
Definition: CmnTest.c:368
int result
Definition: CmnTest.h:31
構造化データ操作 共通関数 I/Fヘッダファイル
Definition: CmnTest.h:19
D_EXTERN int CmnTest_AssertOK(CmnTestCase *testCase, long line)
Definition: CmnTest.c:352
D_EXTERN void CmnTest_DestroyTest(CmnTestPlan *plan)
テストプランを破棄する
Definition: CmnTest.c:158
Definition: CmnTest.h:27
CmnTimeDateTime startTime
Definition: CmnTest.h:21
共通関数 メインヘッダファイル
D_EXTERN void CmnTest_AddTestCase(CmnTestPlan *plan, char *fileName, char *caseName, void(*testFunction)(CmnTestCase *))
テストプランにテストケースを追加する
Definition: CmnTest.c:77
CmnDataList * caseList
Definition: CmnTest.h:20
char * expected
Definition: CmnTest.h:33
struct tag_CmnTestPlan CmnTestPlan
long lineOfNg
Definition: CmnTest.h:32
D_EXTERN int CmnTest_AssertString(CmnTestCase *testCase, long line, char *actual, char *expected)
Definition: CmnTest.c:255
char * report
Definition: CmnTest.h:23
CmnTimeDateTime endTime
Definition: CmnTest.h:22