GLibサポート付きの検証

## GLibサポート付きの検証 GLibサポート付きの検証 — GLibサポート付きであなたのプログラムが期待通りに動作しているかを検証します。 |

## 概要

    void                gcut_assert_equal_type              (GType expected,
                                                             GType actual,
                                                             ...);
    void                cut_assert_equal_g_type             (GType expected,
                                                             GType actual,
                                                             ...);
    void                gcut_assert_equal_value             (GValue *expected,
                                                             GValue *actual,
                                                             ...);
    void                cut_assert_equal_g_value            (GValue *expected,
                                                             GValue *actual,
                                                             ...);
    void                gcut_assert_equal_list              (GList *expected,
                                                             GList *actual,
                                                             GEqualFunc equal_function,
                                                             GCutInspectFunction inspect_function,
                                                             gpointer inspect_user_data,
                                                             ...);
    void                gcut_assert_equal_list_int          (GList *expected,
                                                             GList *actual,
                                                             ...);
    void                cut_assert_equal_g_list_int         (GList *expected,
                                                             GList *actual,
                                                             ...);
    void                gcut_assert_equal_list_uint         (GList *expected,
                                                             GList *actual,
                                                             ...);
    void                gcut_assert_equal_list_string       (GList *expected,
                                                             GList *actual,
                                                             ...);
    void                cut_assert_equal_g_list_string      (GList *expected,
                                                             GList *actual,
                                                             ...);
    void                gcut_assert_equal_list_object       (GList *expected,
                                                             GList *actual,
                                                             ...);
    void                gcut_assert_equal_list_object_custom
                                                            (GList *expected,
                                                             GList *actual,
                                                             GEqualFunc equal_function,
                                                             ...);
    void                gcut_assert_equal_list_enum         (GType type,
                                                             GList *expected,
                                                             GList *actual,
                                                             ...);
    void                gcut_assert_equal_list_flags        (GType type,
                                                             GList *expected,
                                                             GList *actual,
                                                             ...);
    void                gcut_assert_equal_hash_table        (GHashTable *expected,
                                                             GHashTable *actual,
                                                             GEqualFunc equal_function,
                                                             GCutInspectFunction key_inspect_function,
                                                             GCutInspectFunction value_inspect_function,
                                                             gpointer inspect_user_data,
                                                             ...);
    void                gcut_assert_equal_hash_table_string_string
                                                            (GHashTable *expected,
                                                             GHashTable *actual,
                                                             ...);
    void                gcut_assert_error                   (GError *error,
                                                             ...);
    void                cut_assert_g_error                  (GError *error,
                                                             ...);
    void                gcut_assert_equal_error             (GError *expected,
                                                             GError *actual,
                                                             ...);
    void                gcut_assert_remove_path             (const gchar *path,
                                                             ...);
    void                cut_assert_remove_path              (const gchar *path,
                                                             ...);
    void                gcut_assert_equal_time_val          (GTimeVal expected,
                                                             GTimeVal actual,
                                                             ...);
    void                gcut_assert_equal_enum              (GType enum_type,
                                                             gint expected,
                                                             gint actual,
                                                             ...);
    void                gcut_assert_equal_flags             (GType flags_type,
                                                             guint expected,
                                                             guint actual,
                                                             ...);
    void                gcut_assert_equal_object            (GObject *expected,
                                                             GObject *actual,
                                                             ...);
    void                gcut_assert_equal_object_custom     (GObject *expected,
                                                             GObject *actual,
                                                             GEqualFunc equal_function,
                                                             ...);
    void                gcut_assert_equal_int64             (gint64 expected,
                                                             gint64 actual,
                                                             ...);
    void                gcut_assert_not_equal_int64         (gint64 expected,
                                                             gint64 actual,
                                                             ...);
    void                gcut_assert_equal_uint64            (guint64 expected,
                                                             guint64 actual,
                                                             ...);
    void                gcut_assert_not_equal_uint64        (guint64 expected,
                                                             guint64 actual,
                                                             ...);
    void                gcut_assert_equal_pid               (GPid expected,
                                                             GPid actual,
                                                             ...);
    void                gcut_assert_not_equal_pid           (GPid expected,
                                                             GPid actual,
                                                             ...);
    void                gcut_assert_equal_string            (GString *expected,
                                                             GString *actual,
                                                             ...);

## 説明

## 詳細

### gcut_assert_equal_type ()

    void                gcut_assert_equal_type              (GType expected,
                                                             GType actual,
                                                             ...);

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

`expected` : | 期待値。
`actual` : | 実測値。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.3から

### cut_assert_equal_g_type ()

    void                cut_assert_equal_g_type             (GType expected,
                                                             GType actual,
                                                             ...);

### Warning

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

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

`expected` : | 期待値。
`actual` : | 実測値。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

### gcut_assert_equal_value ()

    void                gcut_assert_equal_value             (GValue *expected,
                                                             GValue *actual,
                                                             ...);

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

`expected` : | 期待値。
`actual` : | 実測値。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.3から

### cut_assert_equal_g_value ()

    void                cut_assert_equal_g_value            (GValue *expected,
                                                             GValue *actual,
                                                             ...);

### Warning

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

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

`expected` : | 期待値。
`actual` : | 実測値。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

### gcut_assert_equal_list ()

    void                gcut_assert_equal_list              (GList *expected,
                                                             GList *actual,
                                                             GEqualFunc equal_function,
                                                             GCutInspectFunction inspect_function,
                                                             gpointer inspect_user_data,
                                                             ...);

`equal_function`(`expected`, `actual`) == `CUT_TRUE`のときパスします。

`expected` : | 期待するリスト。
`actual` : | 実際のリスト。
`equal_function` : | `expected`リストと`actual`リストの各要素を比較する関数。
`inspect_function` : | `expected`リストと`actual`リスとの詳細を示す関数。
`inspect_user_data` : | `inspect_function`に渡されるデータ。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.6から

### gcut_assert_equal_list_int ()

    void                gcut_assert_equal_list_int          (GList *expected,
                                                             GList *actual,
                                                             ...);

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

`expected` : | 期待する整数のリスト。
`actual` : | 実際の整数のリスト。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.3から

### cut_assert_equal_g_list_int ()

    void                cut_assert_equal_g_list_int         (GList *expected,
                                                             GList *actual,
                                                             ...);

### Warning

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

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

`expected` : | 期待する整数のリスト。
`actual` : | 実際の整数のリスト。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

0.8から

### gcut_assert_equal_list_uint ()

    void                gcut_assert_equal_list_uint         (GList *expected,
                                                             GList *actual,
                                                             ...);

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

`expected` : | 期待する符号無し整数のリスト。
`actual` : | 実際の符号無し整数のリスト。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.3から

### gcut_assert_equal_list_string ()

    void                gcut_assert_equal_list_string       (GList *expected,
                                                             GList *actual,
                                                             ...);

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

`expected` : | 期待する文字列のリスト。
`actual` : | 実際の文字列のリスト。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.3から

### cut_assert_equal_g_list_string ()

    void                cut_assert_equal_g_list_string      (GList *expected,
                                                             GList *actual,
                                                             ...);

### Warning

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

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

`expected` : | 期待する文字列のリスト。
`actual` : | 実際の文字列のリスト。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

0.8から

### gcut_assert_equal_list_object ()

    void                gcut_assert_equal_list_object       (GList *expected,
                                                             GList *actual,
                                                             ...);

`expected`と`actual`が同じGObject *を同じ順番で持っているときパスします。

`expected` : | 期待するGObjectのリスト。
`actual` : | 実際のGObjectのリスト。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.5から

### gcut_assert_equal_list_object_custom ()

    void                gcut_assert_equal_list_object_custom
                                                            (GList *expected,
                                                             GList *actual,
                                                             GEqualFunc equal_function,
                                                             ...);

`expected`と`actual`が等しいGObjectを同じ順序で持っているときパスします。それぞれのGObjectの比較には`equal_function`を使います。

`expected` : | 期待するGObjectのリスト。
`actual` : | 実際のGObjectのリスト。
`equal_function` : | ふたつのGObjectを比較する関数。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.5から

### gcut_assert_equal_list_enum ()

    void                gcut_assert_equal_list_enum         (GType type,
                                                             GList *expected,
                                                             GList *actual,
                                                             ...);

`expected`と`actual`が同じ列挙値を同じ順序で持っているときパスします。

`type` : | GEnumの型。
`expected` : | 期待する列挙値のリスト。
`actual` : | 実際の列挙値のリスト。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.5から

### gcut_assert_equal_list_flags ()

    void                gcut_assert_equal_list_flags        (GType type,
                                                             GList *expected,
                                                             GList *actual,
                                                             ...);

`expected`と`actual`が同じフラグ値を同じ順序で持っているときパスします。

`type` : | GFlagsの型。
`expected` : | 期待するフラグ値のリスト。
`actual` : | 実際のフラグ値のリスト。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.5から

### gcut_assert_equal_hash_table ()

    void                gcut_assert_equal_hash_table        (GHashTable *expected,
                                                             GHashTable *actual,
                                                             GEqualFunc equal_function,
                                                             GCutInspectFunction key_inspect_function,
                                                             GCutInspectFunction value_inspect_function,
                                                             gpointer inspect_user_data,
                                                             ...);

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

`expected` : | 期待する文字列のGHashTable。
`actual` : | 実際の文字列のGHashTable。
`equal_function` : | `expected`ハッシュテーブルと`actual`ハッシュテーブルのそれぞれの値を比較する関数。
`key_inspect_function` : | `expected`ハッシュテーブルと`actual`ハッシュテーブルのそれぞれのキーの詳細を示す関数。
`value_inspect_function` : | `expected`ハッシュテーブルと`actual`ハッシュテーブルのそれぞれの値の詳細を示す関数。
`inspect_user_data` : | `inspect_function`に渡されるデータ。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.6から

### gcut_assert_equal_hash_table_string_string ()

    void                gcut_assert_equal_hash_table_string_string
                                                            (GHashTable *expected,
                                                             GHashTable *actual,
                                                             ...);

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

`expected` : | 期待する文字列のGHashTable。
`actual` : | 実際の文字列のGHashTable。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.4から

### gcut_assert_error ()

    void                gcut_assert_error                   (GError *error,
                                                             ...);

`error` == `NULL`のときパスします。

`error` : | 検証対象のGError。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.3から

### cut_assert_g_error ()

    void                cut_assert_g_error                  (GError *error,
                                                             ...);

### Warning

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

`error` == `NULL`のときパスします。

`error` : | 検証対象のGError。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0から

### gcut_assert_equal_error ()

    void                gcut_assert_equal_error             (GError *expected,
                                                             GError *actual,
                                                             ...);

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

`expected` : | 期待値。
`actual` : | 実測値。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.5から

### gcut_assert_remove_path ()

    void                gcut_assert_remove_path             (const gchar *path,
                                                             ...);

cut_utils_build_path(`path`, ...)の削除に成功するとパスします。

`path` : | 削除するパスの最初の要素。
`...` : | パスの残りの要素。NULL終端。

1.0.3から

### cut_assert_remove_path ()

    void                cut_assert_remove_path              (const gchar *path,
                                                             ...);

### Warning

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

cut_utils_build_path(`path`, ...)の削除に成功するとパスします。

`path` : | 削除するパスの最初の要素。
`...` : | パスの残りの要素。NULL終端。

1.0.2から

### gcut_assert_equal_time_val ()

    void                gcut_assert_equal_time_val          (GTimeVal expected,
                                                             GTimeVal actual,
                                                             ...);

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

`expected` : | 期待値。
`actual` : | 実測値。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.4から

### gcut_assert_equal_enum ()

    void                gcut_assert_equal_enum              (GType enum_type,
                                                             gint expected,
                                                             gint actual,
                                                             ...);

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

例:

    gcut_assert_equal_enum(GTK_TYPE_DIRECTION_TYPE,
                              GTK_DIR_LEFT, GTK_DIR_LEFT); -> パス
    gcut_assert_equal_enum(GTK_TYPE_DIRECTION_TYPE,
                              GTK_DIR_DOWN, GTK_DIR_LEFT); -> 失敗

`enum_type` : | GEnumの型。
`expected` : | 期待値。
`actual` : | 実測値。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.5から

### gcut_assert_equal_flags ()

    void                gcut_assert_equal_flags             (GType flags_type,
                                                             guint expected,
                                                             guint actual,
                                                             ...);

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

例:

    gcut_assert_equal_flags(GTK_TYPE_DIALOG_FLAGS,
                            GTK_DIALOG_DESTROY_MODAL |
                              GTK_DIALOG_DESTROY_WITH_PARENT,
                            GTK_DIALOG_DESTROY_MODAL |
                              GTK_DIALOG_DESTROY_WITH_PARENT); -> パス
    gcut_assert_equal_flags(GTK_TYPE_DIALOG_FLAGS,
                            GTK_DIALOG_DESTROY_MODAL |
                              GTK_DIALOG_DESTROY_WITH_PARENT,
                            GTK_DIALOG_DESTROY_MODAL); -> 失敗

`flags_type` : | GFlagsの型。
`expected` : | 期待値。
`actual` : | 実測値。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.5から

### gcut_assert_equal_object ()

    void                gcut_assert_equal_object            (GObject *expected,
                                                             GObject *actual,
                                                             ...);

`expected` == `actual`のときパスします。等価条件を変更する必要がある場合は`gcut_assert_equal_object_custom()`見てください。

例:

    gcut_assert_equal_object(object, object);   -> パス
    gcut_assert_equal_object(object1, object2); -> 失敗
    gcut_assert_equal_object(NULL, NULL);       -> パス
    gcut_assert_equal_object(object1, NULL);    -> 失敗

`expected` : | 期待値。
`actual` : | 実測値。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.5から

### gcut_assert_equal_object_custom ()

    void                gcut_assert_equal_object_custom     (GObject *expected,
                                                             GObject *actual,
                                                             GEqualFunc equal_function,
                                                             ...);

`equal_function`(`expected`, `actual`) == `CUT_TRUE`のときパスします。

例:

    static gboolean
    equal_name (gconstpointer data1, gconstpointer data2)
    {
        return g_str_equal(my_object_get_name(MY_OBJECT(data1)),
                           my_object_get_name(MY_OBJECT(data2)));
    }

    gcut_assert_equal_object_custom(object, object, equal_name);   -> パス
    gcut_assert_equal_object_custom(same_name_object1,
                                    same_name_object2,
                                    equal_name);                   -> パス
    gcut_assert_equal_object_custom(different_name_object1,
                                    different_name_object2,
                                    equal_name);                   -> 失敗

`expected` : | 期待値。
`actual` : | 実測値。
`equal_function` : | ふたつのオブジェクトを比較する関数。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.5から

### gcut_assert_equal_int64 ()

    void                gcut_assert_equal_int64             (gint64 expected,
                                                             gint64 actual,
                                                             ...);

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

`expected` : | 期待値。
`actual` : | 実測値。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.5から

### gcut_assert_not_equal_int64 ()

    void                gcut_assert_not_equal_int64         (gint64 expected,
                                                             gint64 actual,
                                                             ...);

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

`expected` : | 期待値。
`actual` : | 実測値。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.1.4から

### gcut_assert_equal_uint64 ()

    void                gcut_assert_equal_uint64            (guint64 expected,
                                                             guint64 actual,
                                                             ...);

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

`expected` : | 期待値。
`actual` : | 実測値。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.5から

### gcut_assert_not_equal_uint64 ()

    void                gcut_assert_not_equal_uint64        (guint64 expected,
                                                             guint64 actual,
                                                             ...);

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

`expected` : | 期待値。
`actual` : | 実測値。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.1.4から

### gcut_assert_equal_pid ()

    void                gcut_assert_equal_pid               (GPid expected,
                                                             GPid actual,
                                                             ...);

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

`expected` : | 期待値。
`actual` : | 実測値。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.6から

### gcut_assert_not_equal_pid ()

    void                gcut_assert_not_equal_pid           (GPid expected,
                                                             GPid actual,
                                                             ...);

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

`expected` : | 期待値。
`actual` : | 実測値。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.0.7から

### gcut_assert_equal_string ()

    void                gcut_assert_equal_string            (GString *expected,
                                                             GString *actual,
                                                             ...);

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

`expected` : | 期待値。
`actual` : | 実測値。
`...` : | 追加メッセージ（省略可能）。詳細は`cut_message()`を見てください。

1.1.5から