## 検証 検証 — あなたのプログラムが期待通りに動作しているかを検証します。 |

## 概要

    void                cut_assert                          (cut_boolean expression,
                                                             ...);
    void                cut_assert_true                     (cut_boolean expression,
                                                             ...);
    void                cut_assert_false                    (cut_boolean expression,
                                                             ...);
    void                cut_assert_equal_boolean            (cut_boolean expected,
                                                             cut_boolean actual);
    void                cut_assert_not_equal_boolean        (cut_boolean expected,
                                                             cut_boolean actual);
    void                cut_assert_null                     (const void *expression,
                                                             ...);
    void                cut_assert_null_string              (const char *string,
                                                             ...);
    void                cut_assert_not_null                 (const void *expression,
                                                             ...);
    void                cut_assert_equal_int                (int expected,
                                                             int actual,
                                                             ...);
    void                cut_assert_not_equal_int            (int expected,
                                                             int actual);
    void                cut_assert_equal_uint               (unsigned int expected,
                                                             unsigned int actual,
                                                             ...);
    void                cut_assert_not_equal_uint           (unsigned int expected,
                                                             unsigned int actual);
    void                cut_assert_equal_size               (size_t expected,
                                                             size_t actual,
                                                             ...);
    void                cut_assert_not_equal_size           (size_t expected,
                                                             size_t actual);
    void                cut_assert_equal_double             (double expected,
                                                             double error,
                                                             double actual,
                                                             ...);
    void                cut_assert_not_equal_double         (double expected,
                                                             double error,
                                                             double actual);
    void                cut_assert_equal_string             (const char *expected,
                                                             const char *actual,
                                                             ...);
    void                cut_assert_not_equal_string         (const char *expected,
                                                             const char *actual);
    void                cut_assert_equal_string_with_free   (const char *expected,
                                                             const char *actual,
                                                             ...);
    void                cut_assert_equal_string_or_null     (const char *expected,
                                                             const char *actual,
                                                             ...);
    void                cut_assert_equal_substring          (const char *expected,
                                                             const char *actual,
                                                             size_t length);
    void                cut_assert_not_equal_substring      (const char *expected,
                                                             const char *actual,
                                                             size_t length);
    void                cut_assert_equal_memory             (const void *expected,
                                                             size_t expected_size,
                                                             const void *actual,
                                                             size_t actual_size,
                                                             ...);
    void                cut_assert_not_equal_memory         (const void *expected,
                                                             size_t expected_size,
                                                             const void *actual,
                                                             size_t actual_size);
    void                cut_assert_equal_string_array       (char **expected,
                                                             char **actual,
                                                             ...);
    void                cut_assert_equal_string_array_with_free
                                                            (char **expected,
                                                             char **actual,
                                                             ...);
    #define             cut_assert_operator                 (lhs, operator, rhs, ...)
    #define             cut_assert_operator_int             (lhs, operator, rhs, ...)
    #define             cut_assert_operator_uint            (lhs, operator, rhs, ...)
    #define             cut_assert_operator_size            (lhs, operator, rhs, ...)
    #define             cut_assert_operator_double          (lhs, operator, rhs, ...)
    #define             cut_assert_equal                    (function, expected, actual, ...)
    void                cut_assert_errno                    (...);
    void                cut_assert_file_exist               (const char *path,
                                                             ...);
    void                cut_assert_path_exist               (const char *path,
                                                             ...);
    void                cut_assert_path_not_exist           (const char *path,
                                                             ...);
    void                cut_assert_match                    (const char *pattern,
                                                             const char *actual,
                                                             ...);
    void                cut_assert_match_with_free          (const char *pattern,
                                                             const char *actual,
                                                             ...);
    void                cut_assert_equal_pointer            (const void *expected,
                                                             const void *actual,
                                                             ...);
    void                cut_assert_equal_fixture_data_string
                                                            (const char *expected,
                                                             const void *path,
                                                             ...);
    void                cut_error                           (const char *format,
                                                             ...);
    void                cut_error_errno                     (...);
    void                cut_fail                            (const char *format,
                                                             ...);
    void                cut_pend                            (const char *format,
                                                             ...);
    void                cut_pending                         (const char *format,
                                                             ...);
    void                cut_notify                          (const char *format,
                                                             ...);
    void                cut_omit                            (const char *format,
                                                             ...);
    void                cut_return                          (void);

## 説明

あなたのプログラムが期待通りに動作しているかを検証するために、期待した値が得られていることを検証したい箇所で`cut_assert_XXX()`を使います。

例:

    cut_assert_equal_int(3, 1 + 2);

## 詳細

### cut_assert ()

    void                cut_assert                          (cut_boolean expression,
                                                             ...);

`expression`が0でも`NULL`でもないとパスします。

`expression` : | チェックする式。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

### cut_assert_true ()

    void                cut_assert_true                     (cut_boolean expression,
                                                             ...);

`expression`が`CUT_TRUE`のとき（0でも`NULL`でもないとき）パスします。

`expression` : | チェックする式。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

0.9から

### cut_assert_false ()

    void                cut_assert_false                    (cut_boolean expression,
                                                             ...);

`expression`が0または`NULL`のときパスします。

`expression` : | チェックする式。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

0.9から

### cut_assert_equal_boolean ()

    void                cut_assert_equal_boolean            (cut_boolean expected,
                                                             cut_boolean actual);

`expected`と`actual`が両方とも`CUT_TRUE`の値か、両方とも`CUT_FALSE`の値のときパスします。

例:

    cut_assert_equal_boolean(CUT_TRUE, CUT_TRUE);   -> パス
    cut_assert_equal_boolean(CUT_FALSE, CUT_FALSE); -> パス
    cut_assert_equal_boolean(CUT_TRUE, CUT_FALSE);  -> 失敗

`expected` : | 期待する真偽値。
`actual` : | 実際の真偽値。

1.0.7から

### cut_assert_not_equal_boolean ()

    void                cut_assert_not_equal_boolean        (cut_boolean expected,
                                                             cut_boolean actual);

`expected`が`CUT_TRUE`の値だが`actual`は`CUT_FALSE`の値のとき、または、`expected`が`CUT_FALSE`の値だが`actual`は`CUT_TRUE`の値のときにパスします。

例:

    cut_assert_not_equal_boolean(CUT_TRUE, CUT_TRUE);   -> 失敗
    cut_assert_not_equal_boolean(CUT_FALSE, CUT_FALSE); -> 失敗
    cut_assert_not_equal_boolean(CUT_TRUE, CUT_FALSE);  -> パス

`expected` : | 期待する真偽値。
`actual` : | 実際の真偽値。

1.0.7から

### cut_assert_null ()

    void                cut_assert_null                     (const void *expression,
                                                             ...);

`expression`が`NULL`のときパスします。

`expression` : | チェックする式。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

### cut_assert_null_string ()

    void                cut_assert_null_string              (const char *string,
                                                             ...);

`string`が`NULL`のときパスします。

`string` : | チェックする文字列。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

0.3から

### cut_assert_not_null ()

    void                cut_assert_not_null                 (const void *expression,
                                                             ...);

`expression`が`NULL`以外のときパスします。

`expression` : | チェックする式。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

### cut_assert_equal_int ()

    void                cut_assert_equal_int                (int expected,
                                                             int actual,
                                                             ...);

`expected` == `actual`が成り立つときパスします。

`expected` : | 期待する整数の値。
`actual` : | 実際の整数の値。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

### cut_assert_not_equal_int ()

    void                cut_assert_not_equal_int            (int expected,
                                                             int actual);

`expected` != `actual`が成り立つときパスします。

`expected` : | 期待する整数の値。
`actual` : | 実際の整数の値。

1.0.7から

### cut_assert_equal_uint ()

    void                cut_assert_equal_uint               (unsigned int expected,
                                                             unsigned int actual,
                                                             ...);

`expected` == `actual`が成り立つときパスします。

`expected` : | 期待する符号無し整数の値。
`actual` : | 実際の符号無し符号整数の値。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

### cut_assert_not_equal_uint ()

    void                cut_assert_not_equal_uint           (unsigned int expected,
                                                             unsigned int actual);

`expected` != `actual`が成り立つときパスします。

`expected` : | 期待する符号無し整数の値。
`actual` : | 実際の符号無し符号整数の値。

1.0.7から

### cut_assert_equal_size ()

    void                cut_assert_equal_size               (size_t expected,
                                                             size_t actual,
                                                             ...);

`expected` == `actual`が成り立つときパスします。

`expected` : | 期待するsize_tの値。
`actual` : | 実際のsize_tの値。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

1.0.6から

### cut_assert_not_equal_size ()

    void                cut_assert_not_equal_size           (size_t expected,
                                                             size_t actual);

`expected` != `actual`が成り立つときパスします。

`expected` : | 期待するsize_tの値。
`actual` : | 実際のsize_tの値。

1.0.7から

### cut_assert_equal_double ()

    void                cut_assert_equal_double             (double expected,
                                                             double error,
                                                             double actual,
                                                             ...);

(`expected` - `error`) <= `actual` <= (`expected` + `error`)が成り立つときパスします。

`expected` : | 期待する浮動小数点数。
`error` : | 誤差範囲を示す浮動小数点数。
`actual` : | 実際の浮動小数点数。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

### cut_assert_not_equal_double ()

    void                cut_assert_not_equal_double         (double expected,
                                                             double error,
                                                             double actual);

`actual` < (`expected` - `error`) && (`expected` + `error`) < `actual`が成り立つときパスします。

`expected` : | 期待する浮動小数点数。
`error` : | 誤差範囲を示す浮動小数点数。
`actual` : | 実際の浮動小数点数。

1.0.7から

### cut_assert_equal_string ()

    void                cut_assert_equal_string             (const char *expected,
                                                             const char *actual,
                                                             ...);

`expected`と`actual`がどちらとも`NULL`、あるいはstrcmp(`expected`, `actual`) == 0が成り立つときにパスします。

例:

    cut_assert_equal_string("abc", "abc"); -> パス
    cut_assert_equal_string(NULL, NULL);   -> パス
    cut_assert_equal_string("abc", "ABC"); -> 失敗
    cut_assert_equal_string("abc", NULL);  -> 失敗
    cut_assert_equal_string(NULL, "abc");  -> 失敗

`expected` : | 期待する文字列。
`actual` : | 実際の文字列の値。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

### cut_assert_not_equal_string ()

    void                cut_assert_not_equal_string         (const char *expected,
                                                             const char *actual);

`expected`か`actual`のどちらかが`NULL`のとき、または、strcmp(`expected`, `actual`) != 0のときパスします。

例:

    cut_assert_equal_string("abc", "ABC"); -> パス
    cut_assert_equal_string("abc", NULL);  -> パス
    cut_assert_equal_string(NULL, "abc");  -> パス
    cut_assert_equal_string("abc", "abc"); -> 失敗
    cut_assert_equal_string(NULL, NULL);   -> 失敗

`expected` : | 期待する文字列。
`actual` : | 実際の文字列の値。

1.0.7から

### cut_assert_equal_string_with_free ()

    void                cut_assert_equal_string_with_free   (const char *expected,
                                                             const char *actual,
                                                             ...);

`expected`と`actual`がどちらとも`NULL`、あるいはstrcmp(`expected`, `actual`) == 0が成り立つときにパスします。

使用例は`cut_assert_equal_string()`を見てください。

`expected` : | 期待する文字列。
`actual` : | 実際の文字列の値。（チェック後に開放される）
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

0.3から

### cut_assert_equal_string_or_null ()

    void                cut_assert_equal_string_or_null     (const char *expected,
                                                             const char *actual,
                                                             ...);

### 警告

`cut_assert_equal_string_or_null`はバージョン0.3から非推奨になりました。新しく書くコードでは使わないでください。代わりに`cut_assert_equal_string()`を使ってください。

`expected`と`actual`がどちらとも`NULL`、あるいはstrcmp(`expected`, `actual`) == 0が成り立つときにパスします。

`expected` : | 期待する文字列。
`actual` : | 実際の文字列の値。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

### cut_assert_equal_substring ()

    void                cut_assert_equal_substring          (const char *expected,
                                                             const char *actual,
                                                             size_t length);

(1)`expected`と`actual`が両方とも`NULL`で`length` == 1が成り立つとき、または、(2) strncmp(`expected`, `actual`, `length`) == 0が成り立つときパスします。

例:

    cut_assert_equal_substring("abcdef", "abcDEF", 3); -> パス
    cut_assert_equal_substring(NULL, NULL, 0);         -> パス
    cut_assert_equal_substring(NULL, NULL, 3);         -> 失敗
    cut_assert_equal_substring("abc", "ABC", 3);       -> 失敗
    cut_assert_equal_substring("abc", NULL, 3);        -> 失敗
    cut_assert_equal_substring(NULL, "abc", 3);        -> 失敗

`expected` : | 期待する文字列。
`actual` : | 実際の文字列の値。
`length` : | compared string length.

1.0.7から

### cut_assert_not_equal_substring ()

    void                cut_assert_not_equal_substring      (const char *expected,
                                                             const char *actual,
                                                             size_t length);

(1) `expected`と`actual`のどちらかが`NULL`、または、(2) strncmp(`expected`, `actual`, `length`) != 0が成り立つときパスします。

例:

    cut_assert_not_equal_substring("abc", "ABC", 3);       -> パス
    cut_assert_not_equal_substring("abc", NULL, 3);        -> パス
    cut_assert_not_equal_substring(NULL, "abc", 3);        -> パス
    cut_assert_not_equal_substring("abcdef", "abcDEF", 3); -> 失敗
    cut_assert_not_equal_substring(NULL, NULL, 0);         -> 失敗
    cut_assert_not_equal_substring(NULL, NULL, 3);         -> 失敗

`expected` : | 期待する文字列。
`actual` : | 実際の文字列の値。
`length` : | compared string length.

1.0.7から

### cut_assert_equal_memory ()

    void                cut_assert_equal_memory             (const void *expected,
                                                             size_t expected_size,
                                                             const void *actual,
                                                             size_t actual_size,
                                                             ...);

`expected_size` == `actual_size`が成り立ち、かつ、memcmp(`expected`, `actual`, `expected_size`) == 0が成り立つときにパスします。

`expected` : | 期待するデータ。
`expected_size` : | `expected`のサイズ。
`actual` : | 実際のデータ。
`actual_size` : | `actual`のサイズ。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

### cut_assert_not_equal_memory ()

    void                cut_assert_not_equal_memory         (const void *expected,
                                                             size_t expected_size,
                                                             const void *actual,
                                                             size_t actual_size);

`expected_size` != `actual_size`またはmemcmp(`expected`, `actual`, `expected_size`) != 0が成り立つときパスします。

`expected` : | 期待するデータ。
`expected_size` : | `expected`のサイズ。
`actual` : | 実際のデータ。
`actual_size` : | `actual`のサイズ。

1.0.7から

### cut_assert_equal_string_array ()

    void                cut_assert_equal_string_array       (char **expected,
                                                             char **actual,
                                                             ...);

`expected`と`actual`がどちらとも`NULL`ではなく、どちらも同じ内容の文字列(`strcmp()` == 0)を持つときにパスします。

`expected` : | 期待する文字列の配列。配列は`NULL`終端。
`actual` : | 実際の文字列の配列。配列は`NULL`終端。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

### cut_assert_equal_string_array_with_free ()

    void                cut_assert_equal_string_array_with_free
                                                            (char **expected,
                                                             char **actual,
                                                             ...);

`expected`と`actual`がどちらとも`NULL`ではなく、どちらも同じ内容の文字列(`strcmp()` == 0)を持つときにパスします。

`expected` : | 期待する文字列の配列。配列は`NULL`終端。
`actual` : | 実際の文字列の配列。配列は`NULL`終端。（チェック後に開放される）
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

0.9から

### cut_assert_operator()

    #define             cut_assert_operator(lhs, operator, rhs, ...)

(`lhs` `operator` `rhs`)が真のときにパスします。

例:

    cut_assert_operator(1, <, 2) -> (1 < 2);

`lhs` : | 左辺値。
`operator` : | 二項演算子。
`rhs` : | 右辺値。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

### cut_assert_operator_int()

    #define             cut_assert_operator_int(lhs, operator, rhs, ...)

(`lhs` `operator` `rhs`)が真のときにパスします。

例:

    cut_assert_operator_int(1, <, 2) -> (1 < 2);

`lhs` : | 左辺の整数の値。
`operator` : | 二項演算子。
`rhs` : | 右辺の整数の値。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

### cut_assert_operator_uint()

    #define             cut_assert_operator_uint(lhs, operator, rhs, ...)

(`lhs` `operator` `rhs`)が真のときにパスします。

例:

    cut_assert_operator_uint(1, <, 2) -> (1 < 2);

`lhs` : | 左辺の符号無し整数の値。
`operator` : | 二項演算子。
`rhs` : | 右辺の符号無し整数の値。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

1.0.5から

### cut_assert_operator_size()

    #define             cut_assert_operator_size(lhs, operator, rhs, ...)

(`lhs` `operator` `rhs`)が真のときにパスします。

例:

    cut_assert_operator_size(1, <, 2) -> (1 < 2);

`lhs` : | 左辺のsize_tの値。
`operator` : | 二項演算子。
`rhs` : | 右辺のsize_tの値。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

1.0.5から

### cut_assert_operator_double()

    #define             cut_assert_operator_double(lhs, operator, rhs, ...)

(`lhs` `operator` `rhs`)が真のときにパスします。

例:

    cut_assert_operator_double(1.1, <, 2.2) -> (1.1 < 2.2);

`lhs` : | 左辺の浮動小数点値。
`operator` : | 二項演算子。
`rhs` : | 右辺の浮動小数点値。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

1.0.5から

### cut_assert_equal()

    #define             cut_assert_equal(function, expected, actual, ...)

`function`(`expected`, `actual`)が`CUT_TRUE`を返すときパスします。

例:

    cut_assert_equal(!strcmp, "abc", "abc"); -> パス

`function` : | `actual`と`expected`を比較する関数。
`expected` : | 期待値。
`actual` : | 実測値。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

### cut_assert_errno ()

    void                cut_assert_errno                    (...);

errnoが0だとパスします。

例:

    count = write(stdout, buffer, strlen(buffer));
    cut_assert_errno("Failed to write");            -> count != -1のときパス

`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

0.8から

### cut_assert_file_exist ()

    void                cut_assert_file_exist               (const char *path,
                                                             ...);

### 警告

`cut_assert_file_exist`はバージョン1.0.2から非推奨になりました。新しく書くコードでは使わないでください。代わりに`cut_assert_path_exist()`を使ってください。

`path`が存在するときにパスします。普通のファイルかもしれませんし、そうでないかもしれません。（例えばシンボリックリンクやディレクトリなど）

例:

    cut_assert_file_exist("/tmp");             -> 多くの環境ではパス
    cut_assert_file_exist("/non-existent");    -> 失敗

`path` : | テストするパス。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

0.9から

### cut_assert_path_exist ()

    void                cut_assert_path_exist               (const char *path,
                                                             ...);

`path`が存在するときにパスします。普通のファイルかもしれませんし、そうでないかもしれません。（例えばシンボリックリンクやディレクトリなど）

例:

    cut_assert_path_exist("/tmp");             -> 多くの環境ではパス
    cut_assert_path_exist("/non-existent");    -> 失敗

`path` : | テストするパス。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

1.0.2から

### cut_assert_path_not_exist ()

    void                cut_assert_path_not_exist           (const char *path,
                                                             ...);

`path`が存在しないとパスします。

例:

    cut_assert_path_not_exist("/non-existent");    -> 多くの環境ではパス
    cut_assert_path_not_exist("/tmp");             -> 失敗

`path` : | テストするパス。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

1.0.2から

### cut_assert_match ()

    void                cut_assert_match                    (const char *pattern,
                                                             const char *actual,
                                                             ...);

`pattern`が`string`にマッチしたときパスします。

例:

    cut_assert_match("^abc", "abc");            -> パス
    cut_assert_match("^abc", " abc");           -> 失敗

`pattern` : | 正規表現。
`actual` : | マッチされる文字列。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

1.0から

### cut_assert_match_with_free ()

    void                cut_assert_match_with_free          (const char *pattern,
                                                             const char *actual,
                                                             ...);

`pattern`が`string`にマッチしたときパスします。詳細は

`pattern` : | 正規表現。（文字列で指定）
`actual` : | マッチされる文字列。（チェック後に開放される）
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

1.0から

### cut_assert_equal_pointer ()

    void                cut_assert_equal_pointer            (const void *expected,
                                                             const void *actual,
                                                             ...);

`expected` == `actual`が成り立つときパスします。

`expected` : | 期待するポインタ。
`actual` : | 実際のポインタ。
`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

1.0から

### cut_assert_equal_fixture_data_string ()

    void                cut_assert_equal_fixture_data_string
                                                            (const char *expected,
                                                             const void *path,
                                                             ...);

`expected` == cut_get_fixture_data_string(`path`, ...)が成り立つときパスします。

`expected` : | 期待する文字列。
`path` : | フィクスチャデータのパスの最初の要素。
`...` : | パスの残りの要素。`NULL`終端。

1.0.2から

### cut_error ()

    void                cut_error                           (const char *format,
                                                             ...);

メッセージ付きでエラーを発生させます。

`format` : | 整形文字列。`printf()`のドキュメントを見てください。
`...` : | 整形文字列に挿入されるパラメータ。

### cut_error_errno ()

    void                cut_error_errno                     (...);

例:

    void
    setup (void)
    {
        mkdir("tmp", 0700);
        cut_error_errno("Failed to make tmp directory");
          -> Error when tmp directory isn't made successfully.
    }

`...` : | 省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。（`printf()`と同じ。）このパラメータは0.1.6から非推奨となっています。代わりに`cut_set_message()`を使ってください。

1.0.2から

### cut_fail ()

    void                cut_fail                            (const char *format,
                                                             ...);

メッセージ付きでテストを失敗させます。

`format` : | 整形文字列。`printf()`のドキュメントを見てください。
`...` : | 整形文字列に挿入されるパラメータ。

### cut_pend ()

    void                cut_pend                            (const char *format,
                                                             ...);

メッセージ付きでこのテストが未解決であると印を付けます。テストはここで中断します。

`format` : | 整形文字列。`printf()`のドキュメントを見てください。
`...` : | 整形文字列に挿入されるパラメータ。

### cut_pending ()

    void                cut_pending                         (const char *format,
                                                             ...);

### 警告

`cut_pending`はバージョン0.4から非推奨になりました。新しく書くコードでは使わないでください。代わりに`cut_pend()`を使ってください。

メッセージ付きでこのテストが未解決であると印を付けます。テストはここで中断します。

`format` : | 整形文字列。`printf()`のドキュメントを見てください。
`...` : | 整形文字列に挿入されるパラメータ。

### cut_notify ()

    void                cut_notify                          (const char *format,
                                                             ...);

通知用のメッセージを残します。テストは続行します。

`format` : | 整形文字列。`printf()`のドキュメントを見てください。
`...` : | 整形文字列に挿入されるパラメータ。

### cut_omit ()

    void                cut_omit                            (const char *format,
                                                             ...);

このテストを省略します。

例:

    if (version < 2.0)
      cut_omit("Require >= 2.0");

`format` : | 整形文字列。`printf()`のドキュメントを見てください。
`...` : | 整形文字列に挿入されるパラメータ。

0.8から

### cut_return ()

    void                cut_return                          (void);

このテストを終了します。

例:

    static void
    sub_xxx (void)
    {
      some_assertions();
      if (no_need_more_test)
        cut_return();
      some_assertions();
    }

    void
    test_xxx (void)
    {
       some_assertions();
       cut_trace(sub_xxx());
       some_assertions();
    }

1.0.6から