| Cutterリファレンスマニュアル | ||||
|---|---|---|---|---|
| Top | 説明 | ||||
void gcut_add_datum (const gchar *name,const gchar *first_field_name,...); gboolean gcut_data_get_boolean (gconstpointer data,const gchar *field_name); gconstpointer gcut_data_get_boxed (gconstpointer data,const gchar *field_name); #define gcut_data_get_char (data, field_name) gdouble gcut_data_get_double (gconstpointer data,const gchar *field_name); gint gcut_data_get_enum (gconstpointer data,const gchar *field_name); guint gcut_data_get_flags (gconstpointer data,const gchar *field_name); gint gcut_data_get_int (gconstpointer data,const gchar *field_name); #define gcut_data_get_int64 (data, field_name) GObject * gcut_data_get_object (gconstpointer data,const gchar *field_name); gconstpointer gcut_data_get_pointer (gconstpointer data,const gchar *field_name); #define gcut_data_get_size (data, field_name) const gchar * gcut_data_get_string (gconstpointer data,const gchar *field_name); guint gcut_data_get_uint (gconstpointer data,const gchar *field_name); #define gcut_data_get_uint64 (data, field_name) gboolean gcut_data_has_field (gconstpointer data,const gchar *field_name);
cut_add_data()で複雑なテストデータを使用したい場合はテストデータ用にデータ型を定義する必要があります。しかし、それは少し面倒です。gcut_add_datum()はデータ型を定義せずに複雑なテストデータを使用するためのAPIを提供します。このAPIは複雑なデータを扱うためにGTypeを使います。
void gcut_add_datum (const gchar *name,const gchar *first_field_name,...);
データ駆動テスト用のデータを追加します。複雑なテストデータのために新しく構造体を定義する必要がないため、cut_add_data()よりも便利です。
例:
#include <gcutter.h>
void data_translate (void);
void test_translate (gconstpointer data);
static const gchar*
translate (gint input)
{
switch(input) {
case 1:
return "first";
case 111:
return "a hundred eleven";
default:
return "unsupported";
}
}
void
data_translate(void)
{
gcut_add_datum("simple data",
"translated", G_TYPE_STRING, "first",
"input", G_TYPE_INT, 1,
NULL);
gcut_add_datum("complex data",
"translated", G_TYPE_STRING, "a hundred eleven",
"input", G_TYPE_INT, 111,
NULL);
}
void
test_translate(gconstpointer data)
{
cut_assert_equal_string(gcut_data_get_string(data, "translated"),
translate(gcut_data_get_int(data, "input")));
}
利用可能な型とその時の値は以下の通りです。
|
gcharの値。 例:
gcut_add_datum("data name",
"field-name", G_TYPE_CHAR, 'X',
NULL);
|
|
|
const gchar *value 例:
gcut_add_datum("data name",
"field-name", G_TYPE_STRING, "string value",
NULL);
|
|
|
gintの値。 例:
gcut_add_datum("data name",
"field-name", G_TYPE_INT, 100,
NULL);
|
|
|
guintの値。 例:
gcut_add_datum("data name",
"field-name", G_TYPE_UINT, 100,
NULL);
|
|
|
gint64の値。 例:
gcut_add_datum("data name",
"field-name", G_TYPE_INT64, G_GINT64_CONSTANT(100),
NULL);
|
|
|
guint64の値。 例:
gcut_add_datum("data name",
"field-name", G_TYPE_UINT64, G_GUINT64_CONSTANT(100),
NULL);
|
|
|
GTypeの値。 例:
gcut_add_datum("data name",
"field-name", G_TYPE_GTYPE, G_TYPE_OBJECT,
NULL);
|
|
GFlagsの型 |
その型の値。 例:
gcut_add_datum("data name",
"field-name", GTK_TYPE_WIDGET_FLAGS, GTK_TOPLEVEL | GTK_MAPPED,
NULL);
|
GEnumの型 |
その型の値。 例:
gcut_add_datum("data name",
"field-name", GTK_TYPE_WRAP_MODE, GTK_WRAP_NONE,
NULL);
|
|
gconstpointer value, GDestroyNotify notify valueが破棄されるときにnotifyが呼ばれます。 例:
gcut_add_datum("data name",
"field-name", G_TYPE_POINTER, my_structure_new(...), my_structure_free,
NULL);
注意: 値の所有者はCutterになります。解放しないで下さい。 |
|
GBoxedの型 |
その型の値。 例:
gcut_add_datum("data name",
"field-name", G_TYPE_HASH_TABLE,
gcut_hash_table_string_string_new("name1", "value1",
"name2", "value2",
NULL),
NULL);
注意: 値の所有者はCutterになります。解放しないで下さい。 |
|
gbooleanの値。 例:
gcut_add_datum("data name",
"field-name", G_TYPE_BOOLEAN, TRUE,
NULL);
|
|
|
gdoubleの値。 例:
gcut_add_datum("data name",
"field-name", G_TYPE_DOUBLE, 2.9,
NULL);
|
|
データの名前。 |
|
最初のフィールド名。 |
|
最初のフィールドの型と値。その後に、フィールドの名前と型と値の3つを任意の数だけ指定します。最後の引数はNULLにしてください。詳細は関数の説明文のところにあります。 |
1.0.6から
gboolean gcut_data_get_boolean (gconstpointer data,const gchar *field_name);
field_nameの値を真偽値として取得します。
|
gcut_add_datum()で追加したデータ。 |
|
フィールド名。 |
戻り値 : |
field_nameに対応するフィールドの値。 |
1.1.3から
gconstpointer gcut_data_get_boxed (gconstpointer data,const gchar *field_name);
field_nameフィールドの値をGBoxed型の値として取得します。
|
gcut_add_datum()で追加したデータ。 |
|
フィールド名。 |
戻り値 : |
field_nameに対応するフィールドの値。 |
1.0.7から
#define gcut_data_get_char(data, field_name)
field_nameフィールドの値を文字として取得します。
|
gcut_add_datum()で追加したデータ。 |
|
フィールド名。 |
戻り値 : |
field_nameに対応するフィールドの値。 |
1.1.3から
gdouble gcut_data_get_double (gconstpointer data,const gchar *field_name);
field_nameの値を倍精度浮動小数点数として取得します。
|
gcut_add_datum()で追加したデータ。 |
|
フィールド名。 |
戻り値 : |
field_nameに対応するフィールドの値。 |
1.1.3から
gint gcut_data_get_enum (gconstpointer data,const gchar *field_name);
field_nameフィールドの値をGEnum型の整数として取得します。
|
gcut_add_datum()で追加したデータ。 |
|
フィールド名。 |
戻り値 : |
field_nameに対応するフィールドの値。 |
1.0.6から
guint gcut_data_get_flags (gconstpointer data,const gchar *field_name);
field_nameの値をGFlags型の符号なし整数として取得します。
|
gcut_add_datum()で追加したデータ。 |
|
フィールド名。 |
戻り値 : |
field_nameに対応するフィールドの値。 |
1.0.6から
gint gcut_data_get_int (gconstpointer data,const gchar *field_name);
field_nameフィールドの値を整数として取得します。
|
gcut_add_datum()で追加したデータ。 |
|
フィールド名。 |
戻り値 : |
field_nameに対応するフィールドの値。 |
1.0.6から
#define gcut_data_get_int64(data, field_name)
field_nameフィールドの値を64bit整数として取得します。
|
gcut_add_datum()で追加したデータ。 |
|
フィールド名。 |
戻り値 : |
field_nameに対応するフィールドの値。 |
1.1.3から
GObject * gcut_data_get_object (gconstpointer data,const gchar *field_name);
field_nameフィールドの値をGObjectとして取得します。
|
gcut_add_datum()で追加したデータ。 |
|
フィールド名。 |
戻り値 : |
field_nameに対応するフィールドの値。 |
1.1.1から
gconstpointer gcut_data_get_pointer (gconstpointer data,const gchar *field_name);
field_nameの値をポインタとして取得します。
|
gcut_add_datum()で追加したデータ。 |
|
フィールド名。 |
戻り値 : |
field_nameに対応するフィールドの値。 |
1.0.6から
#define gcut_data_get_size(data, field_name)
field_nameフィールドの値をsize_tとして取得します。
|
gcut_add_datum()で追加したデータ。 |
|
フィールド名。 |
戻り値 : |
field_nameに対応するフィールドの値。 |
1.1.3から
const gchar * gcut_data_get_string (gconstpointer data,const gchar *field_name);
field_nameフィールドの値を文字列として取得します。
|
gcut_add_datum()で追加したデータ。 |
|
フィールド名。 |
戻り値 : |
field_nameに対応するフィールドの値。 |
1.0.6から
guint gcut_data_get_uint (gconstpointer data,const gchar *field_name);
field_nameの値を符号なし整数として取得します。
|
gcut_add_datum()で追加したデータ。 |
|
フィールド名。 |
戻り値 : |
field_nameに対応するフィールドの値。 |
1.0.6から
#define gcut_data_get_uint64(data, field_name)
field_nameの値を64bit符号なし整数として取得します。
|
gcut_add_datum()で追加したデータ。 |
|
フィールド名。 |
戻り値 : |
field_nameに対応するフィールドの値。 |
1.1.3から
gboolean gcut_data_has_field (gconstpointer data,const gchar *field_name);
|
gcut_add_datum()で追加したデータ。 |
|
フィールド名。 |
戻り値 : |
dataにfield_nameフィールドがあればTRUE、そうでなければFALSE。 |
1.1.5から