![]() |
![]() |
![]() |
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から