GHashTable用の検証ユーティリティ

## GHashTable用の検証ユーティリティ 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_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_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_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_string_inspect ()

    gchar *             gcut_hash_table_string_string_inspect
                                                            (GHashTable *hash);

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

`hash` : | 詳細を示すGHashTable。
戻り値 : | `hash`の詳細を示した文字列。

1.0.5から

### 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から