GHashTable用の検証ユーティリティ 3 Cutterライブラリ
GHashTable用の検証ユーティリティ GHashTableに関する検証をもっと簡単に書くためのユーティリティ。

## 概要

    gboolean            gcut_hash_table_equal               (GHashTable *hash1,
                                                             GHashTable *hash2,
                                                             GEqualFunc equal_func);
    gchar *             gcut_hash_table_inspect             (GHashTable *hash,
                                                             GCutInspectFunction key_inspect_func,
                                                             GCutInspectFunction value_inspect_func,
                                                             gpointer user_data);
    gchar *             gcut_hash_table_inspect_sorted      (GHashTable *hash,
                                                             GCutInspectFunction key_inspect_func,
                                                             GCutInspectFunction value_inspect_func,
                                                             GCompareFunc key_compare_func,
                                                             gpointer user_data);
    gboolean            gcut_hash_table_string_equal        (GHashTable *hash1,
                                                             GHashTable *hash2);
    gchar *             gcut_hash_table_string_string_inspect
                                                            (GHashTable *hash);
    GHashTable *        gcut_hash_table_string_string_copy  (GHashTable *hash);

## 説明

検証を書くためには等価性を検証し、期待値と実測値を表示する必要があります。

このユーティリティはGHashTableに関する検証の作成を補助します。

## 詳細

### gcut_hash_table_equal ()

    gboolean            gcut_hash_table_equal               (GHashTable *hash1,
                                                             GHashTable *hash2,
                                                             GEqualFunc equal_func);

ふたつのGHashTable、hash1とhash2を比較します。equal_funcはhash1とhash2の同じキーに対応する値それぞれについて呼ばれます。

例:

    TODO

hash1 :

  比較するGHashTable。

hash2 :

  比較するGHashTable。

equal_func :

  ふたつの値を比較する関数。

戻り値 :

  同じキーに対応するすべてのhash1とhash2の値がequal_funcでTRUEとなったらTRUE、そうでない場合はFALSE。

1.0.5から

gcut_hash_table_equal

### gcut_hash_table_inspect ()

    gchar *             gcut_hash_table_inspect             (GHashTable *hash,
                                                             GCutInspectFunction key_inspect_func,
                                                             GCutInspectFunction value_inspect_func,
                                                             gpointer user_data);

hashの詳細を返します。hashの各キーはkey_inspect_funcで詳細化し、hashの各値はvalue_inspect_funcで詳細化します。返された文字列が必要なくなったときは開放してください。

例:

    TODO

hash :

  詳細を示すGHashTable。

key_inspect_func :

  各キーの詳細を示す関数。

value_inspect_func :

  各値の詳細を示す関数。

user_data :

  関数に渡すユーザ用データ。

戻り値 :

  hashの詳細を示した文字列。

1.0.5から

gcut_hash_table_inspect

### gcut_hash_table_inspect_sorted ()

    gchar *             gcut_hash_table_inspect_sorted      (GHashTable *hash,
                                                             GCutInspectFunction key_inspect_func,
                                                             GCutInspectFunction value_inspect_func,
                                                             GCompareFunc key_compare_func,
                                                             gpointer user_data);

key_compare_funcを使ってキーを基準にしてhashを並び替えて、その詳細を返します。hashの各キーはkey_inspect_funcで詳細化し、hashの各値はvalue_inspect_funcで詳細化します。返された文字列が必要なくなったときは開放してください。

key_compare_funcが`NULL`ならhashを並び替えません。これは`gcut_hash_table_inspect()`と同じ動作です。

例:

    TODO

hash :

  並び替えて詳細を示すGHashTable。

key_inspect_func :

  各キーの詳細を示す関数。

value_inspect_func :

  各値の詳細を示す関数。

key_compare_func :

  各キーを比較する関数。

user_data :

  関数に渡すユーザ用データ。

戻り値 :

  hashを並び替えて詳細を示した文字列。

1.0.9から

gcut_hash_table_inspect_sorted

### gcut_hash_table_string_equal ()

    gboolean            gcut_hash_table_string_equal        (GHashTable *hash1,
                                                             GHashTable *hash2);

ふたつのGHashTable、hash1とhash2を比較します。hash1とhash2は文字列のキーと文字列の値を持っていなければいけません。

hash1 :

  比較するGHashTable。

hash2 :

  比較するGHashTable。

戻り値 :

  hash1とhash2の同じキーの値それぞれすべてが同じ内容の文字列の場合TRUE、そうでない場合はFALSE。

1.0.5から

gcut_hash_table_string_equal

### gcut_hash_table_string_string_inspect ()

    gchar *             gcut_hash_table_string_string_inspect
                                                            (GHashTable *hash);

hashの詳細を返します。hashは文字列のキーと文字列の値を持っていなければいけません。返された文字列が必要なくなったときは開放してください。

hash :

  詳細を示すGHashTable。

戻り値 :

  hashの詳細を示した文字列。

1.0.5から

gcut_hash_table_string_string_inspect

### gcut_hash_table_string_string_copy ()

    GHashTable *        gcut_hash_table_string_string_copy  (GHashTable *hash);

hashを複製します。hashは文字列のキーと文字列の値を持っていなければいけません。返されたhashは`g_hash_table_unref()`で開放しなければいけません。

hash :

  複製するGHashTable。

戻り値 :

  複製されたGHashTable。必要がなくなったら開放しなければいけません。

1.0.8から

gcut_hash_table_string_string_copy