| Cutterリファレンスマニュアル | ||||
|---|---|---|---|---|
| Top | 説明 | ||||
void * cut_take (void *object, CutDestroyFunction destroy_function); #define cut_take_memory (memory) #define cut_take_string (string) #define cut_take_strdup (string) #define cut_take_strndup (string, size) #define cut_take_memdup (memory, size) const char * cut_take_printf (const char *format, ...); char ** cut_take_string_array (char **strings); #define cut_take_diff (from, to) #define cut_take_replace (target, pattern, replacement) #define cut_append_diff (message, from, to) #define cut_inspect_string_array (strings) void cut_set_fixture_data_dir (const char *path, ...); char * cut_build_fixture_data_path (const char *path, ...); #define cut_get_fixture_data_string (path, ...) #define cut_remove_path (path, ...) cut_boolean cut_equal_string (const char *string1, const char *string2); cut_boolean cut_equal_double (double double1, double double2, double error);
テストを書くためには、テスト環境を前処理・後処理するコードや、検証する結果を準備するコードなどたくさんのコードを書く必要があります。Cutterはもっと簡単にテストを書くためにユーティリティを提供します。
このユーティリティはGLibサポート無しでも使えます。
void * cut_take (void *object,
CutDestroyFunction destroy_function);
オブジェクトの所有権をCutterに渡し、オブジェクト自身を返します。objectはdestroy_funcを用いて破棄されます。
|
Cutterが所有権をもつことになるオブジェクト。 |
|
オブジェクト用の破棄関数。 |
戻り値 : |
Cutterが所有するオブジェクト。解放しないで下さい。 |
1.0.5から
#define cut_take_memory(memory)
メモリの所有権をCutterに渡し、メモリ自身を返します。memoryはfree()で破棄されます。
|
Cutterが所有権を持つことになるメモリ。(void *) |
1.0.5から
#define cut_take_string(string)
文字列の所有権をCutterに渡し、文字列それ自身を返します。
|
Cutterが所有権も持つことになる文字列。 |
#define cut_take_strdup(string)
Duplicates the string, passes ownership of the duplicated string to Cutter and returns the duplicated string.
|
複製される文字列。(const char *) |
1.0.5から
#define cut_take_strndup(string, size)
文字列の先頭sizeバイトを複製し、その所有権ををCutterに渡し、複製された文字列を返します。複製された文字列は常にNULL終端しています。
|
複製される文字列。(const char *) |
|
複製するバイト数。(size_t) |
1.0.5から
#define cut_take_memdup(memory, size)
メモリのsizeバイトを複製し、その所有権をCutterに渡し、複製されたメモリを返します。
|
複製されるメモリ。(void *) |
|
複製するバイト数。(size_t) |
1.0.5から
const char * cut_take_printf (const char *format,
...);
printf()のように文字列を整形しますが、整形された文字列はCutterが所有します。
|
整形文字列。printf()のドキュメントを見てください。 |
|
整形文字列に挿入されるパラメータ。 |
戻り値 : |
Cutterが所有する整形された文字列。解放しないで下さい。 |
char ** cut_take_string_array (char **strings);
配列の所有権をCutterに渡し、stringsそれ自身を返します。
|
Cutterが所有権も持つことになる文字列の配列。 |
戻り値 : |
Cutterが所有する文字列の配列。解放しないで下さい。 |
#define cut_take_diff(from, to)
fromとtoのdiffを計算します。diffの所有者はCutterです。
|
元の文字列。 |
|
修正された文字列。 |
#define cut_take_replace(target, pattern, replacement)
target文字列中で、patternにマッチする部分をreplacementで置き換えます。
|
置換対象の文字列。 |
|
正規表現パターン。(文字列で指定) |
|
マッチした部分を置き換える文字列。 |
1.0.6から
#define cut_append_diff(message, from, to)
fromとtoのdiffを計算し、そのdiffをmessageに追加します。戻り値の文字列の所有者はCutterです。
|
diffが追加される文字列。 |
|
元の文字列。 |
|
修正された文字列。 |
1.0.3から
#define cut_inspect_string_array(strings)
stringsを人が読みやすい文字列に整形します。整形された文字列の所有者はCutterです。
|
対象となる文字列の配列。 |
void cut_set_fixture_data_dir (const char *path,
...);
cut_get_fixture_data_string()などで使われるフィクスチャデータのディレクトリを指定します。
|
フィクスチャデータディレクトリのパスの最初の要素。 |
|
パスの残りの要素。 |
1.0.2から
char * cut_build_fixture_data_path (const char *path,
...);
フィクスチャデータへのパスを生成します。もし、pathが相対パスなら、パスはcut_set_fixture_data_dir()で指定したディレクトリか、現在のディレクトリからの相対パスとして処理されます。
|
フィクスチャデータのパスの最初の要素。 |
|
パスの残りの要素。 |
戻り値 : |
フィクスチャデータのパス。返された文字列が必要なくなったときは開放してください。 |
1.0.2から
#define cut_get_fixture_data_string(path, ...)
"path/..."にあるフィクスチャデータを読み込み、文字列として返します。文字列はCutterが所持します。cut_build_fixture_data_path()の説明にはフィクスチャデータのパスがどのように決定されるかが書かれています。
|
フィクスチャデータのパスの最初の要素。 |
|
パスの残りの要素。 |
1.0.2から
#define cut_remove_path(path, ...)
pathと、その下にあるパスを再帰的に削除します。いかなるエラーも報告しません。
|
削除するパスの最初の要素。 |
|
パスの残りの要素。NULL終端。 |
1.0.2から
cut_boolean cut_equal_string (const char *string1, const char *string2);
string1とstring2を比較します。string1あるいはstring2、または両方がNULLでもかまいません。
1.0.5から
cut_boolean cut_equal_double (double double1, double double2, double error);
double1とdouble2を誤差範囲errorで比較します。
|
浮動小数点値。 |
|
浮動小数点値。 |
|
誤差範囲を示す浮動小数点数。 |
戻り値 : |
|double1 - double2| <= errorならCUT_TRUE、そうでなければCUT_FALSE。 |
1.0.5から