検証

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

概要




#define             cut_error                           (format, ...)
#define             cut_fail                            (format, ...)
#define             cut_pending                         (format, ...)
#define             cut_notify                          (format, ...)
#define             cut_assert                          (expression, ...)
#define             cut_assert_null                     (expression, ...)
#define             cut_assert_not_null                 (expression, ...)
#define             cut_assert_equal_int                (expected, actual, ...)
#define             cut_assert_equal_double             (expected, error, actual, ...)
#define             cut_assert_equal_string             (expected, actual, ...)
#define             cut_assert_equal_string_or_null     (expected, actual, ...)
#define             cut_assert_equal_memory             (expected, expected_size,
                                                         actual, actual_size, ...)
#define             cut_assert_equal_string_array       (expected, actual, ...)
#define             cut_assert_operator                 (lhs, operator, rhs, ...)
#define             cut_assert_operator_int             (lhs, operator, rhs, ...)
#define             cut_assert_equal                    (function, expected, actual, ...)

説明

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

例:

cut_assert_equal_int(3, 1 + 2);

詳細

cut_error()

#define             cut_error(format, ...)

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

format :

整形文字列。printf()のドキュメントを見てください。

... :

整形文字列に挿入されるパラメータ。

cut_fail()

#define             cut_fail(format, ...)

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

format :

整形文字列。printf()のドキュメントを見てください。

... :

整形文字列に挿入されるパラメータ。

cut_pending()

#define             cut_pending(format, ...)

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

format :

整形文字列。printf()のドキュメントを見てください。

... :

整形文字列に挿入されるパラメータ。

cut_notify()

#define             cut_notify(format, ...)

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

format :

整形文字列。printf()のドキュメントを見てください。

... :

整形文字列に挿入されるパラメータ。

cut_assert()

#define             cut_assert(expression, ...)

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

expression :

チェックする式。

... :

省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf()と同じ)

cut_assert_null()

#define             cut_assert_null(expression, ...)

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

expression :

チェックする式。

... :

省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf()と同じ)

cut_assert_not_null()

#define             cut_assert_not_null(expression, ...)

expressionがNULLではないときにパスします。

expression :

チェックする式。

... :

省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf()と同じ)

cut_assert_equal_int()

#define             cut_assert_equal_int(expected, actual, ...)

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

expected :

期待する整数の値。

actual :

実際の整数の値。

... :

省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf()と同じ)

cut_assert_equal_double()

#define             cut_assert_equal_double(expected, error, actual, ...)

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

expected :

期待される浮動小数点数。

error :

誤差範囲を示す浮動小数点数。

actual :

実際の浮動小数点数。

... :

省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf()と同じ)

cut_assert_equal_string()

#define             cut_assert_equal_string(expected, actual, ...)

expectedactualがどちらともNULLではなく、strcmp(expected, actual) == 0が成り立つときパスします。

expected :

期待される文字列。

actual :

期待される文字列。

... :

省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf()と同じ)

cut_assert_equal_string_or_null()

#define             cut_assert_equal_string_or_null(expected, actual, ...)

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

expected :

期待される文字列。

actual :

期待される文字列。

... :

省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf()と同じ)

cut_assert_equal_memory()

#define             cut_assert_equal_memory(expected, expected_size,                \
                                            actual, actual_size, ...)

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

expected :

期待するデータ。

expected_size :

expectedのサイズ。

actual :

実際のデータ。

actual_size :

actualのサイズ。

... :

省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf()と同じ)

cut_assert_equal_string_array()

#define             cut_assert_equal_string_array(expected, actual, ...)

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

expected :

期待する文字列の配列。配列はNULL終端。

actual :

実際の文字列の配列。配列はNULL終端。

... :

省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf()と同じ)

cut_assert_operator()

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

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

例:

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

lhs :

左辺値。

operator :

二項演算子。

rhs :

右辺値。

... :

省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf()と同じ)

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()と同じ)

cut_assert_equal()

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

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

例:

cut_assert_equal(!strcmp, "abc", "abc") -> Pass

function :

actualexpectedを比較する関数。

expected :

期待値。

actual :

実測値。

... :

省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf()と同じ)